@veruna/api-contracts 1.0.39 → 1.0.40

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.
@@ -12,7 +12,7 @@ export declare namespace AdminBlogCreatePostCommand {
12
12
  categoryIds: z.ZodArray<z.ZodString>;
13
13
  status: z.ZodDefault<z.ZodEnum<typeof import("../../schemas").BlogPostStatus>>;
14
14
  pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
- aiWidgetEnabled: z.ZodDefault<z.ZodBoolean>;
15
+ marks: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>>;
16
16
  aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
17
  aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
18
  }, z.core.$strip>;
@@ -37,7 +37,7 @@ export declare namespace AdminBlogCreatePostCommand {
37
37
  viewsCount: z.ZodNumber;
38
38
  status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
39
39
  pageId: z.ZodNullable<z.ZodString>;
40
- aiWidgetEnabled: z.ZodBoolean;
40
+ marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
41
41
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
42
42
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
43
43
  createdAt: z.ZodString;
@@ -12,7 +12,7 @@ export declare namespace AdminBlogUpdatePostCommand {
12
12
  categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
13
  status: z.ZodOptional<z.ZodEnum<typeof import("../../schemas").BlogPostStatus>>;
14
14
  pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
- aiWidgetEnabled: z.ZodOptional<z.ZodBoolean>;
15
+ marks: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>>;
16
16
  aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
17
  aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
18
  }, z.core.$strip>;
@@ -37,7 +37,7 @@ export declare namespace AdminBlogUpdatePostCommand {
37
37
  viewsCount: z.ZodNumber;
38
38
  status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
39
39
  pageId: z.ZodNullable<z.ZodString>;
40
- aiWidgetEnabled: z.ZodBoolean;
40
+ marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
41
41
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
42
42
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
43
43
  createdAt: z.ZodString;
@@ -25,7 +25,7 @@ export declare namespace AdminBlogGetPostQuery {
25
25
  viewsCount: z.ZodNumber;
26
26
  status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
27
27
  pageId: z.ZodNullable<z.ZodString>;
28
- aiWidgetEnabled: z.ZodBoolean;
28
+ marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
29
29
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
30
30
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
31
31
  createdAt: z.ZodString;
@@ -29,7 +29,7 @@ export declare namespace AdminBlogGetPostsQuery {
29
29
  viewsCount: z.ZodNumber;
30
30
  status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
31
31
  pageId: z.ZodNullable<z.ZodString>;
32
- aiWidgetEnabled: z.ZodBoolean;
32
+ marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
33
33
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
34
34
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
35
35
  createdAt: z.ZodString;
@@ -25,11 +25,15 @@ export declare namespace BlogGetPostByAliasQuery {
25
25
  viewsCount: z.ZodNumber;
26
26
  status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
27
27
  pageId: z.ZodNullable<z.ZodString>;
28
- aiWidgetEnabled: z.ZodBoolean;
28
+ marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
29
29
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
30
30
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
31
31
  createdAt: z.ZodString;
32
32
  updatedAt: z.ZodString;
33
+ page: z.ZodNullable<z.ZodObject<{
34
+ uuid: z.ZodString;
35
+ alias: z.ZodString;
36
+ }, z.core.$strip>>;
33
37
  }, z.core.$strip>;
34
38
  const URL: (alias: string) => string;
35
39
  const METHOD = HttpMethod.GET;
@@ -7,7 +7,7 @@ const http_method_1 = require("../../../../shared/http-method");
7
7
  var BlogGetPostByAliasQuery;
8
8
  (function (BlogGetPostByAliasQuery) {
9
9
  BlogGetPostByAliasQuery.Request = schemas_1.AliasParamSchema;
10
- BlogGetPostByAliasQuery.Response = schemas_1.PostResponseSchema;
10
+ BlogGetPostByAliasQuery.Response = schemas_1.PublicPostResponseSchema;
11
11
  BlogGetPostByAliasQuery.URL = (alias) => rest_api_1.REST_API.V1.BLOG.PUBLIC.POSTS.GET_BY_ALIAS(alias);
12
12
  BlogGetPostByAliasQuery.METHOD = http_method_1.HttpMethod.GET;
13
13
  })(BlogGetPostByAliasQuery || (exports.BlogGetPostByAliasQuery = BlogGetPostByAliasQuery = {}));
@@ -28,7 +28,7 @@ export declare namespace BlogGetPostsQuery {
28
28
  viewsCount: z.ZodNumber;
29
29
  status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
30
30
  pageId: z.ZodNullable<z.ZodString>;
31
- aiWidgetEnabled: z.ZodBoolean;
31
+ marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
32
32
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
33
33
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
34
34
  createdAt: z.ZodString;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Blog Post Marks Enum
3
+ * Used as feature flags for blog posts
4
+ */
5
+ export declare enum BlogPostMark {
6
+ AI_WIDGET = "AI_WIDGET"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlogPostMark = void 0;
4
+ /**
5
+ * Blog Post Marks Enum
6
+ * Used as feature flags for blog posts
7
+ */
8
+ var BlogPostMark;
9
+ (function (BlogPostMark) {
10
+ BlogPostMark["AI_WIDGET"] = "AI_WIDGET";
11
+ })(BlogPostMark || (exports.BlogPostMark = BlogPostMark = {}));
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { BlogPostStatus } from './blog-post-status.enum';
3
+ import { BlogPostMark } from './blog-post-mark.enum';
3
4
  export declare const CreatePostRequestSchema: z.ZodObject<{
4
5
  alias: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5
6
  title: z.ZodString;
@@ -11,7 +12,7 @@ export declare const CreatePostRequestSchema: z.ZodObject<{
11
12
  categoryIds: z.ZodArray<z.ZodString>;
12
13
  status: z.ZodDefault<z.ZodEnum<typeof BlogPostStatus>>;
13
14
  pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
- aiWidgetEnabled: z.ZodDefault<z.ZodBoolean>;
15
+ marks: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof BlogPostMark>>>;
15
16
  aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
17
  aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
18
  }, z.core.$strip>;
@@ -4,6 +4,7 @@ exports.CreatePostRequestSchema = void 0;
4
4
  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
+ const blog_post_mark_enum_1 = require("./blog-post-mark.enum");
7
8
  exports.CreatePostRequestSchema = zod_1.z
8
9
  .object({
9
10
  alias: zod_1.z
@@ -19,17 +20,17 @@ exports.CreatePostRequestSchema = zod_1.z
19
20
  image: zod_1.z.string().url(),
20
21
  author: zod_1.z.string().min(1).max(100),
21
22
  categoryIds: zod_1.z.array(zod_1.z.string().regex(shared_1.UUID_REGEX)).min(1),
22
- status: zod_1.z.enum(blog_post_status_enum_1.BlogPostStatus).default(blog_post_status_enum_1.BlogPostStatus.DRAFT),
23
+ status: zod_1.z.nativeEnum(blog_post_status_enum_1.BlogPostStatus).default(blog_post_status_enum_1.BlogPostStatus.DRAFT),
23
24
  pageId: zod_1.z.string().regex(shared_1.UUID_REGEX).nullable().optional(),
24
- aiWidgetEnabled: zod_1.z.boolean().default(false),
25
+ marks: zod_1.z.array(zod_1.z.nativeEnum(blog_post_mark_enum_1.BlogPostMark)).default([]),
25
26
  aiWidgetPlaceholder: zod_1.z.string().max(500).nullable().optional(),
26
27
  aiWidgetPrompt: zod_1.z.string().max(2000).nullable().optional(),
27
28
  })
28
29
  .refine((data) => {
29
- if (data.aiWidgetEnabled) {
30
+ if (data.marks.includes(blog_post_mark_enum_1.BlogPostMark.AI_WIDGET)) {
30
31
  return data.pageId && data.aiWidgetPlaceholder && data.aiWidgetPrompt;
31
32
  }
32
33
  return true;
33
34
  }, {
34
- message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when aiWidgetEnabled is true',
35
+ message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when AI_WIDGET mark is present',
35
36
  });
@@ -1,9 +1,11 @@
1
1
  export * from './blog-category-status.enum';
2
2
  export * from './blog-post-status.enum';
3
+ export * from './blog-post-mark.enum';
3
4
  export * from './category-response.schema';
4
5
  export * from './create-category-request.schema';
5
6
  export * from './update-category-request.schema';
6
7
  export * from './post-response.schema';
8
+ export * from './public-post-response.schema';
7
9
  export * from './create-post-request.schema';
8
10
  export * from './update-post-request.schema';
9
11
  export * from './get-posts-query.schema';
@@ -16,10 +16,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./blog-category-status.enum"), exports);
18
18
  __exportStar(require("./blog-post-status.enum"), exports);
19
+ __exportStar(require("./blog-post-mark.enum"), exports);
19
20
  __exportStar(require("./category-response.schema"), exports);
20
21
  __exportStar(require("./create-category-request.schema"), exports);
21
22
  __exportStar(require("./update-category-request.schema"), exports);
22
23
  __exportStar(require("./post-response.schema"), exports);
24
+ __exportStar(require("./public-post-response.schema"), exports);
23
25
  __exportStar(require("./create-post-request.schema"), exports);
24
26
  __exportStar(require("./update-post-request.schema"), exports);
25
27
  __exportStar(require("./get-posts-query.schema"), exports);
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { BlogPostStatus } from './blog-post-status.enum';
3
+ import { BlogPostMark } from './blog-post-mark.enum';
3
4
  /**
4
5
  * Post Response Schema
5
6
  */
@@ -24,7 +25,7 @@ export declare const PostResponseSchema: z.ZodObject<{
24
25
  viewsCount: z.ZodNumber;
25
26
  status: z.ZodEnum<typeof BlogPostStatus>;
26
27
  pageId: z.ZodNullable<z.ZodString>;
27
- aiWidgetEnabled: z.ZodBoolean;
28
+ marks: z.ZodArray<z.ZodEnum<typeof BlogPostMark>>;
28
29
  aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
29
30
  aiWidgetPrompt: z.ZodNullable<z.ZodString>;
30
31
  createdAt: z.ZodString;
@@ -4,6 +4,7 @@ exports.PostResponseSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const regex_1 = require("../../../shared/regex");
6
6
  const blog_post_status_enum_1 = require("./blog-post-status.enum");
7
+ const blog_post_mark_enum_1 = require("./blog-post-mark.enum");
7
8
  const category_response_schema_1 = require("./category-response.schema");
8
9
  /**
9
10
  * Post Response Schema
@@ -21,7 +22,7 @@ exports.PostResponseSchema = zod_1.z.object({
21
22
  viewsCount: zod_1.z.number().int().nonnegative(),
22
23
  status: zod_1.z.nativeEnum(blog_post_status_enum_1.BlogPostStatus),
23
24
  pageId: zod_1.z.string().regex(regex_1.UUID_REGEX).nullable(),
24
- aiWidgetEnabled: zod_1.z.boolean(),
25
+ marks: zod_1.z.array(zod_1.z.nativeEnum(blog_post_mark_enum_1.BlogPostMark)),
25
26
  aiWidgetPlaceholder: zod_1.z.string().nullable(),
26
27
  aiWidgetPrompt: zod_1.z.string().nullable(),
27
28
  createdAt: zod_1.z.string().regex(regex_1.DATETIME_REGEX),
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Mini Page object for public post response
4
+ */
5
+ export declare const MiniPageSchema: z.ZodObject<{
6
+ uuid: z.ZodString;
7
+ alias: z.ZodString;
8
+ }, z.core.$strip>;
9
+ /**
10
+ * Public Post Response Schema
11
+ * Extends PostResponseSchema with page object
12
+ */
13
+ export declare const PublicPostResponseSchema: z.ZodObject<{
14
+ uuid: z.ZodString;
15
+ alias: z.ZodString;
16
+ title: z.ZodString;
17
+ metaTitle: z.ZodString;
18
+ metaDescription: z.ZodString;
19
+ content: z.ZodString;
20
+ image: z.ZodString;
21
+ author: z.ZodString;
22
+ categories: z.ZodArray<z.ZodObject<{
23
+ uuid: z.ZodString;
24
+ alias: z.ZodString;
25
+ title: z.ZodString;
26
+ order: z.ZodNumber;
27
+ status: z.ZodEnum<typeof import("./blog-category-status.enum").BlogCategoryStatus>;
28
+ createdAt: z.ZodString;
29
+ updatedAt: z.ZodString;
30
+ }, z.core.$strip>>;
31
+ viewsCount: z.ZodNumber;
32
+ status: z.ZodEnum<typeof import("./blog-post-status.enum").BlogPostStatus>;
33
+ pageId: z.ZodNullable<z.ZodString>;
34
+ marks: z.ZodArray<z.ZodEnum<typeof import("./blog-post-mark.enum").BlogPostMark>>;
35
+ aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
36
+ aiWidgetPrompt: z.ZodNullable<z.ZodString>;
37
+ createdAt: z.ZodString;
38
+ updatedAt: z.ZodString;
39
+ page: z.ZodNullable<z.ZodObject<{
40
+ uuid: z.ZodString;
41
+ alias: z.ZodString;
42
+ }, z.core.$strip>>;
43
+ }, z.core.$strip>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PublicPostResponseSchema = exports.MiniPageSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const regex_1 = require("../../../shared/regex");
6
+ const post_response_schema_1 = require("./post-response.schema");
7
+ /**
8
+ * Mini Page object for public post response
9
+ */
10
+ exports.MiniPageSchema = zod_1.z.object({
11
+ uuid: zod_1.z.string().regex(regex_1.UUID_REGEX),
12
+ alias: zod_1.z.string(),
13
+ });
14
+ /**
15
+ * Public Post Response Schema
16
+ * Extends PostResponseSchema with page object
17
+ */
18
+ exports.PublicPostResponseSchema = post_response_schema_1.PostResponseSchema.extend({
19
+ page: exports.MiniPageSchema.nullable(),
20
+ });
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { BlogPostStatus } from './blog-post-status.enum';
3
+ import { BlogPostMark } from './blog-post-mark.enum';
3
4
  export declare const UpdatePostRequestSchema: z.ZodObject<{
4
5
  alias: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
5
6
  title: z.ZodOptional<z.ZodString>;
@@ -11,7 +12,7 @@ export declare const UpdatePostRequestSchema: z.ZodObject<{
11
12
  categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
13
  status: z.ZodOptional<z.ZodEnum<typeof BlogPostStatus>>;
13
14
  pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
- aiWidgetEnabled: z.ZodOptional<z.ZodBoolean>;
15
+ marks: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof BlogPostMark>>>;
15
16
  aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
17
  aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
18
  }, z.core.$strip>;
@@ -4,6 +4,7 @@ exports.UpdatePostRequestSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const regex_1 = require("../../../shared/regex");
6
6
  const blog_post_status_enum_1 = require("./blog-post-status.enum");
7
+ const blog_post_mark_enum_1 = require("./blog-post-mark.enum");
7
8
  exports.UpdatePostRequestSchema = zod_1.z
8
9
  .object({
9
10
  alias: zod_1.z
@@ -22,15 +23,16 @@ exports.UpdatePostRequestSchema = zod_1.z
22
23
  categoryIds: zod_1.z.array(zod_1.z.string().regex(regex_1.UUID_REGEX)).min(1).optional(),
23
24
  status: zod_1.z.nativeEnum(blog_post_status_enum_1.BlogPostStatus).optional(),
24
25
  pageId: zod_1.z.string().regex(regex_1.UUID_REGEX).nullable().optional(),
25
- aiWidgetEnabled: zod_1.z.boolean().optional(),
26
+ marks: zod_1.z.array(zod_1.z.nativeEnum(blog_post_mark_enum_1.BlogPostMark)).optional(),
26
27
  aiWidgetPlaceholder: zod_1.z.string().max(500).nullable().optional(),
27
28
  aiWidgetPrompt: zod_1.z.string().max(2000).nullable().optional(),
28
29
  })
29
30
  .refine((data) => {
30
- if (data.aiWidgetEnabled === true) {
31
+ var _a;
32
+ if ((_a = data.marks) === null || _a === void 0 ? void 0 : _a.includes(blog_post_mark_enum_1.BlogPostMark.AI_WIDGET)) {
31
33
  return data.pageId && data.aiWidgetPlaceholder && data.aiWidgetPrompt;
32
34
  }
33
35
  return true;
34
36
  }, {
35
- message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when aiWidgetEnabled is true',
37
+ message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when AI_WIDGET mark is present',
36
38
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veruna/api-contracts",
3
- "version": "1.0.39",
3
+ "version": "1.0.40",
4
4
  "description": "API contracts for Veruna project - Zod schemas, types, and paths",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",