fix: prohibit adding barname for expired contracts

This commit is contained in:
2026-03-16 10:02:29 +03:30
parent 76a0862264
commit 02a7979c6b
2 changed files with 11 additions and 0 deletions
+1
View File
@@ -532,6 +532,7 @@ export const enum IndustryMessage {
export const enum CompanyMessage {
RENT_CONTRACT_IMAGE_IS_REQUIRED="تصویر اجاره نامه الزامی است",
RENT_END_IS_REQUIRED="تاریخ پایان قرارداد الزامی است",
RENT_CONTRACT_IS_EXPIRED="تاریخ قرارداد پایان یافته است",
ADDRESS_MUST_BE_STRING = "آدرس شرکت باید یک رشته باشد",
ADDRESS_REQUIRED = "آدرس شرکت مورد نیاز است",
CHIEF_EXECUTIVE_MUST_BE_STRING = "نام مدیرعامل باید یک رشته باشد",
+10
View File
@@ -12,6 +12,7 @@ import { BarnameStatus } from "./enums/bill-type.enum";
import { UpdateBarnameAsWatcherDto } from "./dto/update-barname-watcher.dto";
import { RoleEnum } from "../users/enums/role.enum";
import { User } from "../users/entities/user.entity";
import dayjs from "dayjs";
@Injectable()
@@ -30,6 +31,15 @@ export class BarnameService {
const company = await this.em.findOne(Company, { business, user: { id: userId }, deletedAt: null });
if (!company) throw new BadRequestException(CompanyMessage.COMPANY_NOT_FOUND);
if (company.isRented) { // validate for rented company
if (!company.rentEndAt) {
throw new BadRequestException(CompanyMessage.RENT_END_IS_REQUIRED)
}
if (dayjs().isAfter(company.rentEndAt)) {
throw new BadRequestException(CompanyMessage.RENT_CONTRACT_IS_EXPIRED)
}
}
const bill = this.em.create(Barname,
{
carType,