MCPcopy Create free account
hub / github.com/SOS-RS/backend / SessionsController

Class SessionsController

src/sessions/sessions.controller.ts:21–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19@ApiTags('Sessões')
20@Controller('sessions')
21export class SessionsController {
22 private logger = new Logger(SessionsController.name);
23
24 constructor(private readonly sessionService: SessionsService) {}
25
26 @Post('')
27 async login(
28 @Body() body,
29 @Headers('x-real-ip') ip: string,
30 @Headers('user-agent') userAgent: string,
31 ) {
32 try {
33 const data = await this.sessionService.login({ ...body, ip, userAgent });
34 return new ServerResponse(200, 'Successfully logged in', data);
35 } catch (err: any) {
36 this.logger.error(`Failed to login ${err}`);
37 throw new HttpException(
38 err?.message ?? err?.code ?? err?.name ?? `${err}`,
39 400,
40 );
41 }
42 }
43
44 @Get('')
45 @UseGuards(UserGuard)
46 async show(@Request() req) {
47 try {
48 const { userId } = req.user;
49 const data = await this.sessionService.show(userId);
50 return new ServerResponse(200, 'Successfully logged in', data);
51 } catch (err: any) {
52 this.logger.error(`Failed to login ${err}`);
53 throw new HttpException(err?.code ?? err?.name ?? `${err}`, 400);
54 }
55 }
56
57 @Delete('')
58 @UseGuards(UserGuard)
59 async delete(@Request() req) {
60 try {
61 const data = await this.sessionService.delete(req.user);
62 return new ServerResponse(200, 'Successfully logged out', data);
63 } catch (err: any) {
64 this.logger.error(`Failed to logged out ${err}`);
65 throw new HttpException(err?.code ?? err?.name ?? `${err}`, 400);
66 }
67 }
68}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected