update: add new field for subscription of user when purchased

This commit is contained in:
mahyargdz
2025-02-28 12:08:46 +03:30
parent 93c5ad49d3
commit 76feef7645
29 changed files with 220 additions and 302 deletions
@@ -1,6 +1,6 @@
import { ApiPropertyOptional } from "@nestjs/swagger";
import { Type } from "class-transformer";
import { IsOptional, IsString, IsUUID } from "class-validator";
import { IsIn, IsOptional, IsString, IsUUID } from "class-validator";
import { PaginationDto } from "../../../common/DTO/pagination.dto";
import { CategoryMessage } from "../../../common/enums/message.enum";
@@ -15,7 +15,7 @@ export class CategorySearchQueryDto {
export class CategoryListSearchQueryDto extends PaginationDto {
@IsOptional()
@Type(() => Number)
// @IsBoolean({ message: CategoryMessage.IS_ACTIVE_SHOULD_BE_BOOLEAN })
@IsIn([1, 0], { message: CategoryMessage.IS_ACTIVE_SHOULD_BE_1_0 })
@ApiPropertyOptional({ description: "Category status", example: 1 })
isActive?: number;
@@ -1,9 +1,9 @@
import { ApiPropertyOptional } from "@nestjs/swagger";
import { Type } from "class-transformer";
import { IsOptional, IsString } from "class-validator";
import { IsIn, IsOptional, IsString } from "class-validator";
import { PaginationDto } from "../../../common/DTO/pagination.dto";
import { CategoryMessage } from "../../../common/enums/message.enum";
import { CategoryMessage, ServiceMessage } from "../../../common/enums/message.enum";
export class DanakServicesSearchQueryDto extends PaginationDto {
@IsOptional()
@@ -13,7 +13,7 @@ export class DanakServicesSearchQueryDto extends PaginationDto {
@IsOptional()
@Type(() => Number)
// @IsBoolean({ message: CategoryMessage.IS_ACTIVE_SHOULD_BE_BOOLEAN })
@IsIn([1, 0], { message: ServiceMessage.IS_ACTIVE_SHOULD_BE_1_0 })
@ApiPropertyOptional({ description: "service status", example: 1 })
isActive?: number;
@@ -24,6 +24,7 @@ export class DanakServicesSearchQueryDto extends PaginationDto {
@IsOptional()
@Type(() => Number)
@IsIn([1, 0], { message: ServiceMessage.IS_SUGGEST_SHOULD_BE_1_0 })
@ApiPropertyOptional({ description: "is danak suggest this service", example: 1 })
isDanakSuggest?: number;
}
@@ -7,7 +7,6 @@ import { BaseEntity } from "../../../common/entities/base.entity";
import { Ads } from "../../ads/entities/ads.entity";
import { Announcement } from "../../announcements/entities/announcement.entity";
import { SubscriptionPlan } from "../../subscriptions/entities/subscription.entity";
import { UserQuickAccess } from "../../subscriptions/entities/user-quick-access.entity";
import { Ticket } from "../../tickets/entities/ticket.entity";
import { ServicesLanguage } from "../enums/services-language.enum";
@@ -62,7 +61,7 @@ export class DanakService extends BaseEntity {
@OneToMany(() => DanakServiceImage, (danakServiceImage) => danakServiceImage.danakService, { cascade: true })
images: DanakServiceImage[];
@OneToMany(() => Announcement, (announcement) => announcement.service)
@OneToMany(() => Announcement, (announcement) => announcement.targetService)
announcements: Announcement[];
@OneToMany(() => Ticket, (ticket) => ticket.danakService)
@@ -77,8 +76,6 @@ export class DanakService extends BaseEntity {
@OneToMany(() => DanakServiceReview, (danakServiceReview) => danakServiceReview.service)
reviews: DanakServiceReview[];
@OneToMany(() => UserQuickAccess, (quickAccess) => quickAccess.service)
quickAccess: UserQuickAccess[];
// @ManyToMany(() => Discount, (discount) => discount.services, { nullable: true })
// discounts?: Discount[];
}
@@ -104,7 +104,7 @@ export class DanakServicesService {
},
order: { createdAt: "DESC" },
});
if (!category) throw new BadRequestException(CategoryMessage.CATEGORY_NOT_EXIST);
if (!category) throw new BadRequestException(CategoryMessage.CATEGORY_NOT_EXIST_OR_HAS_NO_SERVICE);
return {
category,
};