import { Controller, IController } from '../src'; interface ITest { firstName: string; lastName: string; age: number; } @Controller('[GET]', '/login') export class TestController extends IController { async call(server) { return server.signToken({ id: 1, name: 'test' }); } } @Controller('[GET]', 'testAuth', true) export class Test2Controller extends IController { async call(server) { return server.ok({ auth: true }); } } @Controller('[POST]', '/testPost') export class Test3Controller extends IController { async call(server) { const data = await server.getBody(); console.log(data); return server.ok(data); } } @Controller('[WS]', '/testws') export class TestWSController extends IController { async call(server) { server.ws.getId(); console.log('Connected', server.ws.getId()); server.ws.onMessage((id, payload) => { payload = payload.toString(); console.log('onMessage', id, payload); server.ws.sendTo(id, 'onMessage'); if (payload === 'all') server.ws.sendAll('onMessage'); if (payload === 'add') server.ws.addToGroup('test', id); if (payload === 'group') server.ws.sendToGroup('test', 'onMessage'); }); server.ws.onClose((id) => { console.log('Disconnected', id); }); return server.ok(); } }