Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import { Controller, Get, Post, UseGuards, HttpCode, HttpStatus, } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth, } from '@nestjs/swagger'; import { OnboardingService } from './onboarding.service'; import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard'; import { CurrentUser } from '../auth/decorators/current-user.decorator'; import { RequestUser } from '../auth/strategies/jwt.strategy'; import { OnboardingStatusDto, CompleteOnboardingResponseDto } from './dto'; @ApiTags('onboarding') @Controller('onboarding') @UseGuards(JwtAuthGuard) @ApiBearerAuth() export class OnboardingController { constructor(private readonly onboardingService: OnboardingService) {} @Get('status') @ApiOperation({ summary: 'Get onboarding status for current tenant' }) @ApiResponse({ status: 200, description: 'Current onboarding status', type: OnboardingStatusDto, }) @ApiResponse({ status: 401, description: 'Unauthorized' }) async getStatus(@CurrentUser() user: RequestUser): Promise<OnboardingStatusDto> { return this.onboardingService.getStatus(user.tenant_id); } @Post('complete') @HttpCode(HttpStatus.OK) @ApiOperation({ summary: 'Complete the onboarding process' }) @ApiResponse({ status: 200, description: 'Onboarding completed successfully', type: CompleteOnboardingResponseDto, }) @ApiResponse({ status: 400, description: 'Bad request - Invalid tenant state' }) @ApiResponse({ status: 401, description: 'Unauthorized' }) async completeOnboarding( @CurrentUser() user: RequestUser, ): Promise<CompleteOnboardingResponseDto> { return this.onboardingService.completeOnboarding(user.tenant_id, user.id); } } |