import { authGuard } from '../authGuard.js' export const mappings = [ { method: 'get', url:'/agent-types/:family', handler: 'getAgentTypes', middlewares: [authGuard]}, { method: 'get', url:'/agent-sprites/:group', handler: 'getAgentSprites', middlewares: [authGuard]}, { method: 'get', url:'/agent/:id', handler: 'getAgentProps', middlewares: [authGuard]}, ] export const methods = { async getAgentTypes(req, res) { let results if(req.params.family){ results = await this.db.execute(` SELECT * FROM p42SIM.agent_types WHERE atp_fam_name = ? `, [req.params.family]) } else { results = await this.db.execute(`SELECT * FROM p42SIM.agent_types`, []) } this.ok(req, res, { agentTypes : results }) }, async getAgentSprites(req, res) { //TODO implement group & family filtering const results = await this.db.execute(` SELECT atp_id, atp_name, asp_3d FROM p42SIM.agent_types LEFT JOIN p42GUI.agents_sprites on asp_atp_id = atp_id WHERE asp_group = ?`, [req.params.group]) const fullObj = {} for(const row of results){ fullObj[row.atp_name] = row.asp_3d } this.ok(req, res, { agentSprites: results }) }, async getAgentProps(req, res) { let results if(req.params.id){ results = await this.db.execute(` SELECT * FROM p42SIM.agent_types WHERE atp_id = ? `, [req.params.id]) } else { this.err(req, res, `Invalid request`, `Missing Agent ID`, 401) return } if(results.length==0){ this.err(req, res, `Agent not found !`, `Unknown Agent ID (${req.params.id})`, 401) return } this.ok(req, res, { agentProperties : results[0] }) }, }