aivilife-contracts 4.2.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/auth/index.js +4 -5
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/index.mjs +4 -5
- package/dist/auth/index.mjs.map +1 -1
- package/dist/catalog/index.d.mts +565 -0
- package/dist/catalog/index.d.ts +565 -0
- package/dist/catalog/index.js +311 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/catalog/index.mjs +282 -0
- package/dist/catalog/index.mjs.map +1 -0
- package/dist/index.d.mts +4 -25
- package/dist/index.d.ts +4 -25
- package/dist/index.js +650 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +588 -6
- package/dist/index.mjs.map +1 -1
- package/dist/pagination.types-BRhyN9z6.d.mts +27 -0
- package/dist/pagination.types-BRhyN9z6.d.ts +27 -0
- package/dist/warehouse/index.d.mts +635 -0
- package/dist/warehouse/index.d.ts +635 -0
- package/dist/warehouse/index.js +405 -0
- package/dist/warehouse/index.js.map +1 -0
- package/dist/warehouse/index.mjs +369 -0
- package/dist/warehouse/index.mjs.map +1 -0
- package/package.json +11 -1
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/catalog/catalog.enums.ts
|
|
6
|
+
var ProductStatus = {
|
|
7
|
+
DRAFT: "DRAFT",
|
|
8
|
+
ACTIVE: "ACTIVE",
|
|
9
|
+
ARCHIVED: "ARCHIVED"
|
|
10
|
+
};
|
|
11
|
+
var ProductUnit = {
|
|
12
|
+
CAPSULE: "CAPSULE",
|
|
13
|
+
GRAM: "GRAM",
|
|
14
|
+
MILLILITER: "MILLILITER",
|
|
15
|
+
PIECE: "PIECE"
|
|
16
|
+
};
|
|
17
|
+
var ProductMediaType = {
|
|
18
|
+
IMAGE: "IMAGE",
|
|
19
|
+
UPLOADED_VIDEO: "UPLOADED_VIDEO",
|
|
20
|
+
EXTERNAL_VIDEO: "EXTERNAL_VIDEO"
|
|
21
|
+
};
|
|
22
|
+
var ProductMediaRole = {
|
|
23
|
+
COVER: "COVER",
|
|
24
|
+
GALLERY: "GALLERY"
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// src/localization/app-locale.enum.ts
|
|
28
|
+
var AppLocale = {
|
|
29
|
+
RU: "ru",
|
|
30
|
+
KK: "kk",
|
|
31
|
+
UZ: "uz",
|
|
32
|
+
EN: "en"
|
|
33
|
+
};
|
|
34
|
+
Object.values(
|
|
35
|
+
AppLocale
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
// src/localization/app-locale.schema.ts
|
|
39
|
+
var AppLocaleSchema = zod.z.enum(AppLocale);
|
|
40
|
+
var PageSchema = zod.z.coerce.number().int().min(1).default(1);
|
|
41
|
+
var LimitSchema = zod.z.coerce.number().int().min(1).max(100).default(20);
|
|
42
|
+
var SortOrderSchema = zod.z.enum(["asc", "desc"]).default("desc");
|
|
43
|
+
zod.z.object({
|
|
44
|
+
page: PageSchema.optional(),
|
|
45
|
+
limit: LimitSchema.optional()
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// src/common/list-query.schemas.ts
|
|
49
|
+
var DateFromSchema = zod.z.string().datetime().optional();
|
|
50
|
+
var DateToSchema = zod.z.string().datetime().optional();
|
|
51
|
+
var SearchSchema = zod.z.string().trim().min(1).max(255).optional();
|
|
52
|
+
var BaseListQuerySchema = zod.z.object({
|
|
53
|
+
page: PageSchema.optional(),
|
|
54
|
+
limit: LimitSchema.optional(),
|
|
55
|
+
search: SearchSchema,
|
|
56
|
+
dateFrom: DateFromSchema,
|
|
57
|
+
dateTo: DateToSchema,
|
|
58
|
+
sortOrder: SortOrderSchema.optional()
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// src/catalog/catalog.schemas.ts
|
|
62
|
+
var CodeSchema = zod.z.string().trim().toUpperCase().regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);
|
|
63
|
+
var SlugSchema = zod.z.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(160);
|
|
64
|
+
var PublicIdSchema = zod.z.uuid();
|
|
65
|
+
var MoneySchema = zod.z.string().trim().regex(/^\d{1,16}(?:\.\d{1,2})?$/).refine((value) => Number(value) > 0, "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F");
|
|
66
|
+
var PvSchema = zod.z.string().trim().regex(/^\d{1,16}(?:\.\d{1,2})?$/).refine((value) => Number(value) > 0, "PV \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F");
|
|
67
|
+
var PositiveDecimalSchema = zod.z.string().trim().regex(/^\d{1,9}(?:\.\d{1,3})?$/).refine((value) => Number(value) > 0, "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F");
|
|
68
|
+
var ProductCategoryTranslationInputSchema = zod.z.object({
|
|
69
|
+
locale: AppLocaleSchema,
|
|
70
|
+
name: zod.z.string().trim().min(1).max(120),
|
|
71
|
+
description: zod.z.string().trim().max(500).nullable().optional()
|
|
72
|
+
});
|
|
73
|
+
var ProductTranslationInputSchema = zod.z.object({
|
|
74
|
+
locale: AppLocaleSchema,
|
|
75
|
+
name: zod.z.string().trim().min(1).max(180),
|
|
76
|
+
shortDescription: zod.z.string().trim().min(1).max(500),
|
|
77
|
+
description: zod.z.string().trim().min(1).max(2e4),
|
|
78
|
+
composition: zod.z.string().trim().max(2e4).nullable().optional(),
|
|
79
|
+
usageInstructions: zod.z.string().trim().max(2e4).nullable().optional(),
|
|
80
|
+
features: zod.z.string().trim().max(2e4).nullable().optional(),
|
|
81
|
+
contraindications: zod.z.string().trim().max(2e4).nullable().optional(),
|
|
82
|
+
shelfLife: zod.z.string().trim().min(1).max(255),
|
|
83
|
+
packageContents: zod.z.string().trim().max(2e3).nullable().optional()
|
|
84
|
+
});
|
|
85
|
+
var UniqueLocalesSchema = (schema) => zod.z.array(schema).min(1).max(4).refine(
|
|
86
|
+
(items) => new Set(items.map((item) => item.locale)).size === items.length,
|
|
87
|
+
"\u041F\u0435\u0440\u0435\u0432\u043E\u0434 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437"
|
|
88
|
+
);
|
|
89
|
+
var CreateProductCategoryRequestSchema = zod.z.object({
|
|
90
|
+
code: CodeSchema,
|
|
91
|
+
slug: SlugSchema,
|
|
92
|
+
sortOrder: zod.z.number().int().min(0).max(1e6).default(0),
|
|
93
|
+
translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema)
|
|
94
|
+
});
|
|
95
|
+
var UpdateProductCategoryRequestSchema = zod.z.object({
|
|
96
|
+
slug: SlugSchema,
|
|
97
|
+
sortOrder: zod.z.number().int().min(0).max(1e6),
|
|
98
|
+
translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),
|
|
99
|
+
version: zod.z.number().int().positive()
|
|
100
|
+
}).partial().required({ version: true });
|
|
101
|
+
var ProductVariantFieldsSchema = zod.z.object({
|
|
102
|
+
sku: CodeSchema,
|
|
103
|
+
barcode: zod.z.string().trim().min(1).max(64).nullable().optional(),
|
|
104
|
+
quantity: PositiveDecimalSchema,
|
|
105
|
+
unit: zod.z.enum(ProductUnit),
|
|
106
|
+
netWeightGrams: PositiveDecimalSchema.nullable().optional(),
|
|
107
|
+
priceUsd: MoneySchema,
|
|
108
|
+
pv: PvSchema,
|
|
109
|
+
shippingWeightGrams: PositiveDecimalSchema.nullable().optional(),
|
|
110
|
+
lengthMm: PositiveDecimalSchema.nullable().optional(),
|
|
111
|
+
widthMm: PositiveDecimalSchema.nullable().optional(),
|
|
112
|
+
heightMm: PositiveDecimalSchema.nullable().optional(),
|
|
113
|
+
isDefault: zod.z.boolean(),
|
|
114
|
+
isActive: zod.z.boolean(),
|
|
115
|
+
sortOrder: zod.z.number().int().min(0).max(1e6)
|
|
116
|
+
});
|
|
117
|
+
var ProductVariantInputSchema = ProductVariantFieldsSchema.extend({
|
|
118
|
+
isDefault: ProductVariantFieldsSchema.shape.isDefault.default(false),
|
|
119
|
+
isActive: ProductVariantFieldsSchema.shape.isActive.default(true),
|
|
120
|
+
sortOrder: ProductVariantFieldsSchema.shape.sortOrder.default(0)
|
|
121
|
+
});
|
|
122
|
+
var CreateProductRequestSchema = zod.z.object({
|
|
123
|
+
code: CodeSchema,
|
|
124
|
+
slug: SlugSchema,
|
|
125
|
+
manufacturerCountryCode: zod.z.string().trim().toUpperCase().length(2),
|
|
126
|
+
manufacturerName: zod.z.string().trim().max(255).nullable().optional(),
|
|
127
|
+
sgr: zod.z.string().trim().max(255).nullable().optional(),
|
|
128
|
+
isFeatured: zod.z.boolean().default(false),
|
|
129
|
+
sortOrder: zod.z.number().int().min(0).max(1e6).default(0),
|
|
130
|
+
translations: UniqueLocalesSchema(ProductTranslationInputSchema),
|
|
131
|
+
categoryPublicIds: zod.z.array(PublicIdSchema).min(1).max(100),
|
|
132
|
+
primaryCategoryPublicId: PublicIdSchema,
|
|
133
|
+
variants: zod.z.array(ProductVariantInputSchema).min(1).max(100).refine(
|
|
134
|
+
(items) => items.filter((item) => item.isDefault).length === 1,
|
|
135
|
+
"\u0414\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0440\u043E\u0432\u043D\u043E \u043E\u0434\u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u043D\u0430\u044F \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u044F"
|
|
136
|
+
)
|
|
137
|
+
}).refine(
|
|
138
|
+
(value) => value.categoryPublicIds.includes(value.primaryCategoryPublicId),
|
|
139
|
+
{
|
|
140
|
+
message: "\u041E\u0441\u043D\u043E\u0432\u043D\u0430\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439",
|
|
141
|
+
path: ["primaryCategoryPublicId"]
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
var UpdateProductRequestSchema = zod.z.object({
|
|
145
|
+
slug: SlugSchema,
|
|
146
|
+
manufacturerCountryCode: zod.z.string().trim().toUpperCase().length(2),
|
|
147
|
+
manufacturerName: zod.z.string().trim().max(255).nullable(),
|
|
148
|
+
sgr: zod.z.string().trim().max(255).nullable(),
|
|
149
|
+
isFeatured: zod.z.boolean(),
|
|
150
|
+
sortOrder: zod.z.number().int().min(0).max(1e6),
|
|
151
|
+
translations: UniqueLocalesSchema(ProductTranslationInputSchema),
|
|
152
|
+
categoryPublicIds: zod.z.array(PublicIdSchema).min(1).max(100),
|
|
153
|
+
primaryCategoryPublicId: PublicIdSchema,
|
|
154
|
+
version: zod.z.number().int().positive()
|
|
155
|
+
}).partial().required({ version: true }).refine(
|
|
156
|
+
(value) => !value.primaryCategoryPublicId || !value.categoryPublicIds || value.categoryPublicIds.includes(value.primaryCategoryPublicId),
|
|
157
|
+
{
|
|
158
|
+
message: "\u041E\u0441\u043D\u043E\u0432\u043D\u0430\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439",
|
|
159
|
+
path: ["primaryCategoryPublicId"]
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
var CreateProductVariantRequestSchema = ProductVariantInputSchema;
|
|
163
|
+
var UpdateProductVariantRequestSchema = ProductVariantFieldsSchema.partial().extend({
|
|
164
|
+
version: zod.z.number().int().positive()
|
|
165
|
+
});
|
|
166
|
+
var ProductPublicIdParamSchema = zod.z.object({
|
|
167
|
+
publicId: PublicIdSchema
|
|
168
|
+
});
|
|
169
|
+
var ProductSlugParamSchema = zod.z.object({ slug: SlugSchema });
|
|
170
|
+
var ProductVariantPublicIdParamSchema = zod.z.object({
|
|
171
|
+
publicId: PublicIdSchema,
|
|
172
|
+
variantPublicId: PublicIdSchema
|
|
173
|
+
});
|
|
174
|
+
var ProductMediaPublicIdParamSchema = zod.z.object({
|
|
175
|
+
publicId: PublicIdSchema,
|
|
176
|
+
mediaPublicId: PublicIdSchema
|
|
177
|
+
});
|
|
178
|
+
var QueryBooleanSchema = zod.z.union([
|
|
179
|
+
zod.z.boolean(),
|
|
180
|
+
zod.z.enum(["true", "false"]).transform((value) => value === "true")
|
|
181
|
+
]);
|
|
182
|
+
var ProductListQuerySchema = BaseListQuerySchema.extend({
|
|
183
|
+
status: zod.z.enum(ProductStatus).optional(),
|
|
184
|
+
category: SlugSchema.optional(),
|
|
185
|
+
featured: QueryBooleanSchema.optional()
|
|
186
|
+
});
|
|
187
|
+
var CreateExternalProductVideoRequestSchema = zod.z.object({
|
|
188
|
+
url: zod.z.url().max(2e3).refine((value) => {
|
|
189
|
+
const url = new URL(value);
|
|
190
|
+
const host = url.hostname.toLowerCase().replace(/^www\./, "");
|
|
191
|
+
return url.protocol === "https:" && ["youtube.com", "youtu.be", "vimeo.com", "player.vimeo.com"].includes(
|
|
192
|
+
host
|
|
193
|
+
);
|
|
194
|
+
}, "\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E HTTPS-\u0441\u0441\u044B\u043B\u043A\u0438 YouTube \u0438 Vimeo"),
|
|
195
|
+
sortOrder: zod.z.number().int().min(0).max(1e6).default(0)
|
|
196
|
+
});
|
|
197
|
+
var UploadProductImageRequestSchema = zod.z.object({
|
|
198
|
+
role: zod.z.enum(ProductMediaRole).default(ProductMediaRole.GALLERY),
|
|
199
|
+
sortOrder: zod.z.coerce.number().int().min(0).max(1e6).default(0)
|
|
200
|
+
});
|
|
201
|
+
var UploadProductVideoRequestSchema = zod.z.object({
|
|
202
|
+
sortOrder: zod.z.coerce.number().int().min(0).max(1e6).default(0)
|
|
203
|
+
});
|
|
204
|
+
var UpdateProductMediaRequestSchema = zod.z.object({
|
|
205
|
+
role: zod.z.enum(ProductMediaRole).optional(),
|
|
206
|
+
sortOrder: zod.z.number().int().min(0).max(1e6).optional()
|
|
207
|
+
});
|
|
208
|
+
var ProductCategorySchema = zod.z.object({
|
|
209
|
+
publicId: PublicIdSchema,
|
|
210
|
+
code: CodeSchema,
|
|
211
|
+
slug: SlugSchema,
|
|
212
|
+
status: zod.z.enum(ProductStatus),
|
|
213
|
+
sortOrder: zod.z.number().int().nonnegative(),
|
|
214
|
+
version: zod.z.number().int().positive(),
|
|
215
|
+
translations: zod.z.array(ProductCategoryTranslationInputSchema),
|
|
216
|
+
createdAt: zod.z.string().datetime(),
|
|
217
|
+
updatedAt: zod.z.string().datetime()
|
|
218
|
+
});
|
|
219
|
+
var ProductVariantSchema = ProductVariantInputSchema.extend({
|
|
220
|
+
publicId: PublicIdSchema,
|
|
221
|
+
version: zod.z.number().int().positive(),
|
|
222
|
+
createdAt: zod.z.string().datetime(),
|
|
223
|
+
updatedAt: zod.z.string().datetime()
|
|
224
|
+
});
|
|
225
|
+
var ProductMediaSchema = zod.z.object({
|
|
226
|
+
publicId: PublicIdSchema,
|
|
227
|
+
type: zod.z.enum(ProductMediaType),
|
|
228
|
+
role: zod.z.enum(ProductMediaRole),
|
|
229
|
+
externalUrl: zod.z.string().nullable(),
|
|
230
|
+
contentUrl: zod.z.string().nullable(),
|
|
231
|
+
mimeType: zod.z.string().nullable(),
|
|
232
|
+
sizeBytes: zod.z.number().int().positive().nullable(),
|
|
233
|
+
originalName: zod.z.string().nullable(),
|
|
234
|
+
sortOrder: zod.z.number().int().nonnegative(),
|
|
235
|
+
createdAt: zod.z.string().datetime(),
|
|
236
|
+
updatedAt: zod.z.string().datetime()
|
|
237
|
+
});
|
|
238
|
+
var ProductSchema = zod.z.object({
|
|
239
|
+
publicId: PublicIdSchema,
|
|
240
|
+
code: CodeSchema,
|
|
241
|
+
slug: SlugSchema,
|
|
242
|
+
status: zod.z.enum(ProductStatus),
|
|
243
|
+
manufacturerCountryCode: zod.z.string().length(2),
|
|
244
|
+
manufacturerName: zod.z.string().nullable(),
|
|
245
|
+
sgr: zod.z.string().nullable(),
|
|
246
|
+
isFeatured: zod.z.boolean(),
|
|
247
|
+
sortOrder: zod.z.number().int().nonnegative(),
|
|
248
|
+
publishedAt: zod.z.string().datetime().nullable(),
|
|
249
|
+
version: zod.z.number().int().positive(),
|
|
250
|
+
translations: zod.z.array(ProductTranslationInputSchema),
|
|
251
|
+
categories: zod.z.array(ProductCategorySchema),
|
|
252
|
+
primaryCategoryPublicId: PublicIdSchema,
|
|
253
|
+
variants: zod.z.array(ProductVariantSchema),
|
|
254
|
+
media: zod.z.array(ProductMediaSchema),
|
|
255
|
+
createdAt: zod.z.string().datetime(),
|
|
256
|
+
updatedAt: zod.z.string().datetime()
|
|
257
|
+
});
|
|
258
|
+
var LocalizedProductCategorySchema = zod.z.object({
|
|
259
|
+
publicId: PublicIdSchema,
|
|
260
|
+
code: CodeSchema,
|
|
261
|
+
slug: SlugSchema,
|
|
262
|
+
name: zod.z.string(),
|
|
263
|
+
description: zod.z.string().nullable()
|
|
264
|
+
});
|
|
265
|
+
var LocalizedProductSchema = ProductSchema.omit({
|
|
266
|
+
translations: true,
|
|
267
|
+
categories: true,
|
|
268
|
+
version: true
|
|
269
|
+
}).extend({
|
|
270
|
+
name: zod.z.string(),
|
|
271
|
+
shortDescription: zod.z.string(),
|
|
272
|
+
description: zod.z.string(),
|
|
273
|
+
composition: zod.z.string().nullable(),
|
|
274
|
+
usageInstructions: zod.z.string().nullable(),
|
|
275
|
+
features: zod.z.string().nullable(),
|
|
276
|
+
contraindications: zod.z.string().nullable(),
|
|
277
|
+
shelfLife: zod.z.string(),
|
|
278
|
+
packageContents: zod.z.string().nullable(),
|
|
279
|
+
categories: zod.z.array(LocalizedProductCategorySchema)
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
exports.CreateExternalProductVideoRequestSchema = CreateExternalProductVideoRequestSchema;
|
|
283
|
+
exports.CreateProductCategoryRequestSchema = CreateProductCategoryRequestSchema;
|
|
284
|
+
exports.CreateProductRequestSchema = CreateProductRequestSchema;
|
|
285
|
+
exports.CreateProductVariantRequestSchema = CreateProductVariantRequestSchema;
|
|
286
|
+
exports.LocalizedProductCategorySchema = LocalizedProductCategorySchema;
|
|
287
|
+
exports.LocalizedProductSchema = LocalizedProductSchema;
|
|
288
|
+
exports.ProductCategorySchema = ProductCategorySchema;
|
|
289
|
+
exports.ProductCategoryTranslationInputSchema = ProductCategoryTranslationInputSchema;
|
|
290
|
+
exports.ProductListQuerySchema = ProductListQuerySchema;
|
|
291
|
+
exports.ProductMediaPublicIdParamSchema = ProductMediaPublicIdParamSchema;
|
|
292
|
+
exports.ProductMediaRole = ProductMediaRole;
|
|
293
|
+
exports.ProductMediaSchema = ProductMediaSchema;
|
|
294
|
+
exports.ProductMediaType = ProductMediaType;
|
|
295
|
+
exports.ProductPublicIdParamSchema = ProductPublicIdParamSchema;
|
|
296
|
+
exports.ProductSchema = ProductSchema;
|
|
297
|
+
exports.ProductSlugParamSchema = ProductSlugParamSchema;
|
|
298
|
+
exports.ProductStatus = ProductStatus;
|
|
299
|
+
exports.ProductTranslationInputSchema = ProductTranslationInputSchema;
|
|
300
|
+
exports.ProductUnit = ProductUnit;
|
|
301
|
+
exports.ProductVariantInputSchema = ProductVariantInputSchema;
|
|
302
|
+
exports.ProductVariantPublicIdParamSchema = ProductVariantPublicIdParamSchema;
|
|
303
|
+
exports.ProductVariantSchema = ProductVariantSchema;
|
|
304
|
+
exports.UpdateProductCategoryRequestSchema = UpdateProductCategoryRequestSchema;
|
|
305
|
+
exports.UpdateProductMediaRequestSchema = UpdateProductMediaRequestSchema;
|
|
306
|
+
exports.UpdateProductRequestSchema = UpdateProductRequestSchema;
|
|
307
|
+
exports.UpdateProductVariantRequestSchema = UpdateProductVariantRequestSchema;
|
|
308
|
+
exports.UploadProductImageRequestSchema = UploadProductImageRequestSchema;
|
|
309
|
+
exports.UploadProductVideoRequestSchema = UploadProductVideoRequestSchema;
|
|
310
|
+
//# sourceMappingURL=index.js.map
|
|
311
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/catalog/catalog.enums.ts","../../src/localization/app-locale.enum.ts","../../src/localization/app-locale.schema.ts","../../src/common/pagination.schemas.ts","../../src/common/list-query.schemas.ts","../../src/catalog/catalog.schemas.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["export const ProductStatus = {\n DRAFT: 'DRAFT',\n ACTIVE: 'ACTIVE',\n ARCHIVED: 'ARCHIVED',\n} as const;\n\nexport type ProductStatus = (typeof ProductStatus)[keyof typeof ProductStatus];\n\nexport const ProductUnit = {\n CAPSULE: 'CAPSULE',\n GRAM: 'GRAM',\n MILLILITER: 'MILLILITER',\n PIECE: 'PIECE',\n} as const;\n\nexport type ProductUnit = (typeof ProductUnit)[keyof typeof ProductUnit];\n\nexport const ProductMediaType = {\n IMAGE: 'IMAGE',\n UPLOADED_VIDEO: 'UPLOADED_VIDEO',\n EXTERNAL_VIDEO: 'EXTERNAL_VIDEO',\n} as const;\n\nexport type ProductMediaType =\n (typeof ProductMediaType)[keyof typeof ProductMediaType];\n\nexport const ProductMediaRole = {\n COVER: 'COVER',\n GALLERY: 'GALLERY',\n} as const;\n\nexport type ProductMediaRole =\n (typeof ProductMediaRole)[keyof typeof ProductMediaRole];\n","export const AppLocale = {\n RU: 'ru',\n KK: 'kk',\n UZ: 'uz',\n EN: 'en',\n} as const;\n\nexport type AppLocale = (typeof AppLocale)[keyof typeof AppLocale];\n\nexport const SupportedLocales = Object.values(\n AppLocale,\n) as readonly AppLocale[];\n","import { z } from 'zod';\nimport { AppLocale } from './app-locale.enum';\n\nexport const AppLocaleSchema = z.enum(AppLocale);\n","import { z } from 'zod';\n\nexport const PageSchema = z.coerce.number().int().min(1).default(1);\nexport const LimitSchema = z.coerce.number().int().min(1).max(100).default(20);\nexport const SortOrderSchema = z.enum(['asc', 'desc']).default('desc');\n\nexport const PaginationQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n});\n","import { z } from 'zod';\nimport { LimitSchema, PageSchema, SortOrderSchema } from './pagination.schemas';\n\nexport const DateFromSchema = z.string().datetime().optional();\nexport const DateToSchema = z.string().datetime().optional();\n\nexport const SearchSchema = z.string().trim().min(1).max(255).optional();\n\nexport const BaseListQuerySchema = z.object({\n page: PageSchema.optional(),\n limit: LimitSchema.optional(),\n search: SearchSchema,\n dateFrom: DateFromSchema,\n dateTo: DateToSchema,\n sortOrder: SortOrderSchema.optional(),\n});\n","import { z } from 'zod';\nimport { AppLocaleSchema } from '../localization/app-locale.schema';\nimport { BaseListQuerySchema } from '../common/list-query.schemas';\nimport {\n ProductMediaRole,\n ProductMediaType,\n ProductStatus,\n ProductUnit,\n} from './catalog.enums';\n\nconst CodeSchema = z\n .string()\n .trim()\n .toUpperCase()\n .regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);\nconst SlugSchema = z\n .string()\n .trim()\n .toLowerCase()\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/)\n .max(160);\nconst PublicIdSchema = z.uuid();\nconst MoneySchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\nconst PvSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,16}(?:\\.\\d{1,2})?$/)\n .refine((value) => Number(value) > 0, 'PV должен быть больше нуля');\nconst PositiveDecimalSchema = z\n .string()\n .trim()\n .regex(/^\\d{1,9}(?:\\.\\d{1,3})?$/)\n .refine((value) => Number(value) > 0, 'Значение должно быть больше нуля');\n\nexport const ProductCategoryTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(120),\n description: z.string().trim().max(500).nullable().optional(),\n});\n\nexport const ProductTranslationInputSchema = z.object({\n locale: AppLocaleSchema,\n name: z.string().trim().min(1).max(180),\n shortDescription: z.string().trim().min(1).max(500),\n description: z.string().trim().min(1).max(20_000),\n composition: z.string().trim().max(20_000).nullable().optional(),\n usageInstructions: z.string().trim().max(20_000).nullable().optional(),\n features: z.string().trim().max(20_000).nullable().optional(),\n contraindications: z.string().trim().max(20_000).nullable().optional(),\n shelfLife: z.string().trim().min(1).max(255),\n packageContents: z.string().trim().max(2_000).nullable().optional(),\n});\n\nconst UniqueLocalesSchema = <T extends z.ZodTypeAny>(schema: T) =>\n z\n .array(schema)\n .min(1)\n .max(4)\n .refine(\n (items) =>\n new Set(items.map((item) => (item as { locale: string }).locale))\n .size === items.length,\n 'Перевод для каждого языка можно передать только один раз',\n );\n\nexport const CreateProductCategoryRequestSchema = z.object({\n code: CodeSchema,\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n});\n\nexport const UpdateProductCategoryRequestSchema = z\n .object({\n slug: SlugSchema,\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true });\n\nconst ProductVariantFieldsSchema = z.object({\n sku: CodeSchema,\n barcode: z.string().trim().min(1).max(64).nullable().optional(),\n quantity: PositiveDecimalSchema,\n unit: z.enum(ProductUnit),\n netWeightGrams: PositiveDecimalSchema.nullable().optional(),\n priceUsd: MoneySchema,\n pv: PvSchema,\n shippingWeightGrams: PositiveDecimalSchema.nullable().optional(),\n lengthMm: PositiveDecimalSchema.nullable().optional(),\n widthMm: PositiveDecimalSchema.nullable().optional(),\n heightMm: PositiveDecimalSchema.nullable().optional(),\n isDefault: z.boolean(),\n isActive: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n});\n\nexport const ProductVariantInputSchema = ProductVariantFieldsSchema.extend({\n isDefault: ProductVariantFieldsSchema.shape.isDefault.default(false),\n isActive: ProductVariantFieldsSchema.shape.isActive.default(true),\n sortOrder: ProductVariantFieldsSchema.shape.sortOrder.default(0),\n});\n\nexport const CreateProductRequestSchema = z\n .object({\n code: CodeSchema,\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable().optional(),\n sgr: z.string().trim().max(255).nullable().optional(),\n isFeatured: z.boolean().default(false),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z\n .array(ProductVariantInputSchema)\n .min(1)\n .max(100)\n .refine(\n (items) => items.filter((item) => item.isDefault).length === 1,\n 'Должна быть ровно одна основная вариация',\n ),\n })\n .refine(\n (value) => value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const UpdateProductRequestSchema = z\n .object({\n slug: SlugSchema,\n manufacturerCountryCode: z.string().trim().toUpperCase().length(2),\n manufacturerName: z.string().trim().max(255).nullable(),\n sgr: z.string().trim().max(255).nullable(),\n isFeatured: z.boolean(),\n sortOrder: z.number().int().min(0).max(1_000_000),\n translations: UniqueLocalesSchema(ProductTranslationInputSchema),\n categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),\n primaryCategoryPublicId: PublicIdSchema,\n version: z.number().int().positive(),\n })\n .partial()\n .required({ version: true })\n .refine(\n (value) =>\n !value.primaryCategoryPublicId ||\n !value.categoryPublicIds ||\n value.categoryPublicIds.includes(value.primaryCategoryPublicId),\n {\n message: 'Основная категория должна присутствовать в списке категорий',\n path: ['primaryCategoryPublicId'],\n },\n );\n\nexport const CreateProductVariantRequestSchema = ProductVariantInputSchema;\nexport const UpdateProductVariantRequestSchema =\n ProductVariantFieldsSchema.partial().extend({\n version: z.number().int().positive(),\n });\n\nexport const ProductPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n});\nexport const ProductSlugParamSchema = z.object({ slug: SlugSchema });\nexport const ProductVariantPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n variantPublicId: PublicIdSchema,\n});\nexport const ProductMediaPublicIdParamSchema = z.object({\n publicId: PublicIdSchema,\n mediaPublicId: PublicIdSchema,\n});\n\nconst QueryBooleanSchema = z.union([\n z.boolean(),\n z.enum(['true', 'false']).transform((value) => value === 'true'),\n]);\n\nexport const ProductListQuerySchema = BaseListQuerySchema.extend({\n status: z.enum(ProductStatus).optional(),\n category: SlugSchema.optional(),\n featured: QueryBooleanSchema.optional(),\n});\n\nexport const CreateExternalProductVideoRequestSchema = z.object({\n url: z\n .url()\n .max(2_000)\n .refine((value) => {\n const url = new URL(value);\n const host = url.hostname.toLowerCase().replace(/^www\\./, '');\n return (\n url.protocol === 'https:' &&\n ['youtube.com', 'youtu.be', 'vimeo.com', 'player.vimeo.com'].includes(\n host,\n )\n );\n }, 'Поддерживаются только HTTPS-ссылки YouTube и Vimeo'),\n sortOrder: z.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductImageRequestSchema = z.object({\n role: z.enum(ProductMediaRole).default(ProductMediaRole.GALLERY),\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UploadProductVideoRequestSchema = z.object({\n sortOrder: z.coerce.number().int().min(0).max(1_000_000).default(0),\n});\n\nexport const UpdateProductMediaRequestSchema = z.object({\n role: z.enum(ProductMediaRole).optional(),\n sortOrder: z.number().int().min(0).max(1_000_000).optional(),\n});\n\nexport const ProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n sortOrder: z.number().int().nonnegative(),\n version: z.number().int().positive(),\n translations: z.array(ProductCategoryTranslationInputSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductVariantSchema = ProductVariantInputSchema.extend({\n publicId: PublicIdSchema,\n version: z.number().int().positive(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductMediaSchema = z.object({\n publicId: PublicIdSchema,\n type: z.enum(ProductMediaType),\n role: z.enum(ProductMediaRole),\n externalUrl: z.string().nullable(),\n contentUrl: z.string().nullable(),\n mimeType: z.string().nullable(),\n sizeBytes: z.number().int().positive().nullable(),\n originalName: z.string().nullable(),\n sortOrder: z.number().int().nonnegative(),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const ProductSchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n status: z.enum(ProductStatus),\n manufacturerCountryCode: z.string().length(2),\n manufacturerName: z.string().nullable(),\n sgr: z.string().nullable(),\n isFeatured: z.boolean(),\n sortOrder: z.number().int().nonnegative(),\n publishedAt: z.string().datetime().nullable(),\n version: z.number().int().positive(),\n translations: z.array(ProductTranslationInputSchema),\n categories: z.array(ProductCategorySchema),\n primaryCategoryPublicId: PublicIdSchema,\n variants: z.array(ProductVariantSchema),\n media: z.array(ProductMediaSchema),\n createdAt: z.string().datetime(),\n updatedAt: z.string().datetime(),\n});\n\nexport const LocalizedProductCategorySchema = z.object({\n publicId: PublicIdSchema,\n code: CodeSchema,\n slug: SlugSchema,\n name: z.string(),\n description: z.string().nullable(),\n});\n\nexport const LocalizedProductSchema = ProductSchema.omit({\n translations: true,\n categories: true,\n version: true,\n}).extend({\n name: z.string(),\n shortDescription: z.string(),\n description: z.string(),\n composition: z.string().nullable(),\n usageInstructions: z.string().nullable(),\n features: z.string().nullable(),\n contraindications: z.string().nullable(),\n shelfLife: z.string(),\n packageContents: z.string().nullable(),\n categories: z.array(LocalizedProductCategorySchema),\n});\n"]}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// src/catalog/catalog.enums.ts
|
|
4
|
+
var ProductStatus = {
|
|
5
|
+
DRAFT: "DRAFT",
|
|
6
|
+
ACTIVE: "ACTIVE",
|
|
7
|
+
ARCHIVED: "ARCHIVED"
|
|
8
|
+
};
|
|
9
|
+
var ProductUnit = {
|
|
10
|
+
CAPSULE: "CAPSULE",
|
|
11
|
+
GRAM: "GRAM",
|
|
12
|
+
MILLILITER: "MILLILITER",
|
|
13
|
+
PIECE: "PIECE"
|
|
14
|
+
};
|
|
15
|
+
var ProductMediaType = {
|
|
16
|
+
IMAGE: "IMAGE",
|
|
17
|
+
UPLOADED_VIDEO: "UPLOADED_VIDEO",
|
|
18
|
+
EXTERNAL_VIDEO: "EXTERNAL_VIDEO"
|
|
19
|
+
};
|
|
20
|
+
var ProductMediaRole = {
|
|
21
|
+
COVER: "COVER",
|
|
22
|
+
GALLERY: "GALLERY"
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// src/localization/app-locale.enum.ts
|
|
26
|
+
var AppLocale = {
|
|
27
|
+
RU: "ru",
|
|
28
|
+
KK: "kk",
|
|
29
|
+
UZ: "uz",
|
|
30
|
+
EN: "en"
|
|
31
|
+
};
|
|
32
|
+
Object.values(
|
|
33
|
+
AppLocale
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
// src/localization/app-locale.schema.ts
|
|
37
|
+
var AppLocaleSchema = z.enum(AppLocale);
|
|
38
|
+
var PageSchema = z.coerce.number().int().min(1).default(1);
|
|
39
|
+
var LimitSchema = z.coerce.number().int().min(1).max(100).default(20);
|
|
40
|
+
var SortOrderSchema = z.enum(["asc", "desc"]).default("desc");
|
|
41
|
+
z.object({
|
|
42
|
+
page: PageSchema.optional(),
|
|
43
|
+
limit: LimitSchema.optional()
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// src/common/list-query.schemas.ts
|
|
47
|
+
var DateFromSchema = z.string().datetime().optional();
|
|
48
|
+
var DateToSchema = z.string().datetime().optional();
|
|
49
|
+
var SearchSchema = z.string().trim().min(1).max(255).optional();
|
|
50
|
+
var BaseListQuerySchema = z.object({
|
|
51
|
+
page: PageSchema.optional(),
|
|
52
|
+
limit: LimitSchema.optional(),
|
|
53
|
+
search: SearchSchema,
|
|
54
|
+
dateFrom: DateFromSchema,
|
|
55
|
+
dateTo: DateToSchema,
|
|
56
|
+
sortOrder: SortOrderSchema.optional()
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// src/catalog/catalog.schemas.ts
|
|
60
|
+
var CodeSchema = z.string().trim().toUpperCase().regex(/^[A-Z0-9][A-Z0-9_-]{1,63}$/);
|
|
61
|
+
var SlugSchema = z.string().trim().toLowerCase().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(160);
|
|
62
|
+
var PublicIdSchema = z.uuid();
|
|
63
|
+
var MoneySchema = z.string().trim().regex(/^\d{1,16}(?:\.\d{1,2})?$/).refine((value) => Number(value) > 0, "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F");
|
|
64
|
+
var PvSchema = z.string().trim().regex(/^\d{1,16}(?:\.\d{1,2})?$/).refine((value) => Number(value) > 0, "PV \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F");
|
|
65
|
+
var PositiveDecimalSchema = z.string().trim().regex(/^\d{1,9}(?:\.\d{1,3})?$/).refine((value) => Number(value) > 0, "\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0443\u043B\u044F");
|
|
66
|
+
var ProductCategoryTranslationInputSchema = z.object({
|
|
67
|
+
locale: AppLocaleSchema,
|
|
68
|
+
name: z.string().trim().min(1).max(120),
|
|
69
|
+
description: z.string().trim().max(500).nullable().optional()
|
|
70
|
+
});
|
|
71
|
+
var ProductTranslationInputSchema = z.object({
|
|
72
|
+
locale: AppLocaleSchema,
|
|
73
|
+
name: z.string().trim().min(1).max(180),
|
|
74
|
+
shortDescription: z.string().trim().min(1).max(500),
|
|
75
|
+
description: z.string().trim().min(1).max(2e4),
|
|
76
|
+
composition: z.string().trim().max(2e4).nullable().optional(),
|
|
77
|
+
usageInstructions: z.string().trim().max(2e4).nullable().optional(),
|
|
78
|
+
features: z.string().trim().max(2e4).nullable().optional(),
|
|
79
|
+
contraindications: z.string().trim().max(2e4).nullable().optional(),
|
|
80
|
+
shelfLife: z.string().trim().min(1).max(255),
|
|
81
|
+
packageContents: z.string().trim().max(2e3).nullable().optional()
|
|
82
|
+
});
|
|
83
|
+
var UniqueLocalesSchema = (schema) => z.array(schema).min(1).max(4).refine(
|
|
84
|
+
(items) => new Set(items.map((item) => item.locale)).size === items.length,
|
|
85
|
+
"\u041F\u0435\u0440\u0435\u0432\u043E\u0434 \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u044F\u0437\u044B\u043A\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u0438\u043D \u0440\u0430\u0437"
|
|
86
|
+
);
|
|
87
|
+
var CreateProductCategoryRequestSchema = z.object({
|
|
88
|
+
code: CodeSchema,
|
|
89
|
+
slug: SlugSchema,
|
|
90
|
+
sortOrder: z.number().int().min(0).max(1e6).default(0),
|
|
91
|
+
translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema)
|
|
92
|
+
});
|
|
93
|
+
var UpdateProductCategoryRequestSchema = z.object({
|
|
94
|
+
slug: SlugSchema,
|
|
95
|
+
sortOrder: z.number().int().min(0).max(1e6),
|
|
96
|
+
translations: UniqueLocalesSchema(ProductCategoryTranslationInputSchema),
|
|
97
|
+
version: z.number().int().positive()
|
|
98
|
+
}).partial().required({ version: true });
|
|
99
|
+
var ProductVariantFieldsSchema = z.object({
|
|
100
|
+
sku: CodeSchema,
|
|
101
|
+
barcode: z.string().trim().min(1).max(64).nullable().optional(),
|
|
102
|
+
quantity: PositiveDecimalSchema,
|
|
103
|
+
unit: z.enum(ProductUnit),
|
|
104
|
+
netWeightGrams: PositiveDecimalSchema.nullable().optional(),
|
|
105
|
+
priceUsd: MoneySchema,
|
|
106
|
+
pv: PvSchema,
|
|
107
|
+
shippingWeightGrams: PositiveDecimalSchema.nullable().optional(),
|
|
108
|
+
lengthMm: PositiveDecimalSchema.nullable().optional(),
|
|
109
|
+
widthMm: PositiveDecimalSchema.nullable().optional(),
|
|
110
|
+
heightMm: PositiveDecimalSchema.nullable().optional(),
|
|
111
|
+
isDefault: z.boolean(),
|
|
112
|
+
isActive: z.boolean(),
|
|
113
|
+
sortOrder: z.number().int().min(0).max(1e6)
|
|
114
|
+
});
|
|
115
|
+
var ProductVariantInputSchema = ProductVariantFieldsSchema.extend({
|
|
116
|
+
isDefault: ProductVariantFieldsSchema.shape.isDefault.default(false),
|
|
117
|
+
isActive: ProductVariantFieldsSchema.shape.isActive.default(true),
|
|
118
|
+
sortOrder: ProductVariantFieldsSchema.shape.sortOrder.default(0)
|
|
119
|
+
});
|
|
120
|
+
var CreateProductRequestSchema = z.object({
|
|
121
|
+
code: CodeSchema,
|
|
122
|
+
slug: SlugSchema,
|
|
123
|
+
manufacturerCountryCode: z.string().trim().toUpperCase().length(2),
|
|
124
|
+
manufacturerName: z.string().trim().max(255).nullable().optional(),
|
|
125
|
+
sgr: z.string().trim().max(255).nullable().optional(),
|
|
126
|
+
isFeatured: z.boolean().default(false),
|
|
127
|
+
sortOrder: z.number().int().min(0).max(1e6).default(0),
|
|
128
|
+
translations: UniqueLocalesSchema(ProductTranslationInputSchema),
|
|
129
|
+
categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),
|
|
130
|
+
primaryCategoryPublicId: PublicIdSchema,
|
|
131
|
+
variants: z.array(ProductVariantInputSchema).min(1).max(100).refine(
|
|
132
|
+
(items) => items.filter((item) => item.isDefault).length === 1,
|
|
133
|
+
"\u0414\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0440\u043E\u0432\u043D\u043E \u043E\u0434\u043D\u0430 \u043E\u0441\u043D\u043E\u0432\u043D\u0430\u044F \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u044F"
|
|
134
|
+
)
|
|
135
|
+
}).refine(
|
|
136
|
+
(value) => value.categoryPublicIds.includes(value.primaryCategoryPublicId),
|
|
137
|
+
{
|
|
138
|
+
message: "\u041E\u0441\u043D\u043E\u0432\u043D\u0430\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439",
|
|
139
|
+
path: ["primaryCategoryPublicId"]
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
var UpdateProductRequestSchema = z.object({
|
|
143
|
+
slug: SlugSchema,
|
|
144
|
+
manufacturerCountryCode: z.string().trim().toUpperCase().length(2),
|
|
145
|
+
manufacturerName: z.string().trim().max(255).nullable(),
|
|
146
|
+
sgr: z.string().trim().max(255).nullable(),
|
|
147
|
+
isFeatured: z.boolean(),
|
|
148
|
+
sortOrder: z.number().int().min(0).max(1e6),
|
|
149
|
+
translations: UniqueLocalesSchema(ProductTranslationInputSchema),
|
|
150
|
+
categoryPublicIds: z.array(PublicIdSchema).min(1).max(100),
|
|
151
|
+
primaryCategoryPublicId: PublicIdSchema,
|
|
152
|
+
version: z.number().int().positive()
|
|
153
|
+
}).partial().required({ version: true }).refine(
|
|
154
|
+
(value) => !value.primaryCategoryPublicId || !value.categoryPublicIds || value.categoryPublicIds.includes(value.primaryCategoryPublicId),
|
|
155
|
+
{
|
|
156
|
+
message: "\u041E\u0441\u043D\u043E\u0432\u043D\u0430\u044F \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u043F\u0438\u0441\u043A\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439",
|
|
157
|
+
path: ["primaryCategoryPublicId"]
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
var CreateProductVariantRequestSchema = ProductVariantInputSchema;
|
|
161
|
+
var UpdateProductVariantRequestSchema = ProductVariantFieldsSchema.partial().extend({
|
|
162
|
+
version: z.number().int().positive()
|
|
163
|
+
});
|
|
164
|
+
var ProductPublicIdParamSchema = z.object({
|
|
165
|
+
publicId: PublicIdSchema
|
|
166
|
+
});
|
|
167
|
+
var ProductSlugParamSchema = z.object({ slug: SlugSchema });
|
|
168
|
+
var ProductVariantPublicIdParamSchema = z.object({
|
|
169
|
+
publicId: PublicIdSchema,
|
|
170
|
+
variantPublicId: PublicIdSchema
|
|
171
|
+
});
|
|
172
|
+
var ProductMediaPublicIdParamSchema = z.object({
|
|
173
|
+
publicId: PublicIdSchema,
|
|
174
|
+
mediaPublicId: PublicIdSchema
|
|
175
|
+
});
|
|
176
|
+
var QueryBooleanSchema = z.union([
|
|
177
|
+
z.boolean(),
|
|
178
|
+
z.enum(["true", "false"]).transform((value) => value === "true")
|
|
179
|
+
]);
|
|
180
|
+
var ProductListQuerySchema = BaseListQuerySchema.extend({
|
|
181
|
+
status: z.enum(ProductStatus).optional(),
|
|
182
|
+
category: SlugSchema.optional(),
|
|
183
|
+
featured: QueryBooleanSchema.optional()
|
|
184
|
+
});
|
|
185
|
+
var CreateExternalProductVideoRequestSchema = z.object({
|
|
186
|
+
url: z.url().max(2e3).refine((value) => {
|
|
187
|
+
const url = new URL(value);
|
|
188
|
+
const host = url.hostname.toLowerCase().replace(/^www\./, "");
|
|
189
|
+
return url.protocol === "https:" && ["youtube.com", "youtu.be", "vimeo.com", "player.vimeo.com"].includes(
|
|
190
|
+
host
|
|
191
|
+
);
|
|
192
|
+
}, "\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E HTTPS-\u0441\u0441\u044B\u043B\u043A\u0438 YouTube \u0438 Vimeo"),
|
|
193
|
+
sortOrder: z.number().int().min(0).max(1e6).default(0)
|
|
194
|
+
});
|
|
195
|
+
var UploadProductImageRequestSchema = z.object({
|
|
196
|
+
role: z.enum(ProductMediaRole).default(ProductMediaRole.GALLERY),
|
|
197
|
+
sortOrder: z.coerce.number().int().min(0).max(1e6).default(0)
|
|
198
|
+
});
|
|
199
|
+
var UploadProductVideoRequestSchema = z.object({
|
|
200
|
+
sortOrder: z.coerce.number().int().min(0).max(1e6).default(0)
|
|
201
|
+
});
|
|
202
|
+
var UpdateProductMediaRequestSchema = z.object({
|
|
203
|
+
role: z.enum(ProductMediaRole).optional(),
|
|
204
|
+
sortOrder: z.number().int().min(0).max(1e6).optional()
|
|
205
|
+
});
|
|
206
|
+
var ProductCategorySchema = z.object({
|
|
207
|
+
publicId: PublicIdSchema,
|
|
208
|
+
code: CodeSchema,
|
|
209
|
+
slug: SlugSchema,
|
|
210
|
+
status: z.enum(ProductStatus),
|
|
211
|
+
sortOrder: z.number().int().nonnegative(),
|
|
212
|
+
version: z.number().int().positive(),
|
|
213
|
+
translations: z.array(ProductCategoryTranslationInputSchema),
|
|
214
|
+
createdAt: z.string().datetime(),
|
|
215
|
+
updatedAt: z.string().datetime()
|
|
216
|
+
});
|
|
217
|
+
var ProductVariantSchema = ProductVariantInputSchema.extend({
|
|
218
|
+
publicId: PublicIdSchema,
|
|
219
|
+
version: z.number().int().positive(),
|
|
220
|
+
createdAt: z.string().datetime(),
|
|
221
|
+
updatedAt: z.string().datetime()
|
|
222
|
+
});
|
|
223
|
+
var ProductMediaSchema = z.object({
|
|
224
|
+
publicId: PublicIdSchema,
|
|
225
|
+
type: z.enum(ProductMediaType),
|
|
226
|
+
role: z.enum(ProductMediaRole),
|
|
227
|
+
externalUrl: z.string().nullable(),
|
|
228
|
+
contentUrl: z.string().nullable(),
|
|
229
|
+
mimeType: z.string().nullable(),
|
|
230
|
+
sizeBytes: z.number().int().positive().nullable(),
|
|
231
|
+
originalName: z.string().nullable(),
|
|
232
|
+
sortOrder: z.number().int().nonnegative(),
|
|
233
|
+
createdAt: z.string().datetime(),
|
|
234
|
+
updatedAt: z.string().datetime()
|
|
235
|
+
});
|
|
236
|
+
var ProductSchema = z.object({
|
|
237
|
+
publicId: PublicIdSchema,
|
|
238
|
+
code: CodeSchema,
|
|
239
|
+
slug: SlugSchema,
|
|
240
|
+
status: z.enum(ProductStatus),
|
|
241
|
+
manufacturerCountryCode: z.string().length(2),
|
|
242
|
+
manufacturerName: z.string().nullable(),
|
|
243
|
+
sgr: z.string().nullable(),
|
|
244
|
+
isFeatured: z.boolean(),
|
|
245
|
+
sortOrder: z.number().int().nonnegative(),
|
|
246
|
+
publishedAt: z.string().datetime().nullable(),
|
|
247
|
+
version: z.number().int().positive(),
|
|
248
|
+
translations: z.array(ProductTranslationInputSchema),
|
|
249
|
+
categories: z.array(ProductCategorySchema),
|
|
250
|
+
primaryCategoryPublicId: PublicIdSchema,
|
|
251
|
+
variants: z.array(ProductVariantSchema),
|
|
252
|
+
media: z.array(ProductMediaSchema),
|
|
253
|
+
createdAt: z.string().datetime(),
|
|
254
|
+
updatedAt: z.string().datetime()
|
|
255
|
+
});
|
|
256
|
+
var LocalizedProductCategorySchema = z.object({
|
|
257
|
+
publicId: PublicIdSchema,
|
|
258
|
+
code: CodeSchema,
|
|
259
|
+
slug: SlugSchema,
|
|
260
|
+
name: z.string(),
|
|
261
|
+
description: z.string().nullable()
|
|
262
|
+
});
|
|
263
|
+
var LocalizedProductSchema = ProductSchema.omit({
|
|
264
|
+
translations: true,
|
|
265
|
+
categories: true,
|
|
266
|
+
version: true
|
|
267
|
+
}).extend({
|
|
268
|
+
name: z.string(),
|
|
269
|
+
shortDescription: z.string(),
|
|
270
|
+
description: z.string(),
|
|
271
|
+
composition: z.string().nullable(),
|
|
272
|
+
usageInstructions: z.string().nullable(),
|
|
273
|
+
features: z.string().nullable(),
|
|
274
|
+
contraindications: z.string().nullable(),
|
|
275
|
+
shelfLife: z.string(),
|
|
276
|
+
packageContents: z.string().nullable(),
|
|
277
|
+
categories: z.array(LocalizedProductCategorySchema)
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
export { CreateExternalProductVideoRequestSchema, CreateProductCategoryRequestSchema, CreateProductRequestSchema, CreateProductVariantRequestSchema, LocalizedProductCategorySchema, LocalizedProductSchema, ProductCategorySchema, ProductCategoryTranslationInputSchema, ProductListQuerySchema, ProductMediaPublicIdParamSchema, ProductMediaRole, ProductMediaSchema, ProductMediaType, ProductPublicIdParamSchema, ProductSchema, ProductSlugParamSchema, ProductStatus, ProductTranslationInputSchema, ProductUnit, ProductVariantInputSchema, ProductVariantPublicIdParamSchema, ProductVariantSchema, UpdateProductCategoryRequestSchema, UpdateProductMediaRequestSchema, UpdateProductRequestSchema, UpdateProductVariantRequestSchema, UploadProductImageRequestSchema, UploadProductVideoRequestSchema };
|
|
281
|
+
//# sourceMappingURL=index.mjs.map
|
|
282
|
+
//# sourceMappingURL=index.mjs.map
|