From f4c73732cb766982f59814ec6552f91f1734189a Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sun, 15 Mar 2026 10:57:16 +0330 Subject: [PATCH] catalogues count --- src/modules/business/business.controller.ts | 2 +- src/modules/business/business.service.ts | 7 ++++--- .../dto/{create-business.dto.ts => setup-business.dto.ts} | 6 +++++- src/modules/business/dto/update-business.dto.ts | 2 +- src/modules/business/entities/business.entity.ts | 8 ++++++-- 5 files changed, 17 insertions(+), 8 deletions(-) rename src/modules/business/dto/{create-business.dto.ts => setup-business.dto.ts} (82%) diff --git a/src/modules/business/business.controller.ts b/src/modules/business/business.controller.ts index 487bc12..9932dd8 100644 --- a/src/modules/business/business.controller.ts +++ b/src/modules/business/business.controller.ts @@ -1,6 +1,6 @@ import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards, Query } from '@nestjs/common'; import { BusinessService } from './business.service'; -import { SetupBusinessDto } from './dto/create-business.dto'; +import { SetupBusinessDto } from './dto/setup-business.dto'; import { SuperAdminAuthGuard } from '../auth/guards/superAdminAuth.guard'; import { FindBusinessesDto } from './dto/find-businesses.dto'; // import { UpdateBusinessDto } from './dto/update-business.dto'; diff --git a/src/modules/business/business.service.ts b/src/modules/business/business.service.ts index 27046cc..932d481 100644 --- a/src/modules/business/business.service.ts +++ b/src/modules/business/business.service.ts @@ -1,5 +1,5 @@ import { Injectable, NotFoundException } from '@nestjs/common'; -import { SetupBusinessDto } from './dto/create-business.dto'; +import { SetupBusinessDto } from './dto/setup-business.dto'; import { UpdateBusinessDto } from './dto/update-business.dto'; import { EntityManager } from '@mikro-orm/postgresql'; import { Business } from './entities/business.entity'; @@ -16,13 +16,14 @@ export class BusinessService { ) { } async setupAccount(dto: SetupBusinessDto) { - const { danakSubscriptionId, name, phone, slug, firstName, lastName } = dto + const { danakSubscriptionId, name, phone, slug, firstName, lastName, maxCataloguesCount } = dto const business = await this.em.transactional(async (em) => { const business = em.create(Business, { danakSubscriptionId, name, - slug + slug, + maxCataloguesCount }) const admin = em.create(Admin, { diff --git a/src/modules/business/dto/create-business.dto.ts b/src/modules/business/dto/setup-business.dto.ts similarity index 82% rename from src/modules/business/dto/create-business.dto.ts rename to src/modules/business/dto/setup-business.dto.ts index 7b8f762..6295f5d 100644 --- a/src/modules/business/dto/create-business.dto.ts +++ b/src/modules/business/dto/setup-business.dto.ts @@ -1,4 +1,4 @@ -import { IsNotEmpty, IsOptional, IsString, } from 'class-validator'; +import { IsInt, IsNotEmpty, IsOptional, IsString, } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; export class SetupBusinessDto { @@ -29,4 +29,8 @@ export class SetupBusinessDto { @IsString() lastName?: string; + @IsInt() + @ApiProperty() + maxCataloguesCount: number; + } diff --git a/src/modules/business/dto/update-business.dto.ts b/src/modules/business/dto/update-business.dto.ts index 50f8225..0d4380b 100644 --- a/src/modules/business/dto/update-business.dto.ts +++ b/src/modules/business/dto/update-business.dto.ts @@ -1,4 +1,4 @@ import { PartialType } from '@nestjs/swagger'; -import { SetupBusinessDto } from './create-business.dto'; +import { SetupBusinessDto } from './setup-business.dto'; export class UpdateBusinessDto extends PartialType(SetupBusinessDto) { } diff --git a/src/modules/business/entities/business.entity.ts b/src/modules/business/entities/business.entity.ts index 639df46..decb16a 100644 --- a/src/modules/business/entities/business.entity.ts +++ b/src/modules/business/entities/business.entity.ts @@ -1,5 +1,7 @@ -import { Cascade, Collection, Entity, EntityRepositoryType, - OneToMany, OneToOne, Opt, Property, Unique } from "@mikro-orm/core"; +import { + Cascade, Collection, Entity, EntityRepositoryType, + OneToMany, OneToOne, Opt, Property, Unique +} from "@mikro-orm/core"; import { BaseEntity } from "../../../common/entities/base.entity"; import { Catalogue } from "src/modules/catalogue/entities/catalogue.entity"; import { BusinessRepository } from "../repositories/business.repository"; @@ -32,6 +34,8 @@ export class Business extends BaseEntity { @Property({ type: "varchar", length: 255, nullable: true }) logoUrl?: string; + @Property({ type: "numeric", nullable: false, default: 0 }) + maxCataloguesCount: number; //=========================