@veruna/api-contracts 1.0.39 → 1.0.41
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/build/controllers/index.d.ts +2 -0
- package/build/controllers/index.js +5 -1
- package/build/controllers/sitemap.controllers.d.ts +1 -0
- package/build/controllers/sitemap.controllers.js +4 -0
- package/build/controllers/wallet.controllers.d.ts +7 -0
- package/build/controllers/wallet.controllers.js +10 -0
- package/build/rest-api.d.ts +3 -0
- package/build/rest-api.js +4 -0
- package/build/routes/index.d.ts +2 -0
- package/build/routes/index.js +5 -1
- package/build/routes/sitemap.routes.d.ts +3 -0
- package/build/routes/sitemap.routes.js +6 -0
- package/build/routes/wallet.routes.d.ts +11 -0
- package/build/routes/wallet.routes.js +14 -0
- package/build/shared/common-schemas.d.ts +5 -0
- package/build/shared/common-schemas.js +9 -4
- package/build/shared/regex.d.ts +1 -0
- package/build/shared/regex.js +3 -1
- package/build/v1/blog/admin/commands/create-post.command.d.ts +4 -2
- package/build/v1/blog/admin/commands/update-post.command.d.ts +4 -2
- package/build/v1/blog/admin/queries/get-post.query.d.ts +2 -1
- package/build/v1/blog/admin/queries/get-posts.query.d.ts +2 -1
- package/build/v1/blog/public/queries/get-post-by-alias.query.d.ts +6 -1
- package/build/v1/blog/public/queries/get-post-by-alias.query.js +1 -1
- package/build/v1/blog/public/queries/get-posts.query.d.ts +2 -1
- package/build/v1/blog/schemas/blog-post-mark.enum.d.ts +7 -0
- package/build/v1/blog/schemas/blog-post-mark.enum.js +11 -0
- package/build/v1/blog/schemas/create-post-request.schema.d.ts +3 -1
- package/build/v1/blog/schemas/create-post-request.schema.js +6 -4
- package/build/v1/blog/schemas/index.d.ts +2 -0
- package/build/v1/blog/schemas/index.js +2 -0
- package/build/v1/blog/schemas/post-response.schema.d.ts +3 -1
- package/build/v1/blog/schemas/post-response.schema.js +3 -1
- package/build/v1/blog/schemas/public-post-response.schema.d.ts +44 -0
- package/build/v1/blog/schemas/public-post-response.schema.js +20 -0
- package/build/v1/blog/schemas/update-post-request.schema.d.ts +3 -1
- package/build/v1/blog/schemas/update-post-request.schema.js +6 -3
- package/build/v1/index.d.ts +2 -0
- package/build/v1/index.js +2 -0
- package/build/v1/sitemap/index.d.ts +1 -0
- package/build/v1/sitemap/index.js +5 -0
- package/build/v1/sitemap/sitemap-changefreq.enum.d.ts +9 -0
- package/build/v1/sitemap/sitemap-changefreq.enum.js +13 -0
- package/build/v1/wallet/index.d.ts +5 -0
- package/build/v1/wallet/index.js +25 -0
- package/build/v1/wallet/queries/get-balance-summary.query.d.ts +29 -0
- package/build/v1/wallet/queries/get-balance-summary.query.js +18 -0
- package/build/v1/wallet/queries/index.d.ts +1 -0
- package/build/v1/wallet/queries/index.js +5 -0
- package/build/v1/wallet/schemas/balance-response.schema.d.ts +40 -0
- package/build/v1/wallet/schemas/balance-response.schema.js +32 -0
- package/build/v1/wallet/schemas/balance-status.enum.d.ts +11 -0
- package/build/v1/wallet/schemas/balance-status.enum.js +15 -0
- package/build/v1/wallet/schemas/hold-status.enum.d.ts +10 -0
- package/build/v1/wallet/schemas/hold-status.enum.js +14 -0
- package/build/v1/wallet/schemas/index.d.ts +7 -0
- package/build/v1/wallet/schemas/index.js +25 -0
- package/build/v1/wallet/schemas/initiator-type.enum.d.ts +12 -0
- package/build/v1/wallet/schemas/initiator-type.enum.js +16 -0
- package/build/v1/wallet/schemas/metadata.schema.d.ts +29 -0
- package/build/v1/wallet/schemas/metadata.schema.js +105 -0
- package/build/v1/wallet/schemas/source-type.enum.d.ts +13 -0
- package/build/v1/wallet/schemas/source-type.enum.js +17 -0
- package/build/v1/wallet/schemas/transaction-type.enum.d.ts +17 -0
- package/build/v1/wallet/schemas/transaction-type.enum.js +21 -0
- package/build/v1/wallet/wallet.errors.d.ts +37 -0
- package/build/v1/wallet/wallet.errors.js +171 -0
- package/package.json +1 -1
|
@@ -13,3 +13,5 @@ export { CHAT_PROJECT_CONTROLLER } from './chat-project.controllers';
|
|
|
13
13
|
export { CHAT_UNREG_CONTROLLER, CHAT_REG_CONTROLLER, CHAT_HISTORY_CONTROLLER, } from './chat.controllers';
|
|
14
14
|
export { MESSAGE_UNREG_CONTROLLER, MESSAGE_REG_CONTROLLER } from './message.controllers';
|
|
15
15
|
export { VERIFICATION_CONTROLLER } from './verification.controllers';
|
|
16
|
+
export { SITEMAP_CONTROLLER } from './sitemap.controllers';
|
|
17
|
+
export { WALLET_CONTROLLER } from './wallet.controllers';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VERIFICATION_CONTROLLER = exports.MESSAGE_REG_CONTROLLER = exports.MESSAGE_UNREG_CONTROLLER = exports.CHAT_HISTORY_CONTROLLER = exports.CHAT_REG_CONTROLLER = exports.CHAT_UNREG_CONTROLLER = exports.CHAT_PROJECT_CONTROLLER = exports.FILE_CONTROLLER = exports.AI_MODEL_PUBLIC_CONTROLLER = exports.AI_MODEL_ADMIN_CONTROLLER = exports.AI_PROVIDER_PUBLIC_CONTROLLER = exports.AI_PROVIDER_ADMIN_CONTROLLER = exports.SEO_PAGES_PUBLIC_CONTROLLER = exports.SEO_PAGES_ADMIN_CONTROLLER = exports.BLOG_PUBLIC_POSTS_CONTROLLER = exports.BLOG_PUBLIC_CATEGORIES_CONTROLLER = exports.BLOG_ADMIN_POSTS_CONTROLLER = exports.BLOG_ADMIN_CATEGORIES_CONTROLLER = exports.UNREG_USERS_CONTROLLER = exports.USERS_CONTROLLER = exports.AUTH_CONTROLLER = void 0;
|
|
3
|
+
exports.WALLET_CONTROLLER = exports.SITEMAP_CONTROLLER = exports.VERIFICATION_CONTROLLER = exports.MESSAGE_REG_CONTROLLER = exports.MESSAGE_UNREG_CONTROLLER = exports.CHAT_HISTORY_CONTROLLER = exports.CHAT_REG_CONTROLLER = exports.CHAT_UNREG_CONTROLLER = exports.CHAT_PROJECT_CONTROLLER = exports.FILE_CONTROLLER = exports.AI_MODEL_PUBLIC_CONTROLLER = exports.AI_MODEL_ADMIN_CONTROLLER = exports.AI_PROVIDER_PUBLIC_CONTROLLER = exports.AI_PROVIDER_ADMIN_CONTROLLER = exports.SEO_PAGES_PUBLIC_CONTROLLER = exports.SEO_PAGES_ADMIN_CONTROLLER = exports.BLOG_PUBLIC_POSTS_CONTROLLER = exports.BLOG_PUBLIC_CATEGORIES_CONTROLLER = exports.BLOG_ADMIN_POSTS_CONTROLLER = exports.BLOG_ADMIN_CATEGORIES_CONTROLLER = exports.UNREG_USERS_CONTROLLER = exports.USERS_CONTROLLER = exports.AUTH_CONTROLLER = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Centralized exports for all controllers
|
|
6
6
|
*/
|
|
@@ -37,3 +37,7 @@ Object.defineProperty(exports, "MESSAGE_UNREG_CONTROLLER", { enumerable: true, g
|
|
|
37
37
|
Object.defineProperty(exports, "MESSAGE_REG_CONTROLLER", { enumerable: true, get: function () { return message_controllers_1.MESSAGE_REG_CONTROLLER; } });
|
|
38
38
|
var verification_controllers_1 = require("./verification.controllers");
|
|
39
39
|
Object.defineProperty(exports, "VERIFICATION_CONTROLLER", { enumerable: true, get: function () { return verification_controllers_1.VERIFICATION_CONTROLLER; } });
|
|
40
|
+
var sitemap_controllers_1 = require("./sitemap.controllers");
|
|
41
|
+
Object.defineProperty(exports, "SITEMAP_CONTROLLER", { enumerable: true, get: function () { return sitemap_controllers_1.SITEMAP_CONTROLLER; } });
|
|
42
|
+
var wallet_controllers_1 = require("./wallet.controllers");
|
|
43
|
+
Object.defineProperty(exports, "WALLET_CONTROLLER", { enumerable: true, get: function () { return wallet_controllers_1.WALLET_CONTROLLER; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SITEMAP_CONTROLLER: "xml/sitemap";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WALLET_CONTROLLER = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Wallet Controller path for NestJS @Controller decorator
|
|
6
|
+
*
|
|
7
|
+
* Only public controller for user balance viewing.
|
|
8
|
+
* All wallet operations (Credit, Debit, Hold) are internal service calls.
|
|
9
|
+
*/
|
|
10
|
+
exports.WALLET_CONTROLLER = 'v1/wallet';
|
package/build/rest-api.d.ts
CHANGED
package/build/rest-api.js
CHANGED
|
@@ -169,5 +169,9 @@ exports.REST_API = {
|
|
|
169
169
|
ACTIVE: `${exports.ROOT}/${controllers_1.VERIFICATION_CONTROLLER}/${routes_1.VERIFICATION_ROUTES.ACTIVE}`,
|
|
170
170
|
CANCEL: (requestId) => `${exports.ROOT}/${controllers_1.VERIFICATION_CONTROLLER}/${requestId}/cancel`,
|
|
171
171
|
},
|
|
172
|
+
// Wallet module (only public balance endpoint)
|
|
173
|
+
WALLET: {
|
|
174
|
+
BALANCE: `${exports.ROOT}/${controllers_1.WALLET_CONTROLLER}/${routes_1.WALLET_ROUTES.BALANCE}`,
|
|
175
|
+
},
|
|
172
176
|
},
|
|
173
177
|
};
|
package/build/routes/index.d.ts
CHANGED
|
@@ -18,3 +18,5 @@ export { CHAT_PROJECT_ROUTES } from './chat-project.routes';
|
|
|
18
18
|
export { CHAT_UNREG_ROUTES, CHAT_REG_ROUTES, CHAT_HISTORY_ROUTES } from './chat.routes';
|
|
19
19
|
export { MESSAGE_UNREG_ROUTES, MESSAGE_REG_ROUTES } from './message.routes';
|
|
20
20
|
export { VERIFICATION_ROUTES } from './verification.routes';
|
|
21
|
+
export { SITEMAP_ROUTES } from './sitemap.routes';
|
|
22
|
+
export { WALLET_ROUTES } from './wallet.routes';
|
package/build/routes/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VERIFICATION_ROUTES = exports.MESSAGE_REG_ROUTES = exports.MESSAGE_UNREG_ROUTES = exports.CHAT_HISTORY_ROUTES = exports.CHAT_REG_ROUTES = exports.CHAT_UNREG_ROUTES = exports.CHAT_PROJECT_ROUTES = exports.FILE_ROUTES = exports.AI_MODEL_PUBLIC_ROUTES = exports.AI_MODEL_ADMIN_ROUTES = exports.AI_PROVIDER_PUBLIC_ROUTES = exports.AI_PROVIDER_ADMIN_ROUTES = exports.SEO_PAGES_PUBLIC_ROUTES = exports.SEO_PAGES_ADMIN_ROUTES = exports.BLOG_PUBLIC_POSTS_ROUTES = exports.BLOG_PUBLIC_CATEGORIES_ROUTES = exports.BLOG_ADMIN_POSTS_ROUTES = exports.BLOG_ADMIN_CATEGORIES_ROUTES = exports.UNREG_USERS_ROUTES = exports.USERS_ROUTES = exports.AUTH_ROUTES = void 0;
|
|
3
|
+
exports.WALLET_ROUTES = exports.SITEMAP_ROUTES = exports.VERIFICATION_ROUTES = exports.MESSAGE_REG_ROUTES = exports.MESSAGE_UNREG_ROUTES = exports.CHAT_HISTORY_ROUTES = exports.CHAT_REG_ROUTES = exports.CHAT_UNREG_ROUTES = exports.CHAT_PROJECT_ROUTES = exports.FILE_ROUTES = exports.AI_MODEL_PUBLIC_ROUTES = exports.AI_MODEL_ADMIN_ROUTES = exports.AI_PROVIDER_PUBLIC_ROUTES = exports.AI_PROVIDER_ADMIN_ROUTES = exports.SEO_PAGES_PUBLIC_ROUTES = exports.SEO_PAGES_ADMIN_ROUTES = exports.BLOG_PUBLIC_POSTS_ROUTES = exports.BLOG_PUBLIC_CATEGORIES_ROUTES = exports.BLOG_ADMIN_POSTS_ROUTES = exports.BLOG_ADMIN_CATEGORIES_ROUTES = exports.UNREG_USERS_ROUTES = exports.USERS_ROUTES = exports.AUTH_ROUTES = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Centralized exports for all routes
|
|
6
6
|
*/
|
|
@@ -42,3 +42,7 @@ Object.defineProperty(exports, "MESSAGE_UNREG_ROUTES", { enumerable: true, get:
|
|
|
42
42
|
Object.defineProperty(exports, "MESSAGE_REG_ROUTES", { enumerable: true, get: function () { return message_routes_1.MESSAGE_REG_ROUTES; } });
|
|
43
43
|
var verification_routes_1 = require("./verification.routes");
|
|
44
44
|
Object.defineProperty(exports, "VERIFICATION_ROUTES", { enumerable: true, get: function () { return verification_routes_1.VERIFICATION_ROUTES; } });
|
|
45
|
+
var sitemap_routes_1 = require("./sitemap.routes");
|
|
46
|
+
Object.defineProperty(exports, "SITEMAP_ROUTES", { enumerable: true, get: function () { return sitemap_routes_1.SITEMAP_ROUTES; } });
|
|
47
|
+
var wallet_routes_1 = require("./wallet.routes");
|
|
48
|
+
Object.defineProperty(exports, "WALLET_ROUTES", { enumerable: true, get: function () { return wallet_routes_1.WALLET_ROUTES; } });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wallet Routes
|
|
3
|
+
* For NestJS method decorators (@Get, @Post, etc.)
|
|
4
|
+
*
|
|
5
|
+
* Only public route for getting balance.
|
|
6
|
+
* All other operations (Credit, Debit, Hold) are internal service calls,
|
|
7
|
+
* not exposed via HTTP endpoints.
|
|
8
|
+
*/
|
|
9
|
+
export declare const WALLET_ROUTES: {
|
|
10
|
+
readonly BALANCE: "balance";
|
|
11
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WALLET_ROUTES = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Wallet Routes
|
|
6
|
+
* For NestJS method decorators (@Get, @Post, etc.)
|
|
7
|
+
*
|
|
8
|
+
* Only public route for getting balance.
|
|
9
|
+
* All other operations (Credit, Debit, Hold) are internal service calls,
|
|
10
|
+
* not exposed via HTTP endpoints.
|
|
11
|
+
*/
|
|
12
|
+
exports.WALLET_ROUTES = {
|
|
13
|
+
BALANCE: 'balance',
|
|
14
|
+
};
|
|
@@ -15,3 +15,8 @@ export declare const EmptyResponseSchema: z.ZodObject<{}, z.core.$strip>;
|
|
|
15
15
|
export declare const DeleteResponseSchema: z.ZodObject<{
|
|
16
16
|
uuid: z.ZodString;
|
|
17
17
|
}, z.core.$strip>;
|
|
18
|
+
/**
|
|
19
|
+
* BigInt as string schema (for JSON serialization of bigint values)
|
|
20
|
+
* Validates that string contains only digits (non-negative integer)
|
|
21
|
+
*/
|
|
22
|
+
export declare const BigIntStringSchema: z.ZodString;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeleteResponseSchema = exports.EmptyResponseSchema = exports.queryArraySchema = void 0;
|
|
3
|
+
exports.BigIntStringSchema = exports.DeleteResponseSchema = exports.EmptyResponseSchema = exports.queryArraySchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const regex_1 = require("./regex");
|
|
6
6
|
/**
|
|
@@ -9,9 +9,7 @@ const regex_1 = require("./regex");
|
|
|
9
9
|
* Usage: queryArraySchema() for optional, queryArraySchema(false) for required
|
|
10
10
|
*/
|
|
11
11
|
const queryArraySchema = (optional = true) => {
|
|
12
|
-
const schema = zod_1.z
|
|
13
|
-
.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())])
|
|
14
|
-
.transform((val) => {
|
|
12
|
+
const schema = zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).transform((val) => {
|
|
15
13
|
if (Array.isArray(val))
|
|
16
14
|
return val;
|
|
17
15
|
return [val];
|
|
@@ -29,3 +27,10 @@ exports.EmptyResponseSchema = zod_1.z.object({});
|
|
|
29
27
|
exports.DeleteResponseSchema = zod_1.z.object({
|
|
30
28
|
uuid: zod_1.z.string().regex(regex_1.UUID_REGEX),
|
|
31
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* BigInt as string schema (for JSON serialization of bigint values)
|
|
32
|
+
* Validates that string contains only digits (non-negative integer)
|
|
33
|
+
*/
|
|
34
|
+
exports.BigIntStringSchema = zod_1.z
|
|
35
|
+
.string()
|
|
36
|
+
.regex(regex_1.BIGINT_STRING_REGEX, 'Must be a non-negative integer string');
|
package/build/shared/regex.d.ts
CHANGED
package/build/shared/regex.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Common regex patterns for validation
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HEX_COLOR_REGEX = exports.SLUG_REGEX = exports.PASSWORD_STRENGTH_REGEX = exports.DATETIME_REGEX = exports.UUID_REGEX = exports.EMAIL_REGEX = void 0;
|
|
6
|
+
exports.BIGINT_STRING_REGEX = exports.HEX_COLOR_REGEX = exports.SLUG_REGEX = exports.PASSWORD_STRENGTH_REGEX = exports.DATETIME_REGEX = exports.UUID_REGEX = exports.EMAIL_REGEX = void 0;
|
|
7
7
|
// RFC 5322 email regex (simplified)
|
|
8
8
|
exports.EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
9
9
|
// UUID v4 regex
|
|
@@ -16,3 +16,5 @@ exports.PASSWORD_STRENGTH_REGEX = /[0-9!@#$%^&*(),.?":{}|<>]/;
|
|
|
16
16
|
exports.SLUG_REGEX = /^[a-z0-9-]+$/;
|
|
17
17
|
// Hex color regex: #RRGGBB
|
|
18
18
|
exports.HEX_COLOR_REGEX = /^#[0-9A-Fa-f]{6}$/;
|
|
19
|
+
// BigInt string regex (non-negative integer as string)
|
|
20
|
+
exports.BIGINT_STRING_REGEX = /^\d+$/;
|
|
@@ -4,6 +4,7 @@ export declare namespace AdminBlogCreatePostCommand {
|
|
|
4
4
|
const Request: z.ZodObject<{
|
|
5
5
|
alias: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6
6
|
title: z.ZodString;
|
|
7
|
+
description: z.ZodString;
|
|
7
8
|
metaTitle: z.ZodString;
|
|
8
9
|
metaDescription: z.ZodString;
|
|
9
10
|
content: z.ZodString;
|
|
@@ -12,7 +13,7 @@ export declare namespace AdminBlogCreatePostCommand {
|
|
|
12
13
|
categoryIds: z.ZodArray<z.ZodString>;
|
|
13
14
|
status: z.ZodDefault<z.ZodEnum<typeof import("../../schemas").BlogPostStatus>>;
|
|
14
15
|
pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
|
-
|
|
16
|
+
marks: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>>;
|
|
16
17
|
aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
18
|
aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
19
|
}, z.core.$strip>;
|
|
@@ -20,6 +21,7 @@ export declare namespace AdminBlogCreatePostCommand {
|
|
|
20
21
|
uuid: z.ZodString;
|
|
21
22
|
alias: z.ZodString;
|
|
22
23
|
title: z.ZodString;
|
|
24
|
+
description: z.ZodString;
|
|
23
25
|
metaTitle: z.ZodString;
|
|
24
26
|
metaDescription: z.ZodString;
|
|
25
27
|
content: z.ZodString;
|
|
@@ -37,7 +39,7 @@ export declare namespace AdminBlogCreatePostCommand {
|
|
|
37
39
|
viewsCount: z.ZodNumber;
|
|
38
40
|
status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
|
|
39
41
|
pageId: z.ZodNullable<z.ZodString>;
|
|
40
|
-
|
|
42
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
|
|
41
43
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
42
44
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
43
45
|
createdAt: z.ZodString;
|
|
@@ -4,6 +4,7 @@ export declare namespace AdminBlogUpdatePostCommand {
|
|
|
4
4
|
const Request: z.ZodObject<{
|
|
5
5
|
alias: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
6
6
|
title: z.ZodOptional<z.ZodString>;
|
|
7
|
+
description: z.ZodOptional<z.ZodString>;
|
|
7
8
|
metaTitle: z.ZodOptional<z.ZodString>;
|
|
8
9
|
metaDescription: z.ZodOptional<z.ZodString>;
|
|
9
10
|
content: z.ZodOptional<z.ZodString>;
|
|
@@ -12,7 +13,7 @@ export declare namespace AdminBlogUpdatePostCommand {
|
|
|
12
13
|
categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
14
|
status: z.ZodOptional<z.ZodEnum<typeof import("../../schemas").BlogPostStatus>>;
|
|
14
15
|
pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
15
|
-
|
|
16
|
+
marks: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>>;
|
|
16
17
|
aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
18
|
aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
19
|
}, z.core.$strip>;
|
|
@@ -20,6 +21,7 @@ export declare namespace AdminBlogUpdatePostCommand {
|
|
|
20
21
|
uuid: z.ZodString;
|
|
21
22
|
alias: z.ZodString;
|
|
22
23
|
title: z.ZodString;
|
|
24
|
+
description: z.ZodString;
|
|
23
25
|
metaTitle: z.ZodString;
|
|
24
26
|
metaDescription: z.ZodString;
|
|
25
27
|
content: z.ZodString;
|
|
@@ -37,7 +39,7 @@ export declare namespace AdminBlogUpdatePostCommand {
|
|
|
37
39
|
viewsCount: z.ZodNumber;
|
|
38
40
|
status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
|
|
39
41
|
pageId: z.ZodNullable<z.ZodString>;
|
|
40
|
-
|
|
42
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
|
|
41
43
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
42
44
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
43
45
|
createdAt: z.ZodString;
|
|
@@ -8,6 +8,7 @@ export declare namespace AdminBlogGetPostQuery {
|
|
|
8
8
|
uuid: z.ZodString;
|
|
9
9
|
alias: z.ZodString;
|
|
10
10
|
title: z.ZodString;
|
|
11
|
+
description: z.ZodString;
|
|
11
12
|
metaTitle: z.ZodString;
|
|
12
13
|
metaDescription: z.ZodString;
|
|
13
14
|
content: z.ZodString;
|
|
@@ -25,7 +26,7 @@ export declare namespace AdminBlogGetPostQuery {
|
|
|
25
26
|
viewsCount: z.ZodNumber;
|
|
26
27
|
status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
|
|
27
28
|
pageId: z.ZodNullable<z.ZodString>;
|
|
28
|
-
|
|
29
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
|
|
29
30
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
30
31
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
31
32
|
createdAt: z.ZodString;
|
|
@@ -12,6 +12,7 @@ export declare namespace AdminBlogGetPostsQuery {
|
|
|
12
12
|
uuid: z.ZodString;
|
|
13
13
|
alias: z.ZodString;
|
|
14
14
|
title: z.ZodString;
|
|
15
|
+
description: z.ZodString;
|
|
15
16
|
metaTitle: z.ZodString;
|
|
16
17
|
metaDescription: z.ZodString;
|
|
17
18
|
content: z.ZodString;
|
|
@@ -29,7 +30,7 @@ export declare namespace AdminBlogGetPostsQuery {
|
|
|
29
30
|
viewsCount: z.ZodNumber;
|
|
30
31
|
status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
|
|
31
32
|
pageId: z.ZodNullable<z.ZodString>;
|
|
32
|
-
|
|
33
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
|
|
33
34
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
34
35
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
35
36
|
createdAt: z.ZodString;
|
|
@@ -8,6 +8,7 @@ export declare namespace BlogGetPostByAliasQuery {
|
|
|
8
8
|
uuid: z.ZodString;
|
|
9
9
|
alias: z.ZodString;
|
|
10
10
|
title: z.ZodString;
|
|
11
|
+
description: z.ZodString;
|
|
11
12
|
metaTitle: z.ZodString;
|
|
12
13
|
metaDescription: z.ZodString;
|
|
13
14
|
content: z.ZodString;
|
|
@@ -25,11 +26,15 @@ export declare namespace BlogGetPostByAliasQuery {
|
|
|
25
26
|
viewsCount: z.ZodNumber;
|
|
26
27
|
status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
|
|
27
28
|
pageId: z.ZodNullable<z.ZodString>;
|
|
28
|
-
|
|
29
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
|
|
29
30
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
30
31
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
31
32
|
createdAt: z.ZodString;
|
|
32
33
|
updatedAt: z.ZodString;
|
|
34
|
+
page: z.ZodNullable<z.ZodObject<{
|
|
35
|
+
uuid: z.ZodString;
|
|
36
|
+
alias: z.ZodString;
|
|
37
|
+
}, z.core.$strip>>;
|
|
33
38
|
}, z.core.$strip>;
|
|
34
39
|
const URL: (alias: string) => string;
|
|
35
40
|
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.
|
|
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 = {}));
|
|
@@ -11,6 +11,7 @@ export declare namespace BlogGetPostsQuery {
|
|
|
11
11
|
uuid: z.ZodString;
|
|
12
12
|
alias: z.ZodString;
|
|
13
13
|
title: z.ZodString;
|
|
14
|
+
description: z.ZodString;
|
|
14
15
|
metaTitle: z.ZodString;
|
|
15
16
|
metaDescription: z.ZodString;
|
|
16
17
|
content: z.ZodString;
|
|
@@ -28,7 +29,7 @@ export declare namespace BlogGetPostsQuery {
|
|
|
28
29
|
viewsCount: z.ZodNumber;
|
|
29
30
|
status: z.ZodEnum<typeof import("../../schemas").BlogPostStatus>;
|
|
30
31
|
pageId: z.ZodNullable<z.ZodString>;
|
|
31
|
-
|
|
32
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("../../schemas").BlogPostMark>>;
|
|
32
33
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
33
34
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
34
35
|
createdAt: z.ZodString;
|
|
@@ -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,8 +1,10 @@
|
|
|
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;
|
|
7
|
+
description: z.ZodString;
|
|
6
8
|
metaTitle: z.ZodString;
|
|
7
9
|
metaDescription: z.ZodString;
|
|
8
10
|
content: z.ZodString;
|
|
@@ -11,7 +13,7 @@ export declare const CreatePostRequestSchema: z.ZodObject<{
|
|
|
11
13
|
categoryIds: z.ZodArray<z.ZodString>;
|
|
12
14
|
status: z.ZodDefault<z.ZodEnum<typeof BlogPostStatus>>;
|
|
13
15
|
pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
|
-
|
|
16
|
+
marks: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof BlogPostMark>>>;
|
|
15
17
|
aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
18
|
aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
19
|
}, 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
|
|
@@ -13,23 +14,24 @@ exports.CreatePostRequestSchema = zod_1.z
|
|
|
13
14
|
.regex(shared_1.SLUG_REGEX)
|
|
14
15
|
.transform((val) => val.toLowerCase().trim()),
|
|
15
16
|
title: zod_1.z.string().min(1).max(300),
|
|
17
|
+
description: zod_1.z.string().max(1000),
|
|
16
18
|
metaTitle: zod_1.z.string().min(1).max(100),
|
|
17
19
|
metaDescription: zod_1.z.string().min(1).max(200),
|
|
18
20
|
content: zod_1.z.string().min(1).max(1000000),
|
|
19
21
|
image: zod_1.z.string().url(),
|
|
20
22
|
author: zod_1.z.string().min(1).max(100),
|
|
21
23
|
categoryIds: zod_1.z.array(zod_1.z.string().regex(shared_1.UUID_REGEX)).min(1),
|
|
22
|
-
status: zod_1.z.
|
|
24
|
+
status: zod_1.z.nativeEnum(blog_post_status_enum_1.BlogPostStatus).default(blog_post_status_enum_1.BlogPostStatus.DRAFT),
|
|
23
25
|
pageId: zod_1.z.string().regex(shared_1.UUID_REGEX).nullable().optional(),
|
|
24
|
-
|
|
26
|
+
marks: zod_1.z.array(zod_1.z.nativeEnum(blog_post_mark_enum_1.BlogPostMark)).default([]),
|
|
25
27
|
aiWidgetPlaceholder: zod_1.z.string().max(500).nullable().optional(),
|
|
26
28
|
aiWidgetPrompt: zod_1.z.string().max(2000).nullable().optional(),
|
|
27
29
|
})
|
|
28
30
|
.refine((data) => {
|
|
29
|
-
if (data.
|
|
31
|
+
if (data.marks.includes(blog_post_mark_enum_1.BlogPostMark.AI_WIDGET)) {
|
|
30
32
|
return data.pageId && data.aiWidgetPlaceholder && data.aiWidgetPrompt;
|
|
31
33
|
}
|
|
32
34
|
return true;
|
|
33
35
|
}, {
|
|
34
|
-
message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when
|
|
36
|
+
message: 'pageId, aiWidgetPlaceholder and aiWidgetPrompt are required when AI_WIDGET mark is present',
|
|
35
37
|
});
|
|
@@ -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
|
*/
|
|
@@ -7,6 +8,7 @@ export declare const PostResponseSchema: z.ZodObject<{
|
|
|
7
8
|
uuid: z.ZodString;
|
|
8
9
|
alias: z.ZodString;
|
|
9
10
|
title: z.ZodString;
|
|
11
|
+
description: z.ZodString;
|
|
10
12
|
metaTitle: z.ZodString;
|
|
11
13
|
metaDescription: z.ZodString;
|
|
12
14
|
content: z.ZodString;
|
|
@@ -24,7 +26,7 @@ export declare const PostResponseSchema: z.ZodObject<{
|
|
|
24
26
|
viewsCount: z.ZodNumber;
|
|
25
27
|
status: z.ZodEnum<typeof BlogPostStatus>;
|
|
26
28
|
pageId: z.ZodNullable<z.ZodString>;
|
|
27
|
-
|
|
29
|
+
marks: z.ZodArray<z.ZodEnum<typeof BlogPostMark>>;
|
|
28
30
|
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
29
31
|
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
30
32
|
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
|
|
@@ -12,6 +13,7 @@ exports.PostResponseSchema = zod_1.z.object({
|
|
|
12
13
|
uuid: zod_1.z.string().regex(regex_1.UUID_REGEX),
|
|
13
14
|
alias: zod_1.z.string(),
|
|
14
15
|
title: zod_1.z.string(),
|
|
16
|
+
description: zod_1.z.string(),
|
|
15
17
|
metaTitle: zod_1.z.string(),
|
|
16
18
|
metaDescription: zod_1.z.string(),
|
|
17
19
|
content: zod_1.z.string(),
|
|
@@ -21,7 +23,7 @@ exports.PostResponseSchema = zod_1.z.object({
|
|
|
21
23
|
viewsCount: zod_1.z.number().int().nonnegative(),
|
|
22
24
|
status: zod_1.z.nativeEnum(blog_post_status_enum_1.BlogPostStatus),
|
|
23
25
|
pageId: zod_1.z.string().regex(regex_1.UUID_REGEX).nullable(),
|
|
24
|
-
|
|
26
|
+
marks: zod_1.z.array(zod_1.z.nativeEnum(blog_post_mark_enum_1.BlogPostMark)),
|
|
25
27
|
aiWidgetPlaceholder: zod_1.z.string().nullable(),
|
|
26
28
|
aiWidgetPrompt: zod_1.z.string().nullable(),
|
|
27
29
|
createdAt: zod_1.z.string().regex(regex_1.DATETIME_REGEX),
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
description: z.ZodString;
|
|
18
|
+
metaTitle: z.ZodString;
|
|
19
|
+
metaDescription: z.ZodString;
|
|
20
|
+
content: z.ZodString;
|
|
21
|
+
image: z.ZodString;
|
|
22
|
+
author: z.ZodString;
|
|
23
|
+
categories: z.ZodArray<z.ZodObject<{
|
|
24
|
+
uuid: z.ZodString;
|
|
25
|
+
alias: z.ZodString;
|
|
26
|
+
title: z.ZodString;
|
|
27
|
+
order: z.ZodNumber;
|
|
28
|
+
status: z.ZodEnum<typeof import("./blog-category-status.enum").BlogCategoryStatus>;
|
|
29
|
+
createdAt: z.ZodString;
|
|
30
|
+
updatedAt: z.ZodString;
|
|
31
|
+
}, z.core.$strip>>;
|
|
32
|
+
viewsCount: z.ZodNumber;
|
|
33
|
+
status: z.ZodEnum<typeof import("./blog-post-status.enum").BlogPostStatus>;
|
|
34
|
+
pageId: z.ZodNullable<z.ZodString>;
|
|
35
|
+
marks: z.ZodArray<z.ZodEnum<typeof import("./blog-post-mark.enum").BlogPostMark>>;
|
|
36
|
+
aiWidgetPlaceholder: z.ZodNullable<z.ZodString>;
|
|
37
|
+
aiWidgetPrompt: z.ZodNullable<z.ZodString>;
|
|
38
|
+
createdAt: z.ZodString;
|
|
39
|
+
updatedAt: z.ZodString;
|
|
40
|
+
page: z.ZodNullable<z.ZodObject<{
|
|
41
|
+
uuid: z.ZodString;
|
|
42
|
+
alias: z.ZodString;
|
|
43
|
+
}, z.core.$strip>>;
|
|
44
|
+
}, 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,8 +1,10 @@
|
|
|
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>;
|
|
7
|
+
description: z.ZodOptional<z.ZodString>;
|
|
6
8
|
metaTitle: z.ZodOptional<z.ZodString>;
|
|
7
9
|
metaDescription: z.ZodOptional<z.ZodString>;
|
|
8
10
|
content: z.ZodOptional<z.ZodString>;
|
|
@@ -11,7 +13,7 @@ export declare const UpdatePostRequestSchema: z.ZodObject<{
|
|
|
11
13
|
categoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
14
|
status: z.ZodOptional<z.ZodEnum<typeof BlogPostStatus>>;
|
|
13
15
|
pageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
|
-
|
|
16
|
+
marks: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof BlogPostMark>>>;
|
|
15
17
|
aiWidgetPlaceholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
18
|
aiWidgetPrompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
19
|
}, z.core.$strip>;
|