feat: update junior

This commit is contained in:
Abdalhameed Ahmad
2025-09-07 09:12:14 +03:00
parent 88730a2b2b
commit edddc2f457
4 changed files with 60 additions and 3 deletions

View File

@ -1,4 +1,4 @@
import { Body, Controller, Get, Param, Post, Query, UseGuards } from '@nestjs/common';
import { Body, Controller, Get, Param, Patch, Post, Query, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { Roles } from '~/auth/enums';
import { IJwtPayload } from '~/auth/interfaces';
@ -8,7 +8,7 @@ import { ApiDataPageResponse, ApiDataResponse, ApiLangRequestHeader } from '~/co
import { PageOptionsRequestDto } from '~/core/dtos';
import { CustomParseUUIDPipe } from '~/core/pipes';
import { ResponseFactory } from '~/core/utils';
import { CreateJuniorRequestDto, SetThemeRequestDto } from '../dtos/request';
import { CreateJuniorRequestDto, SetThemeRequestDto, UpdateJuniorRequestDto } from '../dtos/request';
import { JuniorResponseDto, QrCodeValidationResponseDto, ThemeResponseDto } from '../dtos/response';
import { JuniorService } from '../services';
@ -59,6 +59,20 @@ export class JuniorController {
return ResponseFactory.data(new JuniorResponseDto(junior));
}
@Patch(':juniorId')
@UseGuards(RolesGuard)
@AllowedRoles(Roles.GUARDIAN)
@ApiDataResponse(JuniorResponseDto)
async updateJunior(
@AuthenticatedUser() user: IJwtPayload,
@Param('juniorId', CustomParseUUIDPipe) juniorId: string,
@Body() body: UpdateJuniorRequestDto,
) {
const junior = await this.juniorService.updateJunior(juniorId, body, user.sub);
return ResponseFactory.data(new JuniorResponseDto(junior));
}
@Post('set-theme')
@UseGuards(RolesGuard)
@AllowedRoles(Roles.JUNIOR)