import type { Request } from 'express'; import { Controller, Get, Req, UseGuards } from '@nestjs/common'; import { ApiBearerAuth, ApiOkResponse, ApiTags } from '@nestjs/swagger'; import { ApiProblemResponses } from '#src/common/decorators/api-safe-error-response.decorator'; import { AccessPayload, JwtAuthGuard } from '../../auth/auth.api'; import { BrokerageAccountsResourceDto } from './brokerage-account.dto'; import { BrokerageAccountsService } from './brokerage-accounts.service'; @ApiTags('brokerage-accounts') @ApiProblemResponses() @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Controller('brokerage-accounts') export class BrokerageAccountsController { constructor(private readonly accounts: BrokerageAccountsService) {} @Get() @ApiOkResponse({ type: BrokerageAccountsResourceDto }) list(@Req() request: Request & { user: AccessPayload }) { return this.accounts.list(request.user.sub); } }