From 9f32dff2c0d79f250601203c4302b993620775bb Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sat, 29 Nov 2025 10:14:48 +0330 Subject: [PATCH] product verity --- src/modules/admin/controllers/category.controller.ts | 1 + src/modules/category/DTO/CreateThemeValue.dto.ts | 8 ++++---- src/modules/category/models/Abstraction/IThemeValue.ts | 4 ++-- src/modules/category/models/themeValue.model.ts | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/modules/admin/controllers/category.controller.ts b/src/modules/admin/controllers/category.controller.ts index d224e32..84253b8 100644 --- a/src/modules/admin/controllers/category.controller.ts +++ b/src/modules/admin/controllers/category.controller.ts @@ -244,6 +244,7 @@ export class AdminCategoryController extends BaseController { @ApiOperation("Update a theme value ==> need to login as admin") @ApiResponse("theme value updated successfully", HttpStatus.Ok) @ApiAuth() + @ApiModel(UpdateThemeValueDTO) @httpPut( "/theme-value", Guard.authAdmin(), diff --git a/src/modules/category/DTO/CreateThemeValue.dto.ts b/src/modules/category/DTO/CreateThemeValue.dto.ts index a6cfb2e..1bc3ff4 100644 --- a/src/modules/category/DTO/CreateThemeValue.dto.ts +++ b/src/modules/category/DTO/CreateThemeValue.dto.ts @@ -1,5 +1,5 @@ import { Expose } from "class-transformer"; -import { IsNotEmpty, IsString } from "class-validator"; +import { IsNotEmpty, IsOptional, IsString } from "class-validator"; import { ApiProperty } from "../../../common/decorator/swggerDocs"; import { IsValidId } from "../../../common/decorator/validation.decorator"; @@ -14,10 +14,10 @@ export class CreateThemeValueDTO { theme: string; @Expose() - @IsNotEmpty() + @IsOptional() @IsString() - @ApiProperty({ type: "string", description: "the name of theme value", example: "Red" }) - name: string; + @ApiProperty({ type: "string", description: "the name of theme value", example: "Red", required: false }) + name?: string; @Expose() @IsNotEmpty() diff --git a/src/modules/category/models/Abstraction/IThemeValue.ts b/src/modules/category/models/Abstraction/IThemeValue.ts index 88cd130..a358d31 100644 --- a/src/modules/category/models/Abstraction/IThemeValue.ts +++ b/src/modules/category/models/Abstraction/IThemeValue.ts @@ -3,6 +3,6 @@ import { Types } from "mongoose"; export interface IThemeValue { _id: Types.ObjectId; theme: Types.ObjectId; - name: string; - value: string; + name?: string; + value: string | number; } diff --git a/src/modules/category/models/themeValue.model.ts b/src/modules/category/models/themeValue.model.ts index 296e37b..1d7dfcd 100644 --- a/src/modules/category/models/themeValue.model.ts +++ b/src/modules/category/models/themeValue.model.ts @@ -5,7 +5,7 @@ import { IThemeValue } from "./Abstraction/IThemeValue"; const themeValueSchema = new Schema( { theme: { type: Schema.Types.ObjectId, ref: "Theme", required: true }, - name: { type: String, required: true }, + name: { type: String, required: false }, value: { type: Schema.Types.Mixed, required: true }, }, { timestamps: true, toJSON: { virtuals: true, versionKey: false }, id: false },