chore: compelete danak category service

This commit is contained in:
mahyargdz
2025-01-26 16:10:12 +03:30
parent e4425a07d6
commit bdd8ec06b4
17 changed files with 367 additions and 16 deletions
+22
View File
@@ -0,0 +1,22 @@
import { ApiPropertyOptional } from "@nestjs/swagger";
import { Type } from "class-transformer";
import { IsNotEmpty, IsNumber, IsOptional, Max, Min } from "class-validator";
export class PaginationDto {
@IsOptional()
@IsNotEmpty()
@IsNumber()
@Min(1)
@Type(() => Number)
@ApiPropertyOptional({ type: "number", required: false })
page?: number;
@IsOptional()
@IsNotEmpty()
@IsNumber()
@Min(1)
@Max(50)
@Type(() => Number)
@ApiPropertyOptional({ type: "number", required: false })
limit?: number;
}
+11
View File
@@ -0,0 +1,11 @@
import { ApiProperty } from "@nestjs/swagger";
import { IsNotEmpty, IsUUID } from "class-validator";
import { CommonMessage } from "../enums/message.enum";
export class ParamDto {
@IsNotEmpty({ message: CommonMessage.ID_REQUIRED })
@IsUUID("4", { message: CommonMessage.ID_SHOULD_BE_UUID })
@ApiProperty({ description: "Id of the entity", example: "8b1e8b1e-8b1e-8b1e-8b1e-8b1e8b1e8b1e" })
id: string;
}
@@ -0,0 +1,9 @@
import { applyDecorators } from "@nestjs/common";
import { ApiQuery } from "@nestjs/swagger";
export function Pagination() {
return applyDecorators(
ApiQuery({ name: "page", example: 1, required: false, type: "number" }),
ApiQuery({ name: "limit", example: 10, required: false, type: "number" }),
);
}
+36
View File
@@ -68,6 +68,8 @@ export const enum CommonMessage {
VALID_FOR_CHOOSE = "معتبر برای انتخاب",
UPDATE_SUCCESS = "با موفقیت به روز رسانی شد",
CREATED = "با موفقیت ایجاد شد",
ID_REQUIRED = "شناسه مورد نیاز است",
ID_SHOULD_BE_UUID = "شناسه باید یک یو یو آی دی باشد",
}
export const enum CategoryMessage {
@@ -79,6 +81,40 @@ export const enum CategoryMessage {
PARENT_ID_REQUIRED = "شناسه والد دسته بندی مورد نیاز است",
PARENT_ID_SHOULD_BE_UUID = "شناسه والد باید یک یو یو آی دی باشد",
TITLE_EXIST = "دسته بندی با این نام قبلا ثبت شده است",
IS_ACTIVE_REQUIRED = "وضعیت دسته بندی مورد نیاز است",
CAT_ID_SHOULD_BE_UUID = "شناسه دسته بندی باید یک یو یو آی دی باشد",
CAT_ID_NOT_EMPTY = "شناسه دسته بندی نمیتواند خالی باشد",
CATEGORY_NOT_EXIST = "دسته بندی مورد نظر یافت نشد",
IS_ACTIVE_SHOULD_BE_BOOLEAN = "وضعیت دسته بندی باید یک بولین باشد",
SEARCH_QUERY_STRING = "رشته جستجو باید یک رشته باشد",
}
export const enum ServiceMessage {
NAME_REQUIRED = "نام سرویس مورد نیاز است",
NAME_STRING = "نام سرویس باید یک رشته باشد",
NAME_LENGTH = "نام سرویس باید بین ۳ تا ۵۰ کاراکتر باشد",
DESCRIPTION_REQUIRED = "توضیحات سرویس مورد نیاز است",
DESCRIPTION_STRING = "توضیحات سرویس باید یک رشته باشد",
AUTHOR_REQUIRED = "نویسنده سرویس مورد نیاز است",
AUTHOR_STRING = "نویسنده سرویس باید یک رشته باشد",
CREATE_DATE_REQUIRED = "تاریخ ایجاد سرویس مورد نیاز است",
CREATE_DATE_STRING = "تاریخ ایجاد سرویس باید یک رشته باشد",
USER_COUNT_REQUIRED = "تعداد کاربران سرویس مورد نیاز است",
USER_COUNT_INT = "تعداد کاربران سرویس باید یک عدد صحیح باشد",
SERVICE_LANGUAGE_REQUIRED = "زبان سرویس مورد نیاز است",
SOFTWARE_LANGUAGE_REQUIRED = "زبان نرم افزار سرویس مورد نیاز است",
SOFTWARE_LANGUAGE_STRING = "زبان نرم افزار سرویس باید یک رشته باشد",
META_DESCRIPTION_REQUIRED = "متا توضیحات سرویس مورد نیاز است",
LINK_REQUIRED = "لینک سرویس مورد نیاز است",
IS_DANAK_SUGGEST_REQUIRED = "آیا سرویس پیشنهادی داناک است؟",
IS_DANAK_SUGGEST_BOOLEAN = "وضعیت سرویس پیشنهادی داناک باید یک بولین باشد",
ICON_REQUIRED = "آیکون سرویس مورد نیاز است",
LINK_SHOULD_BE_URL = "لینک باید یک آدرس یو آر ال باشد",
ICON_SHOULD_BE_URL = "آیکون باید یک آدرس یو آر ال باشد",
IMAGES_REQUIRED = "تصاویر سرویس مورد نیاز است",
DESCRIPTION_LENGTH = "توضیحات سرویس باید بین ۱۰ تا ۵۰۰ کاراکتر باشد",
SOFTWARE_LANGUAGE_LENGTH = "زبان نرم افزار سرویس باید بین ۳ تا ۱۵۰ کاراکتر باشد",
AUTHOR_LENGTH = "نویسنده سرویس باید بین 3 تا 100 کاراکتر باشد",
}
export const enum AnnouncementMessage {