@veruna/api-contracts 1.0.46 → 1.0.47

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.
Files changed (114) hide show
  1. package/build/locales/index.d.ts +2 -0
  2. package/build/locales/index.js +4 -1
  3. package/build/locales/validation.d.ts +1365 -0
  4. package/build/locales/validation.js +1402 -0
  5. package/build/shared/pagination.schema.d.ts +1 -0
  6. package/build/shared/pagination.schema.js +12 -2
  7. package/build/v1/ai-model/schemas/create-model-request.schema.d.ts +4 -0
  8. package/build/v1/ai-model/schemas/create-model-request.schema.js +40 -10
  9. package/build/v1/ai-model/schemas/get-models-filters.schema.d.ts +4 -0
  10. package/build/v1/ai-model/schemas/get-models-filters.schema.js +8 -1
  11. package/build/v1/ai-model/schemas/route-params.schema.d.ts +4 -0
  12. package/build/v1/ai-model/schemas/route-params.schema.js +7 -1
  13. package/build/v1/ai-model/schemas/update-model-request.schema.d.ts +4 -0
  14. package/build/v1/ai-model/schemas/update-model-request.schema.js +42 -9
  15. package/build/v1/ai-provider/schemas/create-provider-request.schema.d.ts +4 -0
  16. package/build/v1/ai-provider/schemas/create-provider-request.schema.js +16 -5
  17. package/build/v1/ai-provider/schemas/route-params.schema.d.ts +4 -0
  18. package/build/v1/ai-provider/schemas/route-params.schema.js +7 -1
  19. package/build/v1/ai-provider/schemas/update-provider-request.schema.d.ts +4 -0
  20. package/build/v1/ai-provider/schemas/update-provider-request.schema.js +16 -4
  21. package/build/v1/auth/schemas/signin-request.schema.d.ts +1 -1
  22. package/build/v1/auth/schemas/signin-request.schema.js +7 -3
  23. package/build/v1/auth/schemas/signup-request.schema.d.ts +1 -1
  24. package/build/v1/auth/schemas/signup-request.schema.js +12 -4
  25. package/build/v1/blog/schemas/create-category-request.schema.d.ts +4 -0
  26. package/build/v1/blog/schemas/create-category-request.schema.js +16 -4
  27. package/build/v1/blog/schemas/create-post-request.schema.d.ts +4 -0
  28. package/build/v1/blog/schemas/create-post-request.schema.js +51 -16
  29. package/build/v1/blog/schemas/route-params.schema.d.ts +2 -0
  30. package/build/v1/blog/schemas/route-params.schema.js +9 -5
  31. package/build/v1/blog/schemas/update-category-request.schema.d.ts +4 -0
  32. package/build/v1/blog/schemas/update-category-request.schema.js +17 -3
  33. package/build/v1/blog/schemas/update-post-request.schema.d.ts +4 -0
  34. package/build/v1/blog/schemas/update-post-request.schema.js +54 -15
  35. package/build/v1/chat/commands/create-reg-chat.command.d.ts +4 -1
  36. package/build/v1/chat/commands/create-unreg-chat.command.d.ts +4 -1
  37. package/build/v1/chat/commands/update-chat-title.command.d.ts +4 -1
  38. package/build/v1/chat/commands/update-chat.command.d.ts +4 -1
  39. package/build/v1/chat/queries/get-last-active-chat.query.d.ts +4 -1
  40. package/build/v1/chat/queries/get-reg-chat.query.d.ts +4 -1
  41. package/build/v1/chat/queries/get-unreg-chat.query.d.ts +4 -1
  42. package/build/v1/chat/schemas/chat-history.schema.d.ts +1 -0
  43. package/build/v1/chat/schemas/chat-history.schema.js +7 -1
  44. package/build/v1/chat/schemas/chat-id-param.schema.d.ts +4 -0
  45. package/build/v1/chat/schemas/chat-id-param.schema.js +7 -1
  46. package/build/v1/chat/schemas/chat-with-messages-response.schema.d.ts +4 -1
  47. package/build/v1/chat/schemas/create-chat-request.schema.d.ts +4 -0
  48. package/build/v1/chat/schemas/create-chat-request.schema.js +5 -1
  49. package/build/v1/chat/schemas/page-id-param.schema.d.ts +4 -0
  50. package/build/v1/chat/schemas/page-id-param.schema.js +7 -1
  51. package/build/v1/chat/schemas/update-chat-request.schema.d.ts +4 -0
  52. package/build/v1/chat/schemas/update-chat-request.schema.js +10 -2
  53. package/build/v1/chat/schemas/update-chat-title-request.schema.d.ts +4 -0
  54. package/build/v1/chat/schemas/update-chat-title-request.schema.js +8 -1
  55. package/build/v1/chat-project/schemas/create-project-request.schema.d.ts +1 -0
  56. package/build/v1/chat-project/schemas/create-project-request.schema.js +8 -2
  57. package/build/v1/chat-project/schemas/get-project-chats.schema.d.ts +1 -0
  58. package/build/v1/chat-project/schemas/get-project-chats.schema.js +7 -1
  59. package/build/v1/chat-project/schemas/route-params.schema.d.ts +1 -0
  60. package/build/v1/chat-project/schemas/route-params.schema.js +4 -1
  61. package/build/v1/chat-project/schemas/update-project-request.schema.d.ts +1 -0
  62. package/build/v1/chat-project/schemas/update-project-request.schema.js +10 -2
  63. package/build/v1/file/schemas/delete-file-by-key-request.schema.d.ts +1 -0
  64. package/build/v1/file/schemas/delete-file-by-key-request.schema.js +4 -1
  65. package/build/v1/file/schemas/list-files-request.schema.d.ts +1 -0
  66. package/build/v1/file/schemas/list-files-request.schema.js +12 -2
  67. package/build/v1/file/schemas/upload-file-request.schema.d.ts +1 -0
  68. package/build/v1/file/schemas/upload-file-request.schema.js +4 -1
  69. package/build/v1/file/schemas/upload-image-request.schema.d.ts +1 -0
  70. package/build/v1/file/schemas/upload-image-request.schema.js +7 -2
  71. package/build/v1/message/commands/create-message.command.d.ts +4 -1
  72. package/build/v1/message/schemas/create-message-request.schema.d.ts +4 -0
  73. package/build/v1/message/schemas/create-message-request.schema.js +11 -2
  74. package/build/v1/message/schemas/message-meta.schema.d.ts +13 -3
  75. package/build/v1/message/schemas/message-meta.schema.js +7 -1
  76. package/build/v1/message/schemas/message-response.schema.d.ts +4 -1
  77. package/build/v1/message/schemas/rate-message.schema.d.ts +8 -0
  78. package/build/v1/message/schemas/rate-message.schema.js +20 -4
  79. package/build/v1/message/schemas/stream-events.schema.d.ts +8 -2
  80. package/build/v1/message/schemas/stream-events.schema.js +4 -9
  81. package/build/v1/page-hints/schemas/create-hint-request.schema.d.ts +1 -0
  82. package/build/v1/page-hints/schemas/create-hint-request.schema.js +9 -2
  83. package/build/v1/page-hints/schemas/update-hint-request.schema.d.ts +1 -0
  84. package/build/v1/page-hints/schemas/update-hint-request.schema.js +11 -2
  85. package/build/v1/seo-pages/schemas/create-page-request.schema.d.ts +1 -0
  86. package/build/v1/seo-pages/schemas/create-page-request.schema.js +43 -16
  87. package/build/v1/seo-pages/schemas/faq.schema.d.ts +2 -0
  88. package/build/v1/seo-pages/schemas/faq.schema.js +11 -3
  89. package/build/v1/seo-pages/schemas/update-page-request.schema.d.ts +1 -0
  90. package/build/v1/seo-pages/schemas/update-page-request.schema.js +40 -15
  91. package/build/v1/unregistered-users/schemas/authenticate-request.schema.d.ts +2 -0
  92. package/build/v1/unregistered-users/schemas/authenticate-request.schema.js +6 -4
  93. package/build/v1/users/commands/email-change-start.command.d.ts +1 -1
  94. package/build/v1/users/schemas/change-password-request.schema.d.ts +1 -1
  95. package/build/v1/users/schemas/change-password-request.schema.js +9 -3
  96. package/build/v1/users/schemas/delete-account-start-request.schema.d.ts +4 -0
  97. package/build/v1/users/schemas/delete-account-start-request.schema.js +7 -1
  98. package/build/v1/users/schemas/email-change-start-request.schema.d.ts +5 -1
  99. package/build/v1/users/schemas/email-change-start-request.schema.js +7 -1
  100. package/build/v1/users/schemas/password-change-complete-request.schema.d.ts +4 -0
  101. package/build/v1/users/schemas/password-change-complete-request.schema.js +10 -2
  102. package/build/v1/users/schemas/password-change-start-request.schema.d.ts +4 -0
  103. package/build/v1/users/schemas/password-change-start-request.schema.js +7 -1
  104. package/build/v1/users/schemas/toggle-marketing-consent-request.schema.d.ts +1 -0
  105. package/build/v1/users/schemas/toggle-marketing-consent-request.schema.js +4 -1
  106. package/build/v1/users/schemas/update-profile-request.schema.d.ts +1 -1
  107. package/build/v1/users/schemas/update-profile-request.schema.js +5 -2
  108. package/build/v1/verification/schemas/verification-complete-request.schema.d.ts +4 -0
  109. package/build/v1/verification/schemas/verification-complete-request.schema.js +7 -1
  110. package/build/v1/verification/schemas/verification-resend-request.schema.d.ts +4 -0
  111. package/build/v1/verification/schemas/verification-resend-request.schema.js +10 -2
  112. package/build/v1/verification/schemas/verification-verify-request.schema.d.ts +4 -0
  113. package/build/v1/verification/schemas/verification-verify-request.schema.js +13 -3
  114. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * Pagination query params schema
4
+ * Error messages: PaginationQuery.{field}.{rule}
4
5
  */
5
6
  export declare const PaginationQuerySchema: z.ZodObject<{
6
7
  page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -4,10 +4,20 @@ exports.createPaginatedResponseSchema = exports.PaginationMetaSchema = exports.P
4
4
  const zod_1 = require("zod");
5
5
  /**
6
6
  * Pagination query params schema
7
+ * Error messages: PaginationQuery.{field}.{rule}
7
8
  */
8
9
  exports.PaginationQuerySchema = zod_1.z.object({
9
- page: zod_1.z.coerce.number().int().positive().default(1),
10
- limit: zod_1.z.coerce.number().int().positive().max(100).default(10),
10
+ page: zod_1.z.coerce
11
+ .number()
12
+ .int({ message: 'PaginationQuery.page.invalid' })
13
+ .positive({ message: 'PaginationQuery.page.invalid' })
14
+ .default(1),
15
+ limit: zod_1.z.coerce
16
+ .number()
17
+ .int({ message: 'PaginationQuery.limit.invalid' })
18
+ .positive({ message: 'PaginationQuery.limit.invalid' })
19
+ .max(100, { message: 'PaginationQuery.limit.max' })
20
+ .default(10),
11
21
  });
12
22
  /**
13
23
  * Pagination metadata schema
@@ -4,6 +4,10 @@ import { ModelMark } from './model-mark.enum';
4
4
  import { ModelType } from './model-type.enum';
5
5
  import { ApiProvider } from './api-provider.enum';
6
6
  import { Modality } from './modality.enum';
7
+ /**
8
+ * Create Model Request Schema
9
+ * Error messages: CreateModelRequest.{field}.{rule}
10
+ */
7
11
  export declare const CreateModelRequestSchema: z.ZodObject<{
8
12
  title: z.ZodString;
9
13
  description: z.ZodDefault<z.ZodString>;
@@ -7,25 +7,55 @@ const model_mark_enum_1 = require("./model-mark.enum");
7
7
  const model_type_enum_1 = require("./model-type.enum");
8
8
  const api_provider_enum_1 = require("./api-provider.enum");
9
9
  const modality_enum_1 = require("./modality.enum");
10
+ /**
11
+ * Create Model Request Schema
12
+ * Error messages: CreateModelRequest.{field}.{rule}
13
+ */
10
14
  exports.CreateModelRequestSchema = zod_1.z.object({
11
- title: zod_1.z.string().min(1).max(255),
15
+ title: zod_1.z
16
+ .string({ error: 'CreateModelRequest.title.required' })
17
+ .min(1, { message: 'CreateModelRequest.title.min' })
18
+ .max(255, { message: 'CreateModelRequest.title.max' }),
12
19
  description: zod_1.z.string().default(''),
13
- model: zod_1.z.string().min(1).max(100),
20
+ model: zod_1.z
21
+ .string({ error: 'CreateModelRequest.model.required' })
22
+ .min(1, { message: 'CreateModelRequest.model.min' })
23
+ .max(100, { message: 'CreateModelRequest.model.max' }),
14
24
  icon: zod_1.z
15
- .string()
16
- .url()
25
+ .string({ error: 'CreateModelRequest.icon.required' })
26
+ .url({ message: 'CreateModelRequest.icon.invalid' })
17
27
  .refine((url) => url.startsWith('https://'), {
18
- message: 'Icon URL must use HTTPS',
28
+ message: 'CreateModelRequest.icon.https',
19
29
  }),
20
30
  status: zod_1.z.nativeEnum(ai_model_status_enum_1.AiModelStatus).default(ai_model_status_enum_1.AiModelStatus.ACTIVE),
21
- order: zod_1.z.number().int().nonnegative().default(0),
22
- providerUuid: zod_1.z.string().uuid().optional(),
31
+ order: zod_1.z
32
+ .number()
33
+ .int({ message: 'CreateModelRequest.order.invalid' })
34
+ .nonnegative({ message: 'CreateModelRequest.order.invalid' })
35
+ .default(0),
36
+ providerUuid: zod_1.z
37
+ .string()
38
+ .uuid({ message: 'CreateModelRequest.providerUuid.invalid' })
39
+ .optional(),
23
40
  marks: zod_1.z.array(zod_1.z.nativeEnum(model_mark_enum_1.ModelMark)).default([]),
24
- price: zod_1.z.number().int().positive().default(1),
25
- speed: zod_1.z.number().int().min(1).max(5).default(3),
41
+ price: zod_1.z
42
+ .number()
43
+ .int({ message: 'CreateModelRequest.price.invalid' })
44
+ .positive({ message: 'CreateModelRequest.price.invalid' })
45
+ .default(1),
46
+ speed: zod_1.z
47
+ .number()
48
+ .int()
49
+ .min(1, { message: 'CreateModelRequest.speed.min' })
50
+ .max(5, { message: 'CreateModelRequest.speed.max' })
51
+ .default(3),
26
52
  bestFor: zod_1.z.array(zod_1.z.string()).default([]),
27
53
  usageExamples: zod_1.z.array(zod_1.z.string()).default([]),
28
- contextLength: zod_1.z.number().int().positive().default(128000),
54
+ contextLength: zod_1.z
55
+ .number()
56
+ .int({ message: 'CreateModelRequest.contextLength.invalid' })
57
+ .positive({ message: 'CreateModelRequest.contextLength.invalid' })
58
+ .default(128000),
29
59
  apiProvider: zod_1.z.nativeEnum(api_provider_enum_1.ApiProvider).default(api_provider_enum_1.ApiProvider.OPENROUTER),
30
60
  inputModalities: zod_1.z.array(zod_1.z.nativeEnum(modality_enum_1.Modality)).default([modality_enum_1.Modality.TEXT]),
31
61
  outputModalities: zod_1.z.array(zod_1.z.nativeEnum(modality_enum_1.Modality)).default([modality_enum_1.Modality.TEXT]),
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { AiModelStatus } from './ai-model-status.enum';
3
+ /**
4
+ * Get Models Filters Schema
5
+ * Error messages: GetModelsFilters.{field}.{rule}
6
+ */
3
7
  export declare const GetModelsFiltersSchema: z.ZodObject<{
4
8
  status: z.ZodOptional<z.ZodEnum<typeof AiModelStatus>>;
5
9
  providerUuid: z.ZodOptional<z.ZodString>;
@@ -3,7 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetModelsFiltersSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const ai_model_status_enum_1 = require("./ai-model-status.enum");
6
+ /**
7
+ * Get Models Filters Schema
8
+ * Error messages: GetModelsFilters.{field}.{rule}
9
+ */
6
10
  exports.GetModelsFiltersSchema = zod_1.z.object({
7
11
  status: zod_1.z.nativeEnum(ai_model_status_enum_1.AiModelStatus).optional(),
8
- providerUuid: zod_1.z.string().uuid().optional(),
12
+ providerUuid: zod_1.z
13
+ .string()
14
+ .uuid({ message: 'GetModelsFilters.providerUuid.invalid' })
15
+ .optional(),
9
16
  });
@@ -1,4 +1,8 @@
1
1
  import { z } from 'zod';
2
+ /**
3
+ * Model UUID Params Schema
4
+ * Error messages: ModelUuidParams.{field}.{rule}
5
+ */
2
6
  export declare const UuidParamsSchema: z.ZodObject<{
3
7
  uuid: z.ZodString;
4
8
  }, z.core.$strip>;
@@ -2,6 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UuidParamsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ /**
6
+ * Model UUID Params Schema
7
+ * Error messages: ModelUuidParams.{field}.{rule}
8
+ */
5
9
  exports.UuidParamsSchema = zod_1.z.object({
6
- uuid: zod_1.z.string().uuid(),
10
+ uuid: zod_1.z
11
+ .string({ error: 'ModelUuidParams.uuid.required' })
12
+ .uuid({ message: 'ModelUuidParams.uuid.invalid' }),
7
13
  });
@@ -4,6 +4,10 @@ import { ModelMark } from './model-mark.enum';
4
4
  import { ModelType } from './model-type.enum';
5
5
  import { ApiProvider } from './api-provider.enum';
6
6
  import { Modality } from './modality.enum';
7
+ /**
8
+ * Update Model Request Schema
9
+ * Error messages: UpdateModelRequest.{field}.{rule}
10
+ */
7
11
  export declare const UpdateModelRequestSchema: z.ZodObject<{
8
12
  title: z.ZodOptional<z.ZodString>;
9
13
  description: z.ZodOptional<z.ZodString>;
@@ -7,26 +7,59 @@ const model_mark_enum_1 = require("./model-mark.enum");
7
7
  const model_type_enum_1 = require("./model-type.enum");
8
8
  const api_provider_enum_1 = require("./api-provider.enum");
9
9
  const modality_enum_1 = require("./modality.enum");
10
+ /**
11
+ * Update Model Request Schema
12
+ * Error messages: UpdateModelRequest.{field}.{rule}
13
+ */
10
14
  exports.UpdateModelRequestSchema = zod_1.z.object({
11
- title: zod_1.z.string().min(1).max(255).optional(),
15
+ title: zod_1.z
16
+ .string()
17
+ .min(1, { message: 'UpdateModelRequest.title.min' })
18
+ .max(255, { message: 'UpdateModelRequest.title.max' })
19
+ .optional(),
12
20
  description: zod_1.z.string().optional(),
13
- model: zod_1.z.string().min(1).max(100).optional(),
21
+ model: zod_1.z
22
+ .string()
23
+ .min(1, { message: 'UpdateModelRequest.model.min' })
24
+ .max(100, { message: 'UpdateModelRequest.model.max' })
25
+ .optional(),
14
26
  icon: zod_1.z
15
27
  .string()
16
- .url()
28
+ .url({ message: 'UpdateModelRequest.icon.invalid' })
17
29
  .refine((url) => url.startsWith('https://'), {
18
- message: 'Icon URL must use HTTPS',
30
+ message: 'UpdateModelRequest.icon.https',
19
31
  })
20
32
  .optional(),
21
33
  status: zod_1.z.nativeEnum(ai_model_status_enum_1.AiModelStatus).optional(),
22
- order: zod_1.z.number().int().nonnegative().optional(),
23
- providerUuid: zod_1.z.string().uuid().nullable().optional(),
34
+ order: zod_1.z
35
+ .number()
36
+ .int({ message: 'UpdateModelRequest.order.invalid' })
37
+ .nonnegative({ message: 'UpdateModelRequest.order.invalid' })
38
+ .optional(),
39
+ providerUuid: zod_1.z
40
+ .string()
41
+ .uuid({ message: 'UpdateModelRequest.providerUuid.invalid' })
42
+ .nullable()
43
+ .optional(),
24
44
  marks: zod_1.z.array(zod_1.z.nativeEnum(model_mark_enum_1.ModelMark)).optional(),
25
- price: zod_1.z.number().int().positive().optional(),
26
- speed: zod_1.z.number().int().min(1).max(5).optional(),
45
+ price: zod_1.z
46
+ .number()
47
+ .int({ message: 'UpdateModelRequest.price.invalid' })
48
+ .positive({ message: 'UpdateModelRequest.price.invalid' })
49
+ .optional(),
50
+ speed: zod_1.z
51
+ .number()
52
+ .int()
53
+ .min(1, { message: 'UpdateModelRequest.speed.min' })
54
+ .max(5, { message: 'UpdateModelRequest.speed.max' })
55
+ .optional(),
27
56
  bestFor: zod_1.z.array(zod_1.z.string()).optional(),
28
57
  usageExamples: zod_1.z.array(zod_1.z.string()).optional(),
29
- contextLength: zod_1.z.number().int().positive().optional(),
58
+ contextLength: zod_1.z
59
+ .number()
60
+ .int({ message: 'UpdateModelRequest.contextLength.invalid' })
61
+ .positive({ message: 'UpdateModelRequest.contextLength.invalid' })
62
+ .optional(),
30
63
  apiProvider: zod_1.z.nativeEnum(api_provider_enum_1.ApiProvider).optional(),
31
64
  inputModalities: zod_1.z.array(zod_1.z.nativeEnum(modality_enum_1.Modality)).optional(),
32
65
  outputModalities: zod_1.z.array(zod_1.z.nativeEnum(modality_enum_1.Modality)).optional(),
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { AiProviderStatus } from './ai-provider-status.enum';
3
+ /**
4
+ * Create Provider Request Schema
5
+ * Error messages: CreateProviderRequest.{field}.{rule}
6
+ */
3
7
  export declare const CreateProviderRequestSchema: z.ZodObject<{
4
8
  title: z.ZodString;
5
9
  icon: z.ZodString;
@@ -3,14 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreateProviderRequestSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const ai_provider_status_enum_1 = require("./ai-provider-status.enum");
6
+ /**
7
+ * Create Provider Request Schema
8
+ * Error messages: CreateProviderRequest.{field}.{rule}
9
+ */
6
10
  exports.CreateProviderRequestSchema = zod_1.z.object({
7
- title: zod_1.z.string().min(1).max(100),
11
+ title: zod_1.z
12
+ .string({ error: 'CreateProviderRequest.title.required' })
13
+ .min(1, { message: 'CreateProviderRequest.title.min' })
14
+ .max(100, { message: 'CreateProviderRequest.title.max' }),
8
15
  icon: zod_1.z
9
- .string()
10
- .url()
16
+ .string({ error: 'CreateProviderRequest.icon.required' })
17
+ .url({ message: 'CreateProviderRequest.icon.invalid' })
11
18
  .refine((url) => url.startsWith('https://'), {
12
- message: 'Icon URL must use HTTPS',
19
+ message: 'CreateProviderRequest.icon.https',
13
20
  }),
14
21
  status: zod_1.z.nativeEnum(ai_provider_status_enum_1.AiProviderStatus).default(ai_provider_status_enum_1.AiProviderStatus.ACTIVE),
15
- order: zod_1.z.number().int().nonnegative().default(0),
22
+ order: zod_1.z
23
+ .number()
24
+ .int({ message: 'CreateProviderRequest.order.invalid' })
25
+ .nonnegative({ message: 'CreateProviderRequest.order.invalid' })
26
+ .default(0),
16
27
  });
@@ -1,4 +1,8 @@
1
1
  import { z } from 'zod';
2
+ /**
3
+ * Provider UUID Param Schema
4
+ * Error messages: ProviderUuidParam.{field}.{rule}
5
+ */
2
6
  export declare const ProviderUuidParamSchema: z.ZodObject<{
3
7
  uuid: z.ZodString;
4
8
  }, z.core.$strip>;
@@ -3,6 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProviderUuidParamSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const shared_1 = require("../../../shared");
6
+ /**
7
+ * Provider UUID Param Schema
8
+ * Error messages: ProviderUuidParam.{field}.{rule}
9
+ */
6
10
  exports.ProviderUuidParamSchema = zod_1.z.object({
7
- uuid: zod_1.z.string().regex(shared_1.UUID_REGEX),
11
+ uuid: zod_1.z
12
+ .string({ error: 'ProviderUuidParam.uuid.required' })
13
+ .regex(shared_1.UUID_REGEX, { message: 'ProviderUuidParam.uuid.invalid' }),
8
14
  });
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { AiProviderStatus } from './ai-provider-status.enum';
3
+ /**
4
+ * Update Provider Request Schema
5
+ * Error messages: UpdateProviderRequest.{field}.{rule}
6
+ */
3
7
  export declare const UpdateProviderRequestSchema: z.ZodObject<{
4
8
  title: z.ZodOptional<z.ZodString>;
5
9
  icon: z.ZodOptional<z.ZodString>;
@@ -3,15 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UpdateProviderRequestSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const ai_provider_status_enum_1 = require("./ai-provider-status.enum");
6
+ /**
7
+ * Update Provider Request Schema
8
+ * Error messages: UpdateProviderRequest.{field}.{rule}
9
+ */
6
10
  exports.UpdateProviderRequestSchema = zod_1.z.object({
7
- title: zod_1.z.string().min(1).max(100).optional(),
11
+ title: zod_1.z
12
+ .string()
13
+ .min(1, { message: 'UpdateProviderRequest.title.min' })
14
+ .max(100, { message: 'UpdateProviderRequest.title.max' })
15
+ .optional(),
8
16
  icon: zod_1.z
9
17
  .string()
10
- .url()
18
+ .url({ message: 'UpdateProviderRequest.icon.invalid' })
11
19
  .refine((url) => url.startsWith('https://'), {
12
- message: 'Icon URL must use HTTPS',
20
+ message: 'UpdateProviderRequest.icon.https',
13
21
  })
14
22
  .optional(),
15
23
  status: zod_1.z.nativeEnum(ai_provider_status_enum_1.AiProviderStatus).optional(),
16
- order: zod_1.z.number().int().nonnegative().optional(),
24
+ order: zod_1.z
25
+ .number()
26
+ .int({ message: 'UpdateProviderRequest.order.invalid' })
27
+ .nonnegative({ message: 'UpdateProviderRequest.order.invalid' })
28
+ .optional(),
17
29
  });
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * SignIn Request Schema
4
- * Error messages are in locales (en.ts, ru.ts)
4
+ * Error messages: SignInRequest.{field}.{rule}
5
5
  */
6
6
  export declare const SignInRequestSchema: z.ZodObject<{
7
7
  email: z.ZodString;
@@ -5,9 +5,13 @@ const zod_1 = require("zod");
5
5
  const regex_1 = require("../../../shared/regex");
6
6
  /**
7
7
  * SignIn Request Schema
8
- * Error messages are in locales (en.ts, ru.ts)
8
+ * Error messages: SignInRequest.{field}.{rule}
9
9
  */
10
10
  exports.SignInRequestSchema = zod_1.z.object({
11
- email: zod_1.z.string().regex(regex_1.EMAIL_REGEX),
12
- password: zod_1.z.string().min(1),
11
+ email: zod_1.z
12
+ .string({ error: 'SignInRequest.email.required' })
13
+ .regex(regex_1.EMAIL_REGEX, { message: 'SignInRequest.email.invalid' }),
14
+ password: zod_1.z
15
+ .string({ error: 'SignInRequest.password.required' })
16
+ .min(1, { message: 'SignInRequest.password.min' }),
13
17
  });
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * Sign Up Request Schema
4
- * Error messages are in locales (en.ts, ru.ts)
4
+ * Error messages: SignUpRequest.{field}.{rule}
5
5
  */
6
6
  export declare const SignUpRequestSchema: z.ZodObject<{
7
7
  email: z.ZodString;
@@ -5,11 +5,19 @@ const zod_1 = require("zod");
5
5
  const regex_1 = require("../../../shared/regex");
6
6
  /**
7
7
  * Sign Up Request Schema
8
- * Error messages are in locales (en.ts, ru.ts)
8
+ * Error messages: SignUpRequest.{field}.{rule}
9
9
  */
10
10
  exports.SignUpRequestSchema = zod_1.z.object({
11
- email: zod_1.z.string().regex(regex_1.EMAIL_REGEX),
12
- password: zod_1.z.string().min(8).max(128).regex(regex_1.PASSWORD_STRENGTH_REGEX),
13
- name: zod_1.z.string().min(2),
11
+ email: zod_1.z
12
+ .string({ error: 'SignUpRequest.email.required' })
13
+ .regex(regex_1.EMAIL_REGEX, { message: 'SignUpRequest.email.invalid' }),
14
+ password: zod_1.z
15
+ .string({ error: 'SignUpRequest.password.required' })
16
+ .min(8, { message: 'SignUpRequest.password.min' })
17
+ .max(128, { message: 'SignUpRequest.password.max' })
18
+ .regex(regex_1.PASSWORD_STRENGTH_REGEX, { message: 'SignUpRequest.password.weak' }),
19
+ name: zod_1.z
20
+ .string({ error: 'SignUpRequest.name.required' })
21
+ .min(2, { message: 'SignUpRequest.name.min' }),
14
22
  marketingConsent: zod_1.z.boolean().default(false),
15
23
  });
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { BlogCategoryStatus } from './blog-category-status.enum';
3
+ /**
4
+ * Create Category Request Schema
5
+ * Error messages: CreateCategoryRequest.{field}.{rule}
6
+ */
3
7
  export declare const CreateCategoryRequestSchema: z.ZodObject<{
4
8
  alias: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5
9
  title: z.ZodString;
@@ -4,9 +4,21 @@ exports.CreateCategoryRequestSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const shared_1 = require("../../../shared");
6
6
  const blog_category_status_enum_1 = require("./blog-category-status.enum");
7
+ /**
8
+ * Create Category Request Schema
9
+ * Error messages: CreateCategoryRequest.{field}.{rule}
10
+ */
7
11
  exports.CreateCategoryRequestSchema = zod_1.z.object({
8
- alias: zod_1.z.string().min(1).max(100).regex(shared_1.SLUG_REGEX).transform(val => val.toLowerCase().trim()),
9
- title: zod_1.z.string().min(1).max(200),
10
- order: zod_1.z.number().int().nonnegative().default(0),
11
- status: zod_1.z.enum(blog_category_status_enum_1.BlogCategoryStatus).default(blog_category_status_enum_1.BlogCategoryStatus.DRAFT),
12
+ alias: zod_1.z
13
+ .string({ error: 'CreateCategoryRequest.alias.required' })
14
+ .min(1, { message: 'CreateCategoryRequest.alias.min' })
15
+ .max(100, { message: 'CreateCategoryRequest.alias.max' })
16
+ .regex(shared_1.SLUG_REGEX, { message: 'CreateCategoryRequest.alias.invalid' })
17
+ .transform((val) => val.toLowerCase().trim()),
18
+ title: zod_1.z
19
+ .string({ error: 'CreateCategoryRequest.title.required' })
20
+ .min(1, { message: 'CreateCategoryRequest.title.min' })
21
+ .max(200, { message: 'CreateCategoryRequest.title.max' }),
22
+ order: zod_1.z.number().int().nonnegative({ message: 'CreateCategoryRequest.order.invalid' }).default(0),
23
+ status: zod_1.z.nativeEnum(blog_category_status_enum_1.BlogCategoryStatus).default(blog_category_status_enum_1.BlogCategoryStatus.DRAFT),
12
24
  });
@@ -1,6 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import { BlogPostStatus } from './blog-post-status.enum';
3
3
  import { BlogPostMark } from './blog-post-mark.enum';
4
+ /**
5
+ * Create Post Request Schema
6
+ * Error messages: CreatePostRequest.{field}.{rule}
7
+ */
4
8
  export declare const CreatePostRequestSchema: z.ZodObject<{
5
9
  alias: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
6
10
  title: z.ZodString;
@@ -5,27 +5,62 @@ const zod_1 = require("zod");
5
5
  const shared_1 = require("../../../shared");
6
6
  const blog_post_status_enum_1 = require("./blog-post-status.enum");
7
7
  const blog_post_mark_enum_1 = require("./blog-post-mark.enum");
8
+ /**
9
+ * Create Post Request Schema
10
+ * Error messages: CreatePostRequest.{field}.{rule}
11
+ */
8
12
  exports.CreatePostRequestSchema = zod_1.z
9
13
  .object({
10
14
  alias: zod_1.z
11
- .string()
12
- .min(1)
13
- .max(200)
14
- .regex(shared_1.SLUG_REGEX)
15
+ .string({ error: 'CreatePostRequest.alias.required' })
16
+ .min(1, { message: 'CreatePostRequest.alias.min' })
17
+ .max(200, { message: 'CreatePostRequest.alias.max' })
18
+ .regex(shared_1.SLUG_REGEX, { message: 'CreatePostRequest.alias.invalid' })
15
19
  .transform((val) => val.toLowerCase().trim()),
16
- title: zod_1.z.string().min(1).max(300),
17
- description: zod_1.z.string().max(1000),
18
- metaTitle: zod_1.z.string().min(1).max(100),
19
- metaDescription: zod_1.z.string().min(1).max(200),
20
- content: zod_1.z.string().min(1).max(1000000),
21
- image: zod_1.z.string().url(),
22
- author: zod_1.z.string().min(1).max(100),
23
- categoryIds: zod_1.z.array(zod_1.z.string().regex(shared_1.UUID_REGEX)).min(1),
20
+ title: zod_1.z
21
+ .string({ error: 'CreatePostRequest.title.required' })
22
+ .min(1, { message: 'CreatePostRequest.title.min' })
23
+ .max(300, { message: 'CreatePostRequest.title.max' }),
24
+ description: zod_1.z.string().max(1000, { message: 'CreatePostRequest.description.max' }),
25
+ metaTitle: zod_1.z
26
+ .string({ error: 'CreatePostRequest.metaTitle.required' })
27
+ .min(1, { message: 'CreatePostRequest.metaTitle.min' })
28
+ .max(100, { message: 'CreatePostRequest.metaTitle.max' }),
29
+ metaDescription: zod_1.z
30
+ .string({ error: 'CreatePostRequest.metaDescription.required' })
31
+ .min(1, { message: 'CreatePostRequest.metaDescription.min' })
32
+ .max(200, { message: 'CreatePostRequest.metaDescription.max' }),
33
+ content: zod_1.z
34
+ .string({ error: 'CreatePostRequest.content.required' })
35
+ .min(1, { message: 'CreatePostRequest.content.min' })
36
+ .max(1000000, { message: 'CreatePostRequest.content.max' }),
37
+ image: zod_1.z
38
+ .string({ error: 'CreatePostRequest.image.required' })
39
+ .url({ message: 'CreatePostRequest.image.invalid' }),
40
+ author: zod_1.z
41
+ .string({ error: 'CreatePostRequest.author.required' })
42
+ .min(1, { message: 'CreatePostRequest.author.min' })
43
+ .max(100, { message: 'CreatePostRequest.author.max' }),
44
+ categoryIds: zod_1.z
45
+ .array(zod_1.z.string().regex(shared_1.UUID_REGEX, { message: 'CreatePostRequest.categoryIds.invalidUuid' }))
46
+ .min(1, { message: 'CreatePostRequest.categoryIds.min' }),
24
47
  status: zod_1.z.nativeEnum(blog_post_status_enum_1.BlogPostStatus).default(blog_post_status_enum_1.BlogPostStatus.DRAFT),
25
- pageId: zod_1.z.string().regex(shared_1.UUID_REGEX).nullable().optional(),
48
+ pageId: zod_1.z
49
+ .string()
50
+ .regex(shared_1.UUID_REGEX, { message: 'CreatePostRequest.pageId.invalidUuid' })
51
+ .nullable()
52
+ .optional(),
26
53
  marks: zod_1.z.array(zod_1.z.nativeEnum(blog_post_mark_enum_1.BlogPostMark)).default([]),
27
- aiWidgetPlaceholder: zod_1.z.string().max(500).nullable().optional(),
28
- aiWidgetPrompt: zod_1.z.string().max(2000).nullable().optional(),
54
+ aiWidgetPlaceholder: zod_1.z
55
+ .string()
56
+ .max(500, { message: 'CreatePostRequest.aiWidgetPlaceholder.max' })
57
+ .nullable()
58
+ .optional(),
59
+ aiWidgetPrompt: zod_1.z
60
+ .string()
61
+ .max(2000, { message: 'CreatePostRequest.aiWidgetPrompt.max' })
62
+ .nullable()
63
+ .optional(),
29
64
  })
30
65
  .refine((data) => {
31
66
  if (data.marks.includes(blog_post_mark_enum_1.BlogPostMark.AI_WIDGET)) {
@@ -33,5 +68,5 @@ exports.CreatePostRequestSchema = zod_1.z
33
68
  }
34
69
  return true;
35
70
  }, {
36
- message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when AI_WIDGET mark is present',
71
+ message: 'CreatePostRequest.aiWidgetRequired',
37
72
  });
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  /**
3
3
  * Schema for UUID route parameter validation
4
4
  * Used in admin endpoints: GET /posts/:uuid, DELETE /posts/:uuid, etc.
5
+ * Error messages: UuidParam.{field}.{rule}
5
6
  */
6
7
  export declare const UuidParamSchema: z.ZodObject<{
7
8
  uuid: z.ZodString;
@@ -9,6 +10,7 @@ export declare const UuidParamSchema: z.ZodObject<{
9
10
  /**
10
11
  * Schema for alias route parameter validation
11
12
  * Used in public endpoints: GET /posts/:alias
13
+ * Error messages: AliasParam.{field}.{rule}
12
14
  */
13
15
  export declare const AliasParamSchema: z.ZodObject<{
14
16
  alias: z.ZodString;
@@ -6,18 +6,22 @@ const regex_1 = require("../../../shared/regex");
6
6
  /**
7
7
  * Schema for UUID route parameter validation
8
8
  * Used in admin endpoints: GET /posts/:uuid, DELETE /posts/:uuid, etc.
9
+ * Error messages: UuidParam.{field}.{rule}
9
10
  */
10
11
  exports.UuidParamSchema = zod_1.z.object({
11
- uuid: zod_1.z.string().uuid({ message: 'Invalid UUID format' }),
12
+ uuid: zod_1.z
13
+ .string({ error: 'UuidParam.uuid.required' })
14
+ .uuid({ message: 'UuidParam.uuid.invalid' }),
12
15
  });
13
16
  /**
14
17
  * Schema for alias route parameter validation
15
18
  * Used in public endpoints: GET /posts/:alias
19
+ * Error messages: AliasParam.{field}.{rule}
16
20
  */
17
21
  exports.AliasParamSchema = zod_1.z.object({
18
22
  alias: zod_1.z
19
- .string()
20
- .min(1, { message: 'Alias cannot be empty' })
21
- .max(200, { message: 'Alias too long (max 200 characters)' })
22
- .regex(regex_1.SLUG_REGEX, { message: 'Alias must contain only lowercase letters, numbers, and hyphens' }),
23
+ .string({ error: 'AliasParam.alias.required' })
24
+ .min(1, { message: 'AliasParam.alias.min' })
25
+ .max(200, { message: 'AliasParam.alias.max' })
26
+ .regex(regex_1.SLUG_REGEX, { message: 'AliasParam.alias.invalid' }),
23
27
  });
@@ -1,5 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { BlogCategoryStatus } from './blog-category-status.enum';
3
+ /**
4
+ * Update Category Request Schema
5
+ * Error messages: UpdateCategoryRequest.{field}.{rule}
6
+ */
3
7
  export declare const UpdateCategoryRequestSchema: z.ZodObject<{
4
8
  alias: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
5
9
  title: z.ZodOptional<z.ZodString>;
@@ -4,9 +4,23 @@ exports.UpdateCategoryRequestSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const regex_1 = require("../../../shared/regex");
6
6
  const blog_category_status_enum_1 = require("./blog-category-status.enum");
7
+ /**
8
+ * Update Category Request Schema
9
+ * Error messages: UpdateCategoryRequest.{field}.{rule}
10
+ */
7
11
  exports.UpdateCategoryRequestSchema = zod_1.z.object({
8
- alias: zod_1.z.string().min(1).max(100).regex(regex_1.SLUG_REGEX).transform(val => val.toLowerCase().trim()).optional(),
9
- title: zod_1.z.string().min(1).max(200).optional(),
10
- order: zod_1.z.number().int().nonnegative().optional(),
12
+ alias: zod_1.z
13
+ .string()
14
+ .min(1, { message: 'UpdateCategoryRequest.alias.min' })
15
+ .max(100, { message: 'UpdateCategoryRequest.alias.max' })
16
+ .regex(regex_1.SLUG_REGEX, { message: 'UpdateCategoryRequest.alias.invalid' })
17
+ .transform((val) => val.toLowerCase().trim())
18
+ .optional(),
19
+ title: zod_1.z
20
+ .string()
21
+ .min(1, { message: 'UpdateCategoryRequest.title.min' })
22
+ .max(200, { message: 'UpdateCategoryRequest.title.max' })
23
+ .optional(),
24
+ order: zod_1.z.number().int().nonnegative({ message: 'UpdateCategoryRequest.order.invalid' }).optional(),
11
25
  status: zod_1.z.nativeEnum(blog_category_status_enum_1.BlogCategoryStatus).optional(),
12
26
  });