From 76a08622648302a07b19a3cdf5547df5665fd428 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Mon, 16 Mar 2026 09:48:16 +0330 Subject: [PATCH] add extra validation for rent --- src/common/enums/message.enum.ts | 2 ++ src/modules/companies/DTO/create-company.dto.ts | 3 +++ src/modules/companies/services/companies.service.ts | 10 ++++++++++ 3 files changed, 15 insertions(+) diff --git a/src/common/enums/message.enum.ts b/src/common/enums/message.enum.ts index 24a031a..2256b5d 100755 --- a/src/common/enums/message.enum.ts +++ b/src/common/enums/message.enum.ts @@ -530,6 +530,8 @@ export const enum IndustryMessage { } export const enum CompanyMessage { + RENT_CONTRACT_IMAGE_IS_REQUIRED="تصویر اجاره نامه الزامی است", + RENT_END_IS_REQUIRED="تاریخ پایان قرارداد الزامی است", ADDRESS_MUST_BE_STRING = "آدرس شرکت باید یک رشته باشد", ADDRESS_REQUIRED = "آدرس شرکت مورد نیاز است", CHIEF_EXECUTIVE_MUST_BE_STRING = "نام مدیرعامل باید یک رشته باشد", diff --git a/src/modules/companies/DTO/create-company.dto.ts b/src/modules/companies/DTO/create-company.dto.ts index b7d1bf0..5663077 100644 --- a/src/modules/companies/DTO/create-company.dto.ts +++ b/src/modules/companies/DTO/create-company.dto.ts @@ -141,6 +141,9 @@ export class CreateCompanyRequestDto extends PickType(CreateCompanyDto, [ "products", "services", "metrage", + "isRented", + "rentContractImages", + "rentEndAt" ]) { @IsNotEmpty({ message: CompanyMessage.CHIEF_EXECUTIVE_REQUIRED }) @IsString({ message: CompanyMessage.CHIEF_EXECUTIVE_MUST_BE_STRING }) diff --git a/src/modules/companies/services/companies.service.ts b/src/modules/companies/services/companies.service.ts index 2a67faf..27a55d4 100644 --- a/src/modules/companies/services/companies.service.ts +++ b/src/modules/companies/services/companies.service.ts @@ -413,6 +413,16 @@ export class CompaniesService { //----------------------------------- private async createCompany(createDto: CreateCompanyDto | CreateCompanyRequestDto, user: User, business: Business, em: EntityManager) { + if (createDto.isRented) { + if (!createDto.rentEndAt) { + throw new BadRequestException(CompanyMessage.RENT_END_IS_REQUIRED) + } + + if (!createDto.rentContractImages?.length) { + throw new BadRequestException(CompanyMessage.RENT_CONTRACT_IMAGE_IS_REQUIRED) + } + } + const industry = await em.findOne(Industry, { id: createDto.industryId, deletedAt: null }); if (!industry) throw new BadRequestException(IndustryMessage.INDUSTRY_NOT_FOUND);