import { Controller, Post, Body, Put, Get} from '@nestjs/common'; import { AssignService } from './assign.service'; import { CreateAssignDto } from './dto/create-assign.dto'; import { Authenticated, RequireModule, RequireSomePermission } from 'src/decorators/authentication.decorator'; import { RequestUser, User } from 'src/decorators/user.decorator'; import { DADOSFERA_MODULES_KEYS, PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { PackTheMetadata } from 'src/utils/PackTheMetadata'; @Controller('assign') @Authenticated() export class AssignController { constructor(private readonly assignService: AssignService) {} @Put('/public-key') @RequireSomePermission( PERMISSIONS_GROUPS.USERS.permissions.ADMIN ) @RequireModule(DADOSFERA_MODULES_KEYS.EMBED_ASSIGNED) create(@Body() createAssignDto: CreateAssignDto, @User() user: RequestUser) { const metadata = PackTheMetadata(user); return this.assignService.create(createAssignDto, metadata); } @Get('/public-key') @RequireSomePermission( PERMISSIONS_GROUPS.USERS.permissions.ADMIN ) @RequireModule(DADOSFERA_MODULES_KEYS.EMBED_ASSIGNED) async get(@User() user: RequestUser) { const metadata = PackTheMetadata(user); return await this.assignService.get(metadata); } }