From c2949ba06aad39e3ebd52e41a5925cb0b8bc7820 Mon Sep 17 00:00:00 2001 From: mahyargdz Date: Wed, 23 Apr 2025 14:36:20 +0330 Subject: [PATCH] chore: add cover url field to the danak service entity --- src/common/enums/message.enum.ts | 2 ++ src/modules/danak-services/DTO/create-service.dto.ts | 5 +++++ .../danak-services/entities/danak-service.entity.ts | 2 ++ .../danak-services/providers/danak-services.service.ts | 7 ++----- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/common/enums/message.enum.ts b/src/common/enums/message.enum.ts index 8091317..d4159ee 100755 --- a/src/common/enums/message.enum.ts +++ b/src/common/enums/message.enum.ts @@ -195,6 +195,8 @@ export const enum ServiceMessage { REVIEW_STATUS_REQUIRED = "وضعیت نظر سرویس مورد نیاز است", SHOW_IN_SLIDER_REQUIRED = "وضعیت نمایش در اسلایدر سرویس مورد نیاز است", SHOW_IN_SLIDER_BOOLEAN = "وضعیت نمایش در اسلایدر سرویس باید یک بولین باشد", + COVER_URL_REQUIRED = "آدرس عکس کاور سرویس مورد نیاز است", + COVER_URL_SHOULD_BE_URL = "آدرس عکس کاور سرویس باید یک آدرس یو آر ال باشد", } export const enum AnnouncementMessage { diff --git a/src/modules/danak-services/DTO/create-service.dto.ts b/src/modules/danak-services/DTO/create-service.dto.ts index ead030a..b361ae5 100755 --- a/src/modules/danak-services/DTO/create-service.dto.ts +++ b/src/modules/danak-services/DTO/create-service.dto.ts @@ -97,4 +97,9 @@ export class CreateServiceDto { @IsString({ each: true }) @ApiProperty({ description: "The images of the service", example: ["https://example.com/image1.png", "https://example.com/image2.png"] }) images: string[]; + + @IsNotEmpty({ message: ServiceMessage.COVER_URL_REQUIRED }) + @IsUrl({ protocols: ["http", "https"], require_protocol: true }, { message: ServiceMessage.COVER_URL_SHOULD_BE_URL }) + @ApiProperty({ description: "The cover url of the service", example: "https://example.com/cover.png" }) + coverUrl: string; } diff --git a/src/modules/danak-services/entities/danak-service.entity.ts b/src/modules/danak-services/entities/danak-service.entity.ts index c7ea278..a9242f1 100755 --- a/src/modules/danak-services/entities/danak-service.entity.ts +++ b/src/modules/danak-services/entities/danak-service.entity.ts @@ -54,6 +54,8 @@ export class DanakService extends BaseEntity { @Column({ type: "varchar", length: 255, nullable: false }) icon: string; + @Column({ type: "varchar", length: 255, nullable: true }) + coverUrl: string; //------------------------------------- @ManyToOne(() => DanakServiceCategory, (danakServiceCategory) => danakServiceCategory.danakServices, { nullable: false, diff --git a/src/modules/danak-services/providers/danak-services.service.ts b/src/modules/danak-services/providers/danak-services.service.ts index 9609973..37111c3 100755 --- a/src/modules/danak-services/providers/danak-services.service.ts +++ b/src/modules/danak-services/providers/danak-services.service.ts @@ -382,7 +382,7 @@ export class DanakServicesService { async getDanakServicesSlider() { const danakServices = await this.danakServicesRepository.find({ where: { showInSlider: true, isActive: true, deletedAt: IsNull(), category: { isActive: true, deletedAt: IsNull() } }, - relations: { category: true, images: true }, + relations: { category: true }, select: { id: true, name: true, @@ -394,15 +394,12 @@ export class DanakServicesService { isActive: true, isDanakSuggest: true, showInSlider: true, + coverUrl: true, metaDescription: true, category: { id: true, title: true, }, - images: { - id: true, - imageUrl: true, - }, }, order: { createdAt: "DESC" }, withDeleted: false,