import { Controller, Get, UseGuards } from '@nestjs/common'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { AccessTokenGuard } from '~/common/guards'; import { ApiDataArrayResponse } from '~/core/decorators'; import { ResponseFactory } from '~/core/utils'; import { DocumentMetaResponseDto } from '~/document/dtos/response'; import { LookupService } from '../services'; @Controller('lookup') @ApiTags('Lookups') @ApiBearerAuth() export class LookupController { constructor(private readonly lookupService: LookupService) {} @UseGuards(AccessTokenGuard) @Get('default-avatars') @ApiDataArrayResponse(DocumentMetaResponseDto) async findDefaultAvatars() { const avatars = await this.lookupService.findDefaultAvatar(); return ResponseFactory.dataArray(avatars.map((avatar) => new DocumentMetaResponseDto(avatar))); } @UseGuards(AccessTokenGuard) @Get('default-task-logos') @ApiDataArrayResponse(DocumentMetaResponseDto) async findDefaultTaskLogos() { const avatars = await this.lookupService.findDefaultTasksLogo(); return ResponseFactory.dataArray(avatars.map((avatar) => new DocumentMetaResponseDto(avatar))); } }