@endora-commerce/contracts 0.100.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/LICENSE +21 -0
- package/README.md +34 -0
- package/dist/actor.d.ts +79 -0
- package/dist/actor.d.ts.map +1 -0
- package/dist/actor.js +41 -0
- package/dist/actor.js.map +1 -0
- package/dist/addresses.d.ts +134 -0
- package/dist/addresses.d.ts.map +1 -0
- package/dist/addresses.js +16 -0
- package/dist/addresses.js.map +1 -0
- package/dist/admin-actions.d.ts +367 -0
- package/dist/admin-actions.d.ts.map +1 -0
- package/dist/admin-actions.js +287 -0
- package/dist/admin-actions.js.map +1 -0
- package/dist/admin-contributions.d.ts +518 -0
- package/dist/admin-contributions.d.ts.map +1 -0
- package/dist/admin-contributions.js +495 -0
- package/dist/admin-contributions.js.map +1 -0
- package/dist/admin-i18n.d.ts +135 -0
- package/dist/admin-i18n.d.ts.map +1 -0
- package/dist/admin-i18n.js +72 -0
- package/dist/admin-i18n.js.map +1 -0
- package/dist/admin-notifications.d.ts +55 -0
- package/dist/admin-notifications.d.ts.map +1 -0
- package/dist/admin-notifications.js +16 -0
- package/dist/admin-notifications.js.map +1 -0
- package/dist/admin-roles.d.ts +125 -0
- package/dist/admin-roles.d.ts.map +1 -0
- package/dist/admin-roles.js +2 -0
- package/dist/admin-roles.js.map +1 -0
- package/dist/admin-users.d.ts +178 -0
- package/dist/admin-users.d.ts.map +1 -0
- package/dist/admin-users.js +14 -0
- package/dist/admin-users.js.map +1 -0
- package/dist/admin.d.ts +243 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +246 -0
- package/dist/admin.js.map +1 -0
- package/dist/analytics.d.ts +123 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +68 -0
- package/dist/analytics.js.map +1 -0
- package/dist/api-keys.d.ts +97 -0
- package/dist/api-keys.d.ts.map +1 -0
- package/dist/api-keys.js +64 -0
- package/dist/api-keys.js.map +1 -0
- package/dist/assets-library.d.ts +684 -0
- package/dist/assets-library.d.ts.map +1 -0
- package/dist/assets-library.js +181 -0
- package/dist/assets-library.js.map +1 -0
- package/dist/audit-logs.d.ts +141 -0
- package/dist/audit-logs.d.ts.map +1 -0
- package/dist/audit-logs.js +31 -0
- package/dist/audit-logs.js.map +1 -0
- package/dist/auth.d.ts +174 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +27 -0
- package/dist/auth.js.map +1 -0
- package/dist/blog.d.ts +669 -0
- package/dist/blog.d.ts.map +1 -0
- package/dist/blog.js +360 -0
- package/dist/blog.js.map +1 -0
- package/dist/capabilities.d.ts +40 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +38 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/carts.d.ts +1367 -0
- package/dist/carts.d.ts.map +1 -0
- package/dist/carts.js +405 -0
- package/dist/carts.js.map +1 -0
- package/dist/catalog.d.ts +2855 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +1543 -0
- package/dist/catalog.js.map +1 -0
- package/dist/cms.d.ts +872 -0
- package/dist/cms.d.ts.map +1 -0
- package/dist/cms.js +468 -0
- package/dist/cms.js.map +1 -0
- package/dist/common.d.ts +82 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +72 -0
- package/dist/common.js.map +1 -0
- package/dist/comparisons.d.ts +487 -0
- package/dist/comparisons.d.ts.map +1 -0
- package/dist/comparisons.js +221 -0
- package/dist/comparisons.js.map +1 -0
- package/dist/credentials.d.ts +292 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +142 -0
- package/dist/credentials.js.map +1 -0
- package/dist/credit-limits.d.ts +111 -0
- package/dist/credit-limits.d.ts.map +1 -0
- package/dist/credit-limits.js +35 -0
- package/dist/credit-limits.js.map +1 -0
- package/dist/currencies.d.ts +127 -0
- package/dist/currencies.d.ts.map +1 -0
- package/dist/currencies.js +20 -0
- package/dist/currencies.js.map +1 -0
- package/dist/custom-fields.d.ts +345 -0
- package/dist/custom-fields.d.ts.map +1 -0
- package/dist/custom-fields.js +185 -0
- package/dist/custom-fields.js.map +1 -0
- package/dist/customer-accounts.d.ts +690 -0
- package/dist/customer-accounts.d.ts.map +1 -0
- package/dist/customer-accounts.js +41 -0
- package/dist/customer-accounts.js.map +1 -0
- package/dist/customers.d.ts +305 -0
- package/dist/customers.d.ts.map +1 -0
- package/dist/customers.js +158 -0
- package/dist/customers.js.map +1 -0
- package/dist/dictionary.d.ts +580 -0
- package/dist/dictionary.d.ts.map +1 -0
- package/dist/dictionary.js +297 -0
- package/dist/dictionary.js.map +1 -0
- package/dist/email-address.d.ts +62 -0
- package/dist/email-address.d.ts.map +1 -0
- package/dist/email-address.js +64 -0
- package/dist/email-address.js.map +1 -0
- package/dist/email.d.ts +175 -0
- package/dist/email.d.ts.map +1 -0
- package/dist/email.js +45 -0
- package/dist/email.js.map +1 -0
- package/dist/envelopes.d.ts +15 -0
- package/dist/envelopes.d.ts.map +1 -0
- package/dist/envelopes.js +16 -0
- package/dist/envelopes.js.map +1 -0
- package/dist/environment-inputs.d.ts +306 -0
- package/dist/environment-inputs.d.ts.map +1 -0
- package/dist/environment-inputs.js +277 -0
- package/dist/environment-inputs.js.map +1 -0
- package/dist/erp-connector.d.ts +52 -0
- package/dist/erp-connector.d.ts.map +1 -0
- package/dist/erp-connector.js +34 -0
- package/dist/erp-connector.js.map +1 -0
- package/dist/errors.d.ts +455 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +532 -0
- package/dist/errors.js.map +1 -0
- package/dist/google-analytics.d.ts +181 -0
- package/dist/google-analytics.d.ts.map +1 -0
- package/dist/google-analytics.js +176 -0
- package/dist/google-analytics.js.map +1 -0
- package/dist/google-tag-manager.d.ts +111 -0
- package/dist/google-tag-manager.d.ts.map +1 -0
- package/dist/google-tag-manager.js +129 -0
- package/dist/google-tag-manager.js.map +1 -0
- package/dist/i18n.d.ts +69 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +59 -0
- package/dist/i18n.js.map +1 -0
- package/dist/import-export.d.ts +63 -0
- package/dist/import-export.d.ts.map +1 -0
- package/dist/import-export.js +37 -0
- package/dist/import-export.js.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/inventory.d.ts +673 -0
- package/dist/inventory.d.ts.map +1 -0
- package/dist/inventory.js +412 -0
- package/dist/inventory.js.map +1 -0
- package/dist/invoice-ledger.d.ts +366 -0
- package/dist/invoice-ledger.d.ts.map +1 -0
- package/dist/invoice-ledger.js +114 -0
- package/dist/invoice-ledger.js.map +1 -0
- package/dist/invoices.d.ts +845 -0
- package/dist/invoices.d.ts.map +1 -0
- package/dist/invoices.js +314 -0
- package/dist/invoices.js.map +1 -0
- package/dist/kernel.d.ts +49 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +19 -0
- package/dist/kernel.js.map +1 -0
- package/dist/languages.d.ts +122 -0
- package/dist/languages.d.ts.map +1 -0
- package/dist/languages.js +24 -0
- package/dist/languages.js.map +1 -0
- package/dist/linkedin-ads.d.ts +167 -0
- package/dist/linkedin-ads.d.ts.map +1 -0
- package/dist/linkedin-ads.js +156 -0
- package/dist/linkedin-ads.js.map +1 -0
- package/dist/megamenu.d.ts +556 -0
- package/dist/megamenu.d.ts.map +1 -0
- package/dist/megamenu.js +186 -0
- package/dist/megamenu.js.map +1 -0
- package/dist/meta-ads.d.ts +126 -0
- package/dist/meta-ads.d.ts.map +1 -0
- package/dist/meta-ads.js +112 -0
- package/dist/meta-ads.js.map +1 -0
- package/dist/mfa.d.ts +274 -0
- package/dist/mfa.d.ts.map +1 -0
- package/dist/mfa.js +187 -0
- package/dist/mfa.js.map +1 -0
- package/dist/modules.d.ts +1706 -0
- package/dist/modules.d.ts.map +1 -0
- package/dist/modules.js +1390 -0
- package/dist/modules.js.map +1 -0
- package/dist/newsletter.d.ts +611 -0
- package/dist/newsletter.d.ts.map +1 -0
- package/dist/newsletter.js +345 -0
- package/dist/newsletter.js.map +1 -0
- package/dist/orders.d.ts +1175 -0
- package/dist/orders.d.ts.map +1 -0
- package/dist/orders.js +630 -0
- package/dist/orders.js.map +1 -0
- package/dist/organizations.d.ts +938 -0
- package/dist/organizations.d.ts.map +1 -0
- package/dist/organizations.js +418 -0
- package/dist/organizations.js.map +1 -0
- package/dist/pagination.d.ts +21 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +22 -0
- package/dist/pagination.js.map +1 -0
- package/dist/payment-methods.d.ts +472 -0
- package/dist/payment-methods.d.ts.map +1 -0
- package/dist/payment-methods.js +175 -0
- package/dist/payment-methods.js.map +1 -0
- package/dist/payment-return-url.d.ts +53 -0
- package/dist/payment-return-url.d.ts.map +1 -0
- package/dist/payment-return-url.js +35 -0
- package/dist/payment-return-url.js.map +1 -0
- package/dist/payments.d.ts +386 -0
- package/dist/payments.d.ts.map +1 -0
- package/dist/payments.js +84 -0
- package/dist/payments.js.map +1 -0
- package/dist/pim-connector.d.ts +60 -0
- package/dist/pim-connector.d.ts.map +1 -0
- package/dist/pim-connector.js +43 -0
- package/dist/pim-connector.js.map +1 -0
- package/dist/pim-field-path.d.ts +6 -0
- package/dist/pim-field-path.d.ts.map +1 -0
- package/dist/pim-field-path.js +101 -0
- package/dist/pim-field-path.js.map +1 -0
- package/dist/platform-language.d.ts +20 -0
- package/dist/platform-language.d.ts.map +1 -0
- package/dist/platform-language.js +22 -0
- package/dist/platform-language.js.map +1 -0
- package/dist/price-lists.d.ts +685 -0
- package/dist/price-lists.d.ts.map +1 -0
- package/dist/price-lists.js +330 -0
- package/dist/price-lists.js.map +1 -0
- package/dist/product-feeds.d.ts +2837 -0
- package/dist/product-feeds.d.ts.map +1 -0
- package/dist/product-feeds.js +1504 -0
- package/dist/product-feeds.js.map +1 -0
- package/dist/product-scope-overrides.d.ts +134 -0
- package/dist/product-scope-overrides.d.ts.map +1 -0
- package/dist/product-scope-overrides.js +82 -0
- package/dist/product-scope-overrides.js.map +1 -0
- package/dist/product-value-resolver.d.ts +88 -0
- package/dist/product-value-resolver.d.ts.map +1 -0
- package/dist/product-value-resolver.js +128 -0
- package/dist/product-value-resolver.js.map +1 -0
- package/dist/promotions.d.ts +678 -0
- package/dist/promotions.d.ts.map +1 -0
- package/dist/promotions.js +479 -0
- package/dist/promotions.js.map +1 -0
- package/dist/prompt-actions.d.ts +582 -0
- package/dist/prompt-actions.d.ts.map +1 -0
- package/dist/prompt-actions.js +221 -0
- package/dist/prompt-actions.js.map +1 -0
- package/dist/pwa.d.ts +293 -0
- package/dist/pwa.d.ts.map +1 -0
- package/dist/pwa.js +204 -0
- package/dist/pwa.js.map +1 -0
- package/dist/quick-order.d.ts +340 -0
- package/dist/quick-order.d.ts.map +1 -0
- package/dist/quick-order.js +177 -0
- package/dist/quick-order.js.map +1 -0
- package/dist/quote-requests.d.ts +538 -0
- package/dist/quote-requests.d.ts.map +1 -0
- package/dist/quote-requests.js +308 -0
- package/dist/quote-requests.js.map +1 -0
- package/dist/returns.d.ts +774 -0
- package/dist/returns.d.ts.map +1 -0
- package/dist/returns.js +389 -0
- package/dist/returns.js.map +1 -0
- package/dist/sales-channels.d.ts +392 -0
- package/dist/sales-channels.d.ts.map +1 -0
- package/dist/sales-channels.js +285 -0
- package/dist/sales-channels.js.map +1 -0
- package/dist/scope-notice.d.ts +60 -0
- package/dist/scope-notice.d.ts.map +1 -0
- package/dist/scope-notice.js +56 -0
- package/dist/scope-notice.js.map +1 -0
- package/dist/search.d.ts +321 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +160 -0
- package/dist/search.js.map +1 -0
- package/dist/seo.d.ts +113 -0
- package/dist/seo.d.ts.map +1 -0
- package/dist/seo.js +63 -0
- package/dist/seo.js.map +1 -0
- package/dist/settings.d.ts +453 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +337 -0
- package/dist/settings.js.map +1 -0
- package/dist/shipments.d.ts +140 -0
- package/dist/shipments.d.ts.map +1 -0
- package/dist/shipments.js +14 -0
- package/dist/shipments.js.map +1 -0
- package/dist/shipping-methods.d.ts +350 -0
- package/dist/shipping-methods.d.ts.map +1 -0
- package/dist/shipping-methods.js +99 -0
- package/dist/shipping-methods.js.map +1 -0
- package/dist/shopping-lists.d.ts +122 -0
- package/dist/shopping-lists.d.ts.map +1 -0
- package/dist/shopping-lists.js +92 -0
- package/dist/shopping-lists.js.map +1 -0
- package/dist/taxes.d.ts +106 -0
- package/dist/taxes.d.ts.map +1 -0
- package/dist/taxes.js +80 -0
- package/dist/taxes.js.map +1 -0
- package/dist/text-normalization.d.ts +199 -0
- package/dist/text-normalization.d.ts.map +1 -0
- package/dist/text-normalization.js +205 -0
- package/dist/text-normalization.js.map +1 -0
- package/dist/transactional-emails.d.ts +459 -0
- package/dist/transactional-emails.d.ts.map +1 -0
- package/dist/transactional-emails.js +212 -0
- package/dist/transactional-emails.js.map +1 -0
- package/dist/webhooks.d.ts +69 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +53 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +46 -0
package/dist/blog.js
ADDED
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
// Blog — feature 016 contract surface.
|
|
2
|
+
// Posts, Categories, Tags, related lists, storefront resolved payloads.
|
|
3
|
+
// Per Principle V these schemas are the source of truth for every HTTP
|
|
4
|
+
// boundary in the new `blog` module. The Page Builder content envelope is
|
|
5
|
+
// re-exported from `cms.ts` so the Blog and CMS modules share one source
|
|
6
|
+
// of truth for editor + renderer (research.md § R1).
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { cmsContentEnvelopeSchema } from './cms.js';
|
|
9
|
+
import { isoDateTimeSchema, multilingualStringSchema, uuidSchema } from './common.js';
|
|
10
|
+
// ────────────────────────────────────────────────────────────────────
|
|
11
|
+
// Domain primitives
|
|
12
|
+
// ────────────────────────────────────────────────────────────────────
|
|
13
|
+
/**
|
|
14
|
+
* Slug: URL-safe segment, lowercase a-z / 0-9 / dash, max 160. The literal
|
|
15
|
+
* `tag` is reserved (R3 + R4) — the negative lookahead refuses it.
|
|
16
|
+
*/
|
|
17
|
+
export const blogSlugSchema = z
|
|
18
|
+
.string()
|
|
19
|
+
.min(1)
|
|
20
|
+
.max(160)
|
|
21
|
+
.regex(/^(?!tag$)[a-z0-9](?:[a-z0-9-]{0,158}[a-z0-9])?$/, {
|
|
22
|
+
message: 'Slug must match ^[a-z0-9-]+$ (1–160 chars), and the literal "tag" is reserved.',
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Tag code: globally unique URL-safe identifier. R14.
|
|
26
|
+
*/
|
|
27
|
+
export const blogTagCodeSchema = z
|
|
28
|
+
.string()
|
|
29
|
+
.min(1)
|
|
30
|
+
.max(64)
|
|
31
|
+
.regex(/^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, {
|
|
32
|
+
message: 'Tag code must match ^[a-z0-9-]+$ (1–64 chars).',
|
|
33
|
+
});
|
|
34
|
+
export const blogPostStatusSchema = z.enum(['draft', 'published', 'archived']);
|
|
35
|
+
export const blogUrlPrefixSchema = z
|
|
36
|
+
.string()
|
|
37
|
+
.min(1)
|
|
38
|
+
.max(64)
|
|
39
|
+
.regex(/^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$/, {
|
|
40
|
+
message: 'URL prefix must match ^[a-z0-9-]+$ (1–64 chars).',
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Page Builder description envelope — same shape as CMS pages (R1). The
|
|
44
|
+
* value is `null` when the Category has no description authored.
|
|
45
|
+
*/
|
|
46
|
+
export const blogDescriptionEnvelopeSchema = cmsContentEnvelopeSchema.nullable();
|
|
47
|
+
/**
|
|
48
|
+
* Page Builder content envelope — same shape as CMS pages (R1). Required
|
|
49
|
+
* on Posts (always at least an empty Page Builder document per language).
|
|
50
|
+
*/
|
|
51
|
+
export const blogContentEnvelopeSchema = cmsContentEnvelopeSchema;
|
|
52
|
+
const metaPerLanguage = z
|
|
53
|
+
.record(z.string().min(2), z.object({
|
|
54
|
+
title: z.string().max(180).optional(),
|
|
55
|
+
description: z.string().max(400).optional(),
|
|
56
|
+
keywords: z.string().max(400).optional(),
|
|
57
|
+
}))
|
|
58
|
+
.nullable();
|
|
59
|
+
// ────────────────────────────────────────────────────────────────────
|
|
60
|
+
// Posts — admin
|
|
61
|
+
// ────────────────────────────────────────────────────────────────────
|
|
62
|
+
export const blogPostSummarySchema = z.object({
|
|
63
|
+
id: uuidSchema,
|
|
64
|
+
name: multilingualStringSchema,
|
|
65
|
+
slug: blogSlugSchema,
|
|
66
|
+
status: blogPostStatusSchema,
|
|
67
|
+
active: z.boolean(),
|
|
68
|
+
publishedAt: isoDateTimeSchema.nullable(),
|
|
69
|
+
description: z.string().nullable(),
|
|
70
|
+
salesChannelIds: z.array(uuidSchema),
|
|
71
|
+
languages: z.array(z.string()),
|
|
72
|
+
categoryIds: z.array(uuidSchema),
|
|
73
|
+
tagIds: z.array(uuidSchema),
|
|
74
|
+
version: z.number().int(),
|
|
75
|
+
createdAt: isoDateTimeSchema,
|
|
76
|
+
updatedAt: isoDateTimeSchema,
|
|
77
|
+
});
|
|
78
|
+
export const blogPostTagRefSchema = z.object({
|
|
79
|
+
id: uuidSchema,
|
|
80
|
+
code: blogTagCodeSchema,
|
|
81
|
+
position: z.number().int().nonnegative(),
|
|
82
|
+
});
|
|
83
|
+
export const blogPostDetailSchema = blogPostSummarySchema.extend({
|
|
84
|
+
metaTitle: multilingualStringSchema.nullable(),
|
|
85
|
+
metaDescription: multilingualStringSchema.nullable(),
|
|
86
|
+
metaKeywords: multilingualStringSchema.nullable(),
|
|
87
|
+
meta: metaPerLanguage,
|
|
88
|
+
content: blogContentEnvelopeSchema,
|
|
89
|
+
tags: z.array(blogPostTagRefSchema),
|
|
90
|
+
relatedPostIds: z.array(uuidSchema),
|
|
91
|
+
relatedProductIds: z.array(uuidSchema),
|
|
92
|
+
});
|
|
93
|
+
export const createBlogPostRequestSchema = z.object({
|
|
94
|
+
name: multilingualStringSchema,
|
|
95
|
+
slug: blogSlugSchema,
|
|
96
|
+
active: z.boolean().default(true),
|
|
97
|
+
description: z.string().nullable().optional(),
|
|
98
|
+
salesChannelIds: z.array(uuidSchema).min(1),
|
|
99
|
+
languages: z.array(z.string().min(2)).min(1),
|
|
100
|
+
categoryIds: z.array(uuidSchema).default([]),
|
|
101
|
+
tagIds: z.array(uuidSchema).default([]),
|
|
102
|
+
metaTitle: multilingualStringSchema.nullable().optional(),
|
|
103
|
+
metaDescription: multilingualStringSchema.nullable().optional(),
|
|
104
|
+
metaKeywords: multilingualStringSchema.nullable().optional(),
|
|
105
|
+
content: blogContentEnvelopeSchema.optional(),
|
|
106
|
+
});
|
|
107
|
+
export const patchBlogPostRequestSchema = createBlogPostRequestSchema
|
|
108
|
+
.omit({ content: true })
|
|
109
|
+
.partial()
|
|
110
|
+
.extend({ version: z.number().int().optional() })
|
|
111
|
+
.refine((x) => Object.keys(x).length > 0, { message: 'At least one field required.' });
|
|
112
|
+
export const putBlogPostContentRequestSchema = z.object({
|
|
113
|
+
content: blogContentEnvelopeSchema,
|
|
114
|
+
version: z.number().int(),
|
|
115
|
+
});
|
|
116
|
+
export const setBlogPostTagsRequestSchema = z.object({
|
|
117
|
+
tagIds: z.array(uuidSchema),
|
|
118
|
+
version: z.number().int(),
|
|
119
|
+
});
|
|
120
|
+
export const setBlogPostRelatedPostsRequestSchema = z.object({
|
|
121
|
+
relatedPostIds: z.array(uuidSchema),
|
|
122
|
+
version: z.number().int(),
|
|
123
|
+
});
|
|
124
|
+
export const setBlogPostRelatedProductsRequestSchema = z.object({
|
|
125
|
+
productIds: z.array(uuidSchema),
|
|
126
|
+
version: z.number().int(),
|
|
127
|
+
});
|
|
128
|
+
export const blogPostInboundReferenceSchema = z.object({
|
|
129
|
+
id: uuidSchema,
|
|
130
|
+
name: multilingualStringSchema,
|
|
131
|
+
slug: blogSlugSchema,
|
|
132
|
+
});
|
|
133
|
+
export const blogPostInboundReferencesResponseSchema = z.object({
|
|
134
|
+
asRelatedPostBy: z.array(blogPostInboundReferenceSchema),
|
|
135
|
+
});
|
|
136
|
+
export const blogCategoryTreeNodeSchema = z.lazy(() => z.object({
|
|
137
|
+
id: uuidSchema,
|
|
138
|
+
parentId: uuidSchema.nullable(),
|
|
139
|
+
position: z.number().int().nonnegative(),
|
|
140
|
+
name: multilingualStringSchema,
|
|
141
|
+
slug: blogSlugSchema,
|
|
142
|
+
enabled: z.boolean(),
|
|
143
|
+
isSystem: z.boolean(),
|
|
144
|
+
salesChannelIds: z.array(uuidSchema),
|
|
145
|
+
languages: z.array(z.string()),
|
|
146
|
+
mainImageAssetId: uuidSchema.nullable(),
|
|
147
|
+
version: z.number().int(),
|
|
148
|
+
children: z.array(blogCategoryTreeNodeSchema),
|
|
149
|
+
}));
|
|
150
|
+
export const blogCategoryTreeResponseSchema = z.object({
|
|
151
|
+
tree: z.array(blogCategoryTreeNodeSchema),
|
|
152
|
+
});
|
|
153
|
+
export const blogCategoryDetailSchema = z.object({
|
|
154
|
+
id: uuidSchema,
|
|
155
|
+
parentId: uuidSchema.nullable(),
|
|
156
|
+
position: z.number().int().nonnegative(),
|
|
157
|
+
name: multilingualStringSchema,
|
|
158
|
+
slug: blogSlugSchema,
|
|
159
|
+
enabled: z.boolean(),
|
|
160
|
+
isSystem: z.boolean(),
|
|
161
|
+
salesChannelIds: z.array(uuidSchema),
|
|
162
|
+
languages: z.array(z.string()),
|
|
163
|
+
mainImageAssetId: uuidSchema.nullable(),
|
|
164
|
+
metaTitle: multilingualStringSchema.nullable(),
|
|
165
|
+
metaDescription: multilingualStringSchema.nullable(),
|
|
166
|
+
metaKeywords: multilingualStringSchema.nullable(),
|
|
167
|
+
description: blogDescriptionEnvelopeSchema,
|
|
168
|
+
version: z.number().int(),
|
|
169
|
+
createdAt: isoDateTimeSchema,
|
|
170
|
+
updatedAt: isoDateTimeSchema,
|
|
171
|
+
});
|
|
172
|
+
export const createBlogCategoryRequestSchema = z.object({
|
|
173
|
+
parentId: uuidSchema.nullable(),
|
|
174
|
+
name: multilingualStringSchema,
|
|
175
|
+
slug: blogSlugSchema,
|
|
176
|
+
enabled: z.boolean().default(true),
|
|
177
|
+
salesChannelIds: z.array(uuidSchema).min(1),
|
|
178
|
+
languages: z.array(z.string().min(2)).min(1),
|
|
179
|
+
mainImageAssetId: uuidSchema.nullable().optional(),
|
|
180
|
+
metaTitle: multilingualStringSchema.nullable().optional(),
|
|
181
|
+
metaDescription: multilingualStringSchema.nullable().optional(),
|
|
182
|
+
metaKeywords: multilingualStringSchema.nullable().optional(),
|
|
183
|
+
});
|
|
184
|
+
export const patchBlogCategoryRequestSchema = createBlogCategoryRequestSchema
|
|
185
|
+
.partial()
|
|
186
|
+
.extend({ version: z.number().int().optional() })
|
|
187
|
+
.refine((x) => Object.keys(x).length > 0, { message: 'At least one field required.' });
|
|
188
|
+
export const putBlogCategoryDescriptionRequestSchema = z.object({
|
|
189
|
+
description: blogDescriptionEnvelopeSchema,
|
|
190
|
+
version: z.number().int(),
|
|
191
|
+
});
|
|
192
|
+
export const blogCategoryTreeMoveSchema = z.object({
|
|
193
|
+
id: uuidSchema,
|
|
194
|
+
parentId: uuidSchema.nullable(),
|
|
195
|
+
position: z.number().int().nonnegative(),
|
|
196
|
+
});
|
|
197
|
+
export const putBlogCategoryTreeMovesRequestSchema = z.object({
|
|
198
|
+
moves: z.array(blogCategoryTreeMoveSchema).min(1),
|
|
199
|
+
});
|
|
200
|
+
// ────────────────────────────────────────────────────────────────────
|
|
201
|
+
// Tags — admin
|
|
202
|
+
// ────────────────────────────────────────────────────────────────────
|
|
203
|
+
export const blogTagDetailSchema = z.object({
|
|
204
|
+
id: uuidSchema,
|
|
205
|
+
name: multilingualStringSchema,
|
|
206
|
+
description: multilingualStringSchema.nullable(),
|
|
207
|
+
code: blogTagCodeSchema,
|
|
208
|
+
version: z.number().int(),
|
|
209
|
+
createdAt: isoDateTimeSchema,
|
|
210
|
+
updatedAt: isoDateTimeSchema,
|
|
211
|
+
});
|
|
212
|
+
export const createBlogTagRequestSchema = z.object({
|
|
213
|
+
name: multilingualStringSchema,
|
|
214
|
+
description: multilingualStringSchema.nullable().optional(),
|
|
215
|
+
code: blogTagCodeSchema,
|
|
216
|
+
});
|
|
217
|
+
export const patchBlogTagRequestSchema = createBlogTagRequestSchema
|
|
218
|
+
.partial()
|
|
219
|
+
.extend({ version: z.number().int().optional() })
|
|
220
|
+
.refine((x) => Object.keys(x).length > 0, { message: 'At least one field required.' });
|
|
221
|
+
export const blogTagInboundReferencesResponseSchema = z.object({
|
|
222
|
+
posts: z.array(blogPostInboundReferenceSchema),
|
|
223
|
+
totalPosts: z.number().int().nonnegative(),
|
|
224
|
+
});
|
|
225
|
+
// ────────────────────────────────────────────────────────────────────
|
|
226
|
+
// Storefront resolved payloads
|
|
227
|
+
// ────────────────────────────────────────────────────────────────────
|
|
228
|
+
export const blogPostCardSchema = z.object({
|
|
229
|
+
id: uuidSchema,
|
|
230
|
+
slug: blogSlugSchema,
|
|
231
|
+
name: z.string(),
|
|
232
|
+
publishedAt: isoDateTimeSchema.nullable(),
|
|
233
|
+
excerpt: z.string().nullable(),
|
|
234
|
+
mainImageUrl: z.string().nullable(),
|
|
235
|
+
primaryCategorySlug: blogSlugSchema.nullable(),
|
|
236
|
+
});
|
|
237
|
+
export const blogProductCardSchema = z.object({
|
|
238
|
+
id: uuidSchema,
|
|
239
|
+
slug: z.string(),
|
|
240
|
+
name: z.string(),
|
|
241
|
+
mainImageUrl: z.string().nullable(),
|
|
242
|
+
price: z
|
|
243
|
+
.object({
|
|
244
|
+
amount: z.string(),
|
|
245
|
+
currency: z.string(),
|
|
246
|
+
})
|
|
247
|
+
.nullable(),
|
|
248
|
+
});
|
|
249
|
+
export const blogCategoryTileSchema = z.object({
|
|
250
|
+
id: uuidSchema,
|
|
251
|
+
name: z.string(),
|
|
252
|
+
slug: blogSlugSchema,
|
|
253
|
+
mainImageUrl: z.string().nullable(),
|
|
254
|
+
});
|
|
255
|
+
export const blogIndexResponseSchema = z.object({
|
|
256
|
+
urlPrefix: blogUrlPrefixSchema,
|
|
257
|
+
latestPosts: z.array(blogPostCardSchema),
|
|
258
|
+
topLevelCategories: z.array(blogCategoryTileSchema),
|
|
259
|
+
});
|
|
260
|
+
export const blogPaginationSchema = z.object({
|
|
261
|
+
page: z.number().int().positive(),
|
|
262
|
+
perPage: z.number().int().positive(),
|
|
263
|
+
totalPages: z.number().int().nonnegative(),
|
|
264
|
+
totalItems: z.number().int().nonnegative(),
|
|
265
|
+
});
|
|
266
|
+
export const blogBreadcrumbEntrySchema = z.object({
|
|
267
|
+
name: z.string(),
|
|
268
|
+
url: z.string(),
|
|
269
|
+
});
|
|
270
|
+
export const blogResolvedCategorySchema = z.object({
|
|
271
|
+
id: uuidSchema,
|
|
272
|
+
name: z.string(),
|
|
273
|
+
slug: blogSlugSchema,
|
|
274
|
+
mainImageUrl: z.string().nullable(),
|
|
275
|
+
description: blogDescriptionEnvelopeSchema,
|
|
276
|
+
metaTitle: z.string().nullable(),
|
|
277
|
+
metaDescription: z.string().nullable(),
|
|
278
|
+
metaKeywords: z.string().nullable(),
|
|
279
|
+
childCategories: z.array(blogCategoryTileSchema),
|
|
280
|
+
breadcrumb: z.array(blogBreadcrumbEntrySchema),
|
|
281
|
+
});
|
|
282
|
+
export const blogResolvedTagRefSchema = z.object({
|
|
283
|
+
id: uuidSchema,
|
|
284
|
+
code: blogTagCodeSchema,
|
|
285
|
+
name: z.string(),
|
|
286
|
+
});
|
|
287
|
+
export const blogResolvedPostSchema = z.object({
|
|
288
|
+
id: uuidSchema,
|
|
289
|
+
name: z.string(),
|
|
290
|
+
slug: blogSlugSchema,
|
|
291
|
+
publishedAt: isoDateTimeSchema.nullable(),
|
|
292
|
+
metaTitle: z.string().nullable(),
|
|
293
|
+
metaDescription: z.string().nullable(),
|
|
294
|
+
metaKeywords: z.string().nullable(),
|
|
295
|
+
content: blogContentEnvelopeSchema,
|
|
296
|
+
tags: z.array(blogResolvedTagRefSchema),
|
|
297
|
+
relatedPosts: z.array(blogPostCardSchema),
|
|
298
|
+
relatedProducts: z.array(blogProductCardSchema),
|
|
299
|
+
categories: z.array(z.object({ id: uuidSchema, name: z.string(), slug: blogSlugSchema })),
|
|
300
|
+
breadcrumb: z.array(blogBreadcrumbEntrySchema),
|
|
301
|
+
});
|
|
302
|
+
export const blogBySlugCategoryResponseSchema = z.object({
|
|
303
|
+
kind: z.literal('category'),
|
|
304
|
+
category: blogResolvedCategorySchema,
|
|
305
|
+
posts: z.object({
|
|
306
|
+
data: z.array(blogPostCardSchema),
|
|
307
|
+
pagination: blogPaginationSchema,
|
|
308
|
+
}),
|
|
309
|
+
});
|
|
310
|
+
export const blogBySlugPostResponseSchema = z.object({
|
|
311
|
+
kind: z.literal('post'),
|
|
312
|
+
post: blogResolvedPostSchema,
|
|
313
|
+
});
|
|
314
|
+
export const blogBySlugResponseSchema = z.discriminatedUnion('kind', [
|
|
315
|
+
blogBySlugCategoryResponseSchema,
|
|
316
|
+
blogBySlugPostResponseSchema,
|
|
317
|
+
]);
|
|
318
|
+
export const blogTagByCodeResponseSchema = z.object({
|
|
319
|
+
tag: z.object({
|
|
320
|
+
id: uuidSchema,
|
|
321
|
+
code: blogTagCodeSchema,
|
|
322
|
+
name: z.string(),
|
|
323
|
+
description: z.string().nullable(),
|
|
324
|
+
}),
|
|
325
|
+
posts: z.object({
|
|
326
|
+
data: z.array(blogPostCardSchema),
|
|
327
|
+
pagination: blogPaginationSchema,
|
|
328
|
+
}),
|
|
329
|
+
breadcrumb: z.array(blogBreadcrumbEntrySchema),
|
|
330
|
+
});
|
|
331
|
+
// ────────────────────────────────────────────────────────────────────
|
|
332
|
+
// Settings keys (re-exported as constants so admin + backend agree on
|
|
333
|
+
// the canonical names)
|
|
334
|
+
// ────────────────────────────────────────────────────────────────────
|
|
335
|
+
export const BLOG_SETTING_CODES = {
|
|
336
|
+
ENABLED: 'blog.enabled',
|
|
337
|
+
URL_PREFIX: 'blog.url_prefix',
|
|
338
|
+
LATEST_COUNT: 'blog.latest_count',
|
|
339
|
+
POSTS_PER_PAGE: 'blog.posts_per_page',
|
|
340
|
+
};
|
|
341
|
+
export const BLOG_SETTING_DEFAULTS = {
|
|
342
|
+
enabled: true,
|
|
343
|
+
urlPrefix: 'blog',
|
|
344
|
+
latestCount: 5,
|
|
345
|
+
postsPerPage: 12,
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* Reserved Next.js segments — `blog.url_prefix` cannot be set to one of
|
|
349
|
+
* these because the storefront layer would route around the blog. The
|
|
350
|
+
* setter callback (R-5) refuses any value in this set.
|
|
351
|
+
*/
|
|
352
|
+
export const BLOG_RESERVED_URL_PREFIXES = new Set([
|
|
353
|
+
'api',
|
|
354
|
+
'_next',
|
|
355
|
+
'manifest.webmanifest',
|
|
356
|
+
'favicon.ico',
|
|
357
|
+
'robots.txt',
|
|
358
|
+
'sitemap.xml',
|
|
359
|
+
]);
|
|
360
|
+
//# sourceMappingURL=blog.js.map
|
package/dist/blog.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module capabilities — declared membership of a named family
|
|
3
|
+
* (`specs/132-connector-family-discovery/contracts/module-capabilities.md`).
|
|
4
|
+
*
|
|
5
|
+
* A module says, in its own manifest, that it is a member of a capability:
|
|
6
|
+
* `capabilities: [CAPABILITY_KEYS.PIM_CONNECTOR]`. The capability's **owner**
|
|
7
|
+
* says, in its own manifest, that the capability is mutually exclusive and mints
|
|
8
|
+
* the refusal code. Neither side names the other's package, on the same terms an
|
|
9
|
+
* error code and a Page Builder block name are declared (R1.3).
|
|
10
|
+
*
|
|
11
|
+
* Three arrays are what this replaces — `PIM_CONNECTOR_MODULES`,
|
|
12
|
+
* `INVOICE_LEDGER_MODULES` and `ERP_CONNECTOR_MODULES` — each of which is a
|
|
13
|
+
* hand-written copy of a fact the manifests already carry, and each of which a
|
|
14
|
+
* connector installed from npm or a per-deployment overlay module cannot get
|
|
15
|
+
* into without editing a file it does not own.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The shape of a capability key: kebab-case, like a Page Builder block category
|
|
19
|
+
* key and deliberately unlike a module id, which is `snake_case` (`moduleIdRe`).
|
|
20
|
+
* The two spellings differ so that a key and an id cannot be confused for one
|
|
21
|
+
* another in a manifest, a log line or a test fixture.
|
|
22
|
+
*/
|
|
23
|
+
export declare const capabilityKeyRe: RegExp;
|
|
24
|
+
/**
|
|
25
|
+
* The keys minted in this repository.
|
|
26
|
+
*
|
|
27
|
+
* **A capability key is a string, not an enum** (R1.2). A capability owned by a
|
|
28
|
+
* package this repository does not contain is spelled by its owner and needs no
|
|
29
|
+
* entry here — which is the whole point of the field, and the reason nothing in
|
|
30
|
+
* the platform validates a key against this object. These three exist so that
|
|
31
|
+
* the modules in this tree spell theirs once.
|
|
32
|
+
*/
|
|
33
|
+
export declare const CAPABILITY_KEYS: {
|
|
34
|
+
readonly PIM_CONNECTOR: "pim-connector";
|
|
35
|
+
readonly ERP_CONNECTOR: "erp-connector";
|
|
36
|
+
readonly INVOICE_LEDGER_VENDOR: "invoice-ledger-vendor";
|
|
37
|
+
};
|
|
38
|
+
/** One of the keys this repository mints. A member outside it declares a plain string. */
|
|
39
|
+
export type CapabilityKey = (typeof CAPABILITY_KEYS)[keyof typeof CAPABILITY_KEYS];
|
|
40
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAkC,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,0FAA0F;AAC1F,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module capabilities — declared membership of a named family
|
|
3
|
+
* (`specs/132-connector-family-discovery/contracts/module-capabilities.md`).
|
|
4
|
+
*
|
|
5
|
+
* A module says, in its own manifest, that it is a member of a capability:
|
|
6
|
+
* `capabilities: [CAPABILITY_KEYS.PIM_CONNECTOR]`. The capability's **owner**
|
|
7
|
+
* says, in its own manifest, that the capability is mutually exclusive and mints
|
|
8
|
+
* the refusal code. Neither side names the other's package, on the same terms an
|
|
9
|
+
* error code and a Page Builder block name are declared (R1.3).
|
|
10
|
+
*
|
|
11
|
+
* Three arrays are what this replaces — `PIM_CONNECTOR_MODULES`,
|
|
12
|
+
* `INVOICE_LEDGER_MODULES` and `ERP_CONNECTOR_MODULES` — each of which is a
|
|
13
|
+
* hand-written copy of a fact the manifests already carry, and each of which a
|
|
14
|
+
* connector installed from npm or a per-deployment overlay module cannot get
|
|
15
|
+
* into without editing a file it does not own.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The shape of a capability key: kebab-case, like a Page Builder block category
|
|
19
|
+
* key and deliberately unlike a module id, which is `snake_case` (`moduleIdRe`).
|
|
20
|
+
* The two spellings differ so that a key and an id cannot be confused for one
|
|
21
|
+
* another in a manifest, a log line or a test fixture.
|
|
22
|
+
*/
|
|
23
|
+
export const capabilityKeyRe = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;
|
|
24
|
+
/**
|
|
25
|
+
* The keys minted in this repository.
|
|
26
|
+
*
|
|
27
|
+
* **A capability key is a string, not an enum** (R1.2). A capability owned by a
|
|
28
|
+
* package this repository does not contain is spelled by its owner and needs no
|
|
29
|
+
* entry here — which is the whole point of the field, and the reason nothing in
|
|
30
|
+
* the platform validates a key against this object. These three exist so that
|
|
31
|
+
* the modules in this tree spell theirs once.
|
|
32
|
+
*/
|
|
33
|
+
export const CAPABILITY_KEYS = {
|
|
34
|
+
PIM_CONNECTOR: 'pim-connector',
|
|
35
|
+
ERP_CONNECTOR: 'erp-connector',
|
|
36
|
+
INVOICE_LEDGER_VENDOR: 'invoice-ledger-vendor',
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,qBAAqB,EAAE,uBAAuB;CACtC,CAAC"}
|