Files
backend/src/modules/investments/tbank-connection/tbank-connection.controller.ts
T
ksv741 e7f75ebda1
Backend verify / commits (pull_request) Successful in 1m28s
Backend verify / security (pull_request) Canceled after 0s
Backend verify / verify (pull_request) Canceled after 0s
refactor: replace deep imports with native node aliases (WealthLedger/backend#165)
2026-11-04 14:28:52 +03:00

60 lines
1.4 KiB
TypeScript

import type { Request } from 'express';
import {
Body,
Controller,
Delete,
Get,
HttpCode,
HttpStatus,
Put,
Req,
UseGuards,
} from '@nestjs/common';
import {
ApiBearerAuth,
ApiNoContentResponse,
ApiOkResponse,
ApiTags,
} from '@nestjs/swagger';
import { ApiProblemResponses } from '#src/common/decorators/api-safe-error-response.decorator';
import { AccessPayload, JwtAuthGuard } from '../../auth/auth.api';
import {
PutTbankConnectionDto,
TbankConnectionStatusDto,
} from './tbank-connection.dto';
import { TbankConnectionService } from './tbank-connection.service';
@ApiTags('tbank-connection')
@ApiProblemResponses()
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Controller('tbank-connection')
export class TbankConnectionController {
constructor(private readonly connection: TbankConnectionService) {}
@Get()
@ApiOkResponse({ type: TbankConnectionStatusDto })
status(@Req() request: Request & { user: AccessPayload }) {
return this.connection.status(request.user.sub);
}
@Put()
@ApiOkResponse({ type: TbankConnectionStatusDto })
put(
@Req() request: Request & { user: AccessPayload },
@Body() body: PutTbankConnectionDto,
) {
return this.connection.put(request.user.sub, body.token);
}
@Delete()
@HttpCode(HttpStatus.NO_CONTENT)
@ApiNoContentResponse()
delete(@Req() request: Request & { user: AccessPayload }): Promise<void> {
return this.connection.delete(request.user.sub);
}
}