Merge pull request #10 from HamzaSha1/feat/tasks-default-logo

feat: seed default task logos
This commit is contained in:
abdalhamid99
2024-12-12 11:22:20 +03:00
committed by GitHub
4 changed files with 54 additions and 1 deletions

View File

@ -20,4 +20,13 @@ export class LookupController {
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)));
}
}

View File

@ -0,0 +1,41 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
import { v4 as uuid } from 'uuid';
import { Document } from '~/document/entities';
import { DocumentType } from '~/document/enums';
const DEFAULT_TASK_LOGOS = [
{
id: uuid(),
name: 'bed-furniture',
extension: '.jpg',
documentType: DocumentType.DEFAULT_TASKS_LOGO,
},
{
id: uuid(),
name: 'dog',
extension: '.jpg',
documentType: DocumentType.DEFAULT_TASKS_LOGO,
},
{
id: uuid(),
name: 'dish-washing',
extension: '.jpg',
documentType: DocumentType.DEFAULT_TASKS_LOGO,
},
{
id: uuid(),
name: 'walking-the-dog',
extension: '.jpg',
documentType: DocumentType.DEFAULT_TASKS_LOGO,
},
];
export class SeedsDefaultTasksLogo1733990253208 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.manager.getRepository(Document).save(DEFAULT_TASK_LOGOS);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await DEFAULT_TASK_LOGOS.forEach(async (logo) => {
await queryRunner.manager.getRepository(Document).delete({ name: logo.name, documentType: logo.documentType });
});
}
}

View File

@ -9,3 +9,4 @@ export * from './1733732021622-create-guardian-entity';
export * from './1733748083604-create-theme-entity';
export * from './1733750228289-seed-default-avatar';
export * from './1733904556416-create-task-entities';
export * from './1733990253208-seeds-default-tasks-logo';

View File

@ -24,7 +24,9 @@ export class DocumentController {
},
documentType: {
type: 'string',
enum: Object.values(DocumentType),
enum: Object.values(DocumentType).filter(
(value) => ![DocumentType.DEFAULT_AVATAR, DocumentType.DEFAULT_TASKS_LOGO].includes(value),
),
},
},
required: ['document', 'documentType'],