feat: deal tags

This commit is contained in:
2025-10-19 12:12:28 +04:00
parent 9023b07c65
commit 3a1d8e23e3
25 changed files with 978 additions and 166 deletions

View File

@ -348,6 +348,27 @@ export const zStatusSchema = z.object({
color: z.string(),
});
/**
* DealTagColorSchema
*/
export const zDealTagColorSchema = z.object({
id: z.int(),
color: z.string(),
backgroundColor: z.string(),
label: z.string(),
});
/**
* DealTagSchema
*/
export const zDealTagSchema = z.object({
name: z.string(),
projectId: z.int(),
tagColorId: z.int(),
id: z.int(),
tagColor: zDealTagColorSchema,
});
/**
* DealSchema
*/
@ -361,6 +382,7 @@ export const zDealSchema = z.object({
offset: true,
}),
group: z.union([zDealGroupSchema, z.null()]),
tags: z.array(zDealTagSchema),
productsQuantity: z.optional(z.int()).default(0),
totalPrice: z.optional(z.number()).default(0),
client: z.optional(z.union([zClientSchema, z.null()])),
@ -427,27 +449,6 @@ export const zCreateDealTagRequest = z.object({
entity: zCreateDealTagSchema,
});
/**
* DealTagColorSchema
*/
export const zDealTagColorSchema = z.object({
id: z.int(),
color: z.string(),
backgroundColor: z.string(),
label: z.string(),
});
/**
* DealTagSchema
*/
export const zDealTagSchema = z.object({
name: z.string(),
projectId: z.int(),
tagColorId: z.int(),
id: z.int(),
tagColor: zDealTagColorSchema,
});
/**
* CreateDealTagResponse
*/
@ -571,6 +572,7 @@ export const zProjectSchema = z.object({
id: z.int(),
name: z.string(),
builtInModules: z.array(zBuiltInModuleSchemaOutput),
tags: z.array(zDealTagSchema),
});
/**
@ -899,6 +901,13 @@ export const zGetDealServicesResponse = z.object({
items: z.array(zDealServiceSchema),
});
/**
* GetDealTagsResponse
*/
export const zGetDealTagsResponse = z.object({
items: z.array(zDealTagSchema),
});
/**
* PaginationInfoSchema
*/
@ -1628,18 +1637,20 @@ export const zUpdateDealsInGroupData = z.object({
*/
export const zUpdateDealsInGroupResponse2 = zUpdateDealsInGroupResponse;
export const zUpdateTagData = z.object({
body: zUpdateDealTagRequest,
path: z.optional(z.never()),
export const zGetDealTagsData = z.object({
body: z.optional(z.never()),
path: z.object({
projectId: z.int(),
}),
query: z.optional(z.never()),
});
/**
* Successful Response
*/
export const zUpdateTagResponse = zUpdateDealTagResponse;
export const zGetDealTagsResponse2 = zGetDealTagsResponse;
export const zCreateTagData = z.object({
export const zCreateDealTagData = z.object({
body: zCreateDealTagRequest,
path: z.optional(z.never()),
query: z.optional(z.never()),
@ -1648,12 +1659,12 @@ export const zCreateTagData = z.object({
/**
* Successful Response
*/
export const zCreateTagResponse = zCreateDealTagResponse;
export const zCreateDealTagResponse2 = zCreateDealTagResponse;
export const zDeleteTagData = z.object({
export const zDeleteDealTagData = z.object({
body: z.optional(z.never()),
path: z.object({
deal_tag_id: z.int(),
pk: z.int(),
}),
query: z.optional(z.never()),
});
@ -1661,7 +1672,20 @@ export const zDeleteTagData = z.object({
/**
* Successful Response
*/
export const zDeleteTagResponse = zDeleteDealTagResponse;
export const zDeleteDealTagResponse2 = zDeleteDealTagResponse;
export const zUpdateDealTagData = z.object({
body: zUpdateDealTagRequest,
path: z.object({
pk: z.int(),
}),
query: z.optional(z.never()),
});
/**
* Successful Response
*/
export const zUpdateDealTagResponse2 = zUpdateDealTagResponse;
export const zSwitchDealTagData = z.object({
body: zSwitchDealTagRequest,