@tolinax/ayoune-interfaces 2026.15.0 → 2026.16.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/data/modelNames.d.ts +1 -0
- package/data/modelNames.js +1 -0
- package/data/modelsAndRights.js +10 -0
- package/interfaces/IPageBlock.d.ts +57 -0
- package/interfaces/IPageBlock.js +9 -0
- package/interfaces/IWebPage.d.ts +33 -0
- package/interfaces/IWebsite.d.ts +41 -0
- package/interfaces/IWebsiteMenu.d.ts +30 -0
- package/interfaces/IWebsiteMenu.js +2 -0
- package/interfaces/index.d.ts +2 -0
- package/interfaces/index.js +2 -0
- package/package.json +1 -1
package/data/modelNames.d.ts
CHANGED
|
@@ -604,6 +604,7 @@ export declare enum aMN {
|
|
|
604
604
|
WebPushSubscribers = "WebPushSubscribers",
|
|
605
605
|
WebReceiverLogs = "WebReceiverLogs",
|
|
606
606
|
WebReceivers = "WebReceivers",
|
|
607
|
+
WebsiteMenus = "WebsiteMenus",
|
|
607
608
|
Websites = "Websites",
|
|
608
609
|
WebsiteTemplates = "WebsiteTemplates",
|
|
609
610
|
WhatsappLogs = "WhatsappLogs",
|
package/data/modelNames.js
CHANGED
|
@@ -608,6 +608,7 @@ var aMN;
|
|
|
608
608
|
aMN["WebPushSubscribers"] = "WebPushSubscribers";
|
|
609
609
|
aMN["WebReceiverLogs"] = "WebReceiverLogs";
|
|
610
610
|
aMN["WebReceivers"] = "WebReceivers";
|
|
611
|
+
aMN["WebsiteMenus"] = "WebsiteMenus";
|
|
611
612
|
aMN["Websites"] = "Websites";
|
|
612
613
|
aMN["WebsiteTemplates"] = "WebsiteTemplates";
|
|
613
614
|
aMN["WhatsappLogs"] = "WhatsappLogs";
|
package/data/modelsAndRights.js
CHANGED
|
@@ -6123,6 +6123,16 @@ const modelsAndRights = [
|
|
|
6123
6123
|
allowDuplicate: false,
|
|
6124
6124
|
updateBy: "_id",
|
|
6125
6125
|
},
|
|
6126
|
+
{
|
|
6127
|
+
plural: "WebsiteMenus",
|
|
6128
|
+
singular: "WebsiteMenu",
|
|
6129
|
+
module: "cms",
|
|
6130
|
+
right: "cms.websitemenus",
|
|
6131
|
+
readOnly: false,
|
|
6132
|
+
importable: false,
|
|
6133
|
+
allowDuplicate: true,
|
|
6134
|
+
updateBy: "_id",
|
|
6135
|
+
},
|
|
6126
6136
|
{
|
|
6127
6137
|
plural: "Websites",
|
|
6128
6138
|
singular: "Website",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPageBlock — Structured content block for WebPages.
|
|
3
|
+
* Embedded in WebPages.blocks[] (not a separate collection).
|
|
4
|
+
*
|
|
5
|
+
* Each block has a type, content map, settings for layout/style,
|
|
6
|
+
* optional translations per locale, and optional widget embedding config.
|
|
7
|
+
*/
|
|
8
|
+
export type PageBlockType = 'hero' | 'text' | 'image' | 'gallery' | 'video' | 'cta' | 'form' | 'widget' | 'columns' | 'testimonial' | 'pricing' | 'faq' | 'contact' | 'map' | 'social' | 'html' | 'divider' | 'spacer' | 'header' | 'footer' | 'navigation' | 'countdown' | 'stats' | 'logos' | 'features' | 'team' | 'blog-list' | 'product-list';
|
|
9
|
+
export interface IPageBlockSpacing {
|
|
10
|
+
top?: number;
|
|
11
|
+
right?: number;
|
|
12
|
+
bottom?: number;
|
|
13
|
+
left?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface IPageBlockVisibility {
|
|
16
|
+
desktop?: boolean;
|
|
17
|
+
tablet?: boolean;
|
|
18
|
+
mobile?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface IPageBlockSettings {
|
|
21
|
+
backgroundColor?: string;
|
|
22
|
+
backgroundImage?: string;
|
|
23
|
+
backgroundOverlay?: string;
|
|
24
|
+
padding?: IPageBlockSpacing;
|
|
25
|
+
margin?: IPageBlockSpacing;
|
|
26
|
+
maxWidth?: string;
|
|
27
|
+
fullWidth?: boolean;
|
|
28
|
+
minHeight?: string;
|
|
29
|
+
cssClass?: string;
|
|
30
|
+
customCss?: string;
|
|
31
|
+
id?: string;
|
|
32
|
+
animation?: string;
|
|
33
|
+
visibility?: IPageBlockVisibility;
|
|
34
|
+
borderRadius?: string;
|
|
35
|
+
border?: string;
|
|
36
|
+
shadow?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface IPageBlockWidgetConfig {
|
|
39
|
+
widgetType: string;
|
|
40
|
+
widgetId?: string;
|
|
41
|
+
embedOptions?: Record<string, any>;
|
|
42
|
+
}
|
|
43
|
+
export interface IPageBlock {
|
|
44
|
+
_id?: string;
|
|
45
|
+
type: PageBlockType;
|
|
46
|
+
/** Type-specific content (heading, body, imageUrl, items[], etc.) */
|
|
47
|
+
content: Record<string, any>;
|
|
48
|
+
/** Per-locale content overrides keyed by locale code (e.g. 'en', 'fr') */
|
|
49
|
+
translations?: Record<string, Record<string, any>>;
|
|
50
|
+
settings: IPageBlockSettings;
|
|
51
|
+
/** For 'widget' block type — which widget to embed */
|
|
52
|
+
widgetConfig?: IPageBlockWidgetConfig;
|
|
53
|
+
/** For 'columns' block type — array of column block arrays */
|
|
54
|
+
columns?: IPageBlock[][];
|
|
55
|
+
sortOrder: number;
|
|
56
|
+
aiGenerated?: boolean;
|
|
57
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IPageBlock — Structured content block for WebPages.
|
|
4
|
+
* Embedded in WebPages.blocks[] (not a separate collection).
|
|
5
|
+
*
|
|
6
|
+
* Each block has a type, content map, settings for layout/style,
|
|
7
|
+
* optional translations per locale, and optional widget embedding config.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/interfaces/IWebPage.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { IDefaultFields } from "./IDefaultFields";
|
|
2
|
+
import { IPageBlock } from "./IPageBlock";
|
|
3
|
+
export interface IWebPageRenderedLocale {
|
|
4
|
+
html: string;
|
|
5
|
+
css?: string;
|
|
6
|
+
renderedAt: Date;
|
|
7
|
+
}
|
|
2
8
|
export interface IWebPage extends IDefaultFields {
|
|
3
9
|
_customerID: ObjectId;
|
|
4
10
|
_property?: ObjectId;
|
|
@@ -6,7 +12,34 @@ export interface IWebPage extends IDefaultFields {
|
|
|
6
12
|
_clientID?: ObjectId[];
|
|
7
13
|
_subID?: ObjectId[];
|
|
8
14
|
_affiliateID?: ObjectId;
|
|
15
|
+
_website?: ObjectId;
|
|
16
|
+
parentPage?: ObjectId;
|
|
9
17
|
name?: string;
|
|
18
|
+
/** Structured content blocks (modern editor) */
|
|
19
|
+
blocks?: IPageBlock[];
|
|
20
|
+
/** Pre-rendered HTML per locale keyed by locale code */
|
|
21
|
+
renderedLocales?: Record<string, IWebPageRenderedLocale>;
|
|
22
|
+
/** Page template: 'landing', 'blog', 'product', 'contact', 'custom' */
|
|
23
|
+
template?: string;
|
|
24
|
+
isPublished?: boolean;
|
|
25
|
+
publishedAt?: Date;
|
|
26
|
+
/** Primary locale for this page */
|
|
27
|
+
locale?: string;
|
|
28
|
+
/** All locales this page supports */
|
|
29
|
+
supportedLocales?: string[];
|
|
30
|
+
/** Per-locale meta overrides keyed by locale code */
|
|
31
|
+
translations?: Record<string, {
|
|
32
|
+
meta?: {
|
|
33
|
+
title?: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
keywords?: string;
|
|
36
|
+
ogTitle?: string;
|
|
37
|
+
ogDescription?: string;
|
|
38
|
+
ogImage?: string;
|
|
39
|
+
};
|
|
40
|
+
}>;
|
|
41
|
+
sortOrder?: number;
|
|
42
|
+
/** GrapesJS builder config (legacy editor) */
|
|
10
43
|
config: {
|
|
11
44
|
assets: any[];
|
|
12
45
|
pages: any[];
|
package/interfaces/IWebsite.d.ts
CHANGED
|
@@ -58,4 +58,45 @@ export interface IWebsite extends IDefaultFields {
|
|
|
58
58
|
color_theme?: string;
|
|
59
59
|
override?: number;
|
|
60
60
|
locale?: string;
|
|
61
|
+
/** Favicon URL */
|
|
62
|
+
favicon?: string;
|
|
63
|
+
/** Font configuration */
|
|
64
|
+
fonts?: {
|
|
65
|
+
heading?: string;
|
|
66
|
+
body?: string;
|
|
67
|
+
url?: string;
|
|
68
|
+
};
|
|
69
|
+
/** IDC.A.D.D tracking configuration */
|
|
70
|
+
tracking?: {
|
|
71
|
+
enabled?: boolean;
|
|
72
|
+
idcaddHost?: string;
|
|
73
|
+
customScripts?: string[];
|
|
74
|
+
};
|
|
75
|
+
/** Default locale for this website */
|
|
76
|
+
defaultLocale?: string;
|
|
77
|
+
/** All locales this website supports */
|
|
78
|
+
supportedLocales?: string[];
|
|
79
|
+
/** Consumer-facing navigation menu references */
|
|
80
|
+
navigation?: {
|
|
81
|
+
mainMenu?: ObjectId;
|
|
82
|
+
footerMenu?: ObjectId;
|
|
83
|
+
topbarMenu?: ObjectId;
|
|
84
|
+
};
|
|
85
|
+
/** Branding overrides */
|
|
86
|
+
branding?: {
|
|
87
|
+
logo?: string;
|
|
88
|
+
icon?: string;
|
|
89
|
+
primaryColor?: string;
|
|
90
|
+
secondaryColor?: string;
|
|
91
|
+
accentColor?: string;
|
|
92
|
+
warnColor?: string;
|
|
93
|
+
fontColor?: string;
|
|
94
|
+
backgroundColor?: string;
|
|
95
|
+
};
|
|
96
|
+
/** Custom HTML injected into page <head> */
|
|
97
|
+
globalHead?: string;
|
|
98
|
+
/** Custom HTML injected at start of <body> */
|
|
99
|
+
globalBodyStart?: string;
|
|
100
|
+
/** Custom HTML injected at end of <body> */
|
|
101
|
+
globalBodyEnd?: string;
|
|
61
102
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IDefaultFields } from './IDefaultFields';
|
|
2
|
+
export interface IWebsiteMenuItem {
|
|
3
|
+
_id?: string;
|
|
4
|
+
label: string;
|
|
5
|
+
/** Per-locale label overrides keyed by locale code (e.g. 'en', 'fr') */
|
|
6
|
+
translations?: Record<string, string>;
|
|
7
|
+
type: 'page' | 'url' | 'section' | 'dropdown';
|
|
8
|
+
/** Reference to a WebPage (for type 'page') */
|
|
9
|
+
_page?: ObjectId;
|
|
10
|
+
/** External or absolute URL (for type 'url') */
|
|
11
|
+
url?: string;
|
|
12
|
+
/** Section anchor ID (for type 'section') */
|
|
13
|
+
anchor?: string;
|
|
14
|
+
target?: '_self' | '_blank';
|
|
15
|
+
children?: IWebsiteMenuItem[];
|
|
16
|
+
sortOrder?: number;
|
|
17
|
+
icon?: string;
|
|
18
|
+
cssClass?: string;
|
|
19
|
+
/** Whether this item is visible */
|
|
20
|
+
visible?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface IWebsiteMenu extends IDefaultFields {
|
|
23
|
+
_customerID: ObjectId;
|
|
24
|
+
_website?: ObjectId;
|
|
25
|
+
name: string;
|
|
26
|
+
/** Slot identifier: 'main', 'footer', 'sidebar', 'topbar' */
|
|
27
|
+
identifier: string;
|
|
28
|
+
items: IWebsiteMenuItem[];
|
|
29
|
+
locale?: string;
|
|
30
|
+
}
|
package/interfaces/index.d.ts
CHANGED
|
@@ -652,7 +652,9 @@ export * from "./IWebPushSubscriber";
|
|
|
652
652
|
export * from "./IWebReceiver";
|
|
653
653
|
export * from "./IWebReceiverLog";
|
|
654
654
|
export * from "./IWebsite";
|
|
655
|
+
export * from "./IWebsiteMenu";
|
|
655
656
|
export * from "./IWebsiteTemplate";
|
|
657
|
+
export * from "./IPageBlock";
|
|
656
658
|
export * from "./IWhatsappLog";
|
|
657
659
|
export * from "./IWidget";
|
|
658
660
|
export * from "./IWikiPage";
|
package/interfaces/index.js
CHANGED
|
@@ -668,7 +668,9 @@ __exportStar(require("./IWebPushSubscriber"), exports);
|
|
|
668
668
|
__exportStar(require("./IWebReceiver"), exports);
|
|
669
669
|
__exportStar(require("./IWebReceiverLog"), exports);
|
|
670
670
|
__exportStar(require("./IWebsite"), exports);
|
|
671
|
+
__exportStar(require("./IWebsiteMenu"), exports);
|
|
671
672
|
__exportStar(require("./IWebsiteTemplate"), exports);
|
|
673
|
+
__exportStar(require("./IPageBlock"), exports);
|
|
672
674
|
__exportStar(require("./IWhatsappLog"), exports);
|
|
673
675
|
__exportStar(require("./IWidget"), exports);
|
|
674
676
|
__exportStar(require("./IWikiPage"), exports);
|