import { Request, Response } from 'express'; import { DyFM_HttpCallType } from '@futdevpro/fsm-dynamo'; import { DyFM_testModule_settings, DyFM_TestRoute } from '@futdevpro/fsm-dynamo/test'; import { DyNTS_Endpoint_Params } from '../../_models/control-models/endpoint-params.control-model'; import { DyNTS_GlobalService } from '../../_services/core/global.service'; import { DyNTS_Controller } from '../../_services/route/controller.service'; export class DyNTS_Test_Controller extends DyNTS_Controller { static getInstance(): DyNTS_Test_Controller { return DyNTS_Test_Controller.getSingletonInstance(); } setupEndpoints(): void { this.endpoints = [ // TESTS new DyNTS_Endpoint_Params({ name: 'testGet', type: DyFM_HttpCallType.get, endpoint: DyFM_testModule_settings.endPoints[DyFM_TestRoute.testGet], tasks: [ async (req: Request, res: Response): Promise => { res.send({ url: req.url, result: 'test-get call was successful!', request: req.body, }); }, ], }), new DyNTS_Endpoint_Params({ name: 'testPost', type: DyFM_HttpCallType.post, endpoint: DyFM_testModule_settings.endPoints[DyFM_TestRoute.testPost], tasks: [ async (req: Request, res: Response): Promise => { res.send({ url: req.url, result: 'test-post call was successful!', request: req.body, }); }, ], }), /* new DyNTS_Endpoint_Params({ name: 'testPut', type: DyFM_HttpCallType.put, endpoint: DyFM_testModule_settings.endPoints[DyFM_TestRoute.testPut], tasks: [ async (req: Request, res: Response): Promise => { res.send({ url: req.url, result: 'test-put call was successful!', request: req.body, }); }, ], }), */ /* new DyNTS_Endpoint_Params({ name: 'testPatch', type: DyFM_HttpCallType.patch, endpoint: DyFM_testModule_settings.endPoints[DyFM_TestRoute.testPatch], tasks: [ async (req: Request, res: Response): Promise => { res.send({ url: req.url, result: 'test-patch call was successful!', request: req.body, }); }, ], }), */ new DyNTS_Endpoint_Params({ name: 'testDelete', type: DyFM_HttpCallType.delete, endpoint: DyFM_testModule_settings.endPoints[DyFM_TestRoute.testDelete], tasks: [ async (req: Request, res: Response): Promise => { res.send({ url: req.url, result: 'test-delete call was successful!', request: req.body, }); }, ], }), new DyNTS_Endpoint_Params({ name: 'getServerStatus', type: DyFM_HttpCallType.get, endpoint: DyFM_testModule_settings.endPoints[DyFM_TestRoute.getServerStatus], tasks: [ async (req: Request, res: Response): Promise => { res.send({ status: 'ready', version: DyNTS_GlobalService.params.version, upTime: DyNTS_GlobalService.upTime, }); }, ], }), ]; } }