@silexlabs/silex 3.0.1-0 → 3.0.1
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/.env.default +3 -2
- package/.silex.js +39 -1
- package/README.md +37 -35
- package/dist/client/client/api.d.ts +8 -1
- package/dist/client/client/assetUrl.d.ts +54 -0
- package/dist/client/client/config.d.ts +60 -1
- package/dist/client/client/events.d.ts +19 -10
- package/dist/client/client/grapesjs/PublicationManager.d.ts +6 -8
- package/dist/client/client/grapesjs/PublicationUi.d.ts +8 -10
- package/dist/client/client/grapesjs/breadcrumbs.d.ts +1 -0
- package/dist/client/client/grapesjs/css-props.d.ts +6 -0
- package/dist/client/client/grapesjs/footer.d.ts +2 -0
- package/dist/client/client/grapesjs/img.d.ts +6 -0
- package/dist/client/client/grapesjs/index.d.ts +6 -2
- package/dist/client/client/grapesjs/internal-links.d.ts +1 -1
- package/dist/client/client/grapesjs/keymaps.d.ts +123 -0
- package/dist/client/client/grapesjs/new-page-dialog.d.ts +1 -1
- package/dist/client/client/grapesjs/page-panel.d.ts +7 -1
- package/dist/client/client/grapesjs/project-bar.d.ts +20 -0
- package/dist/client/client/grapesjs/resize-panel.d.ts +1 -0
- package/dist/client/client/grapesjs/rich-text.d.ts +4 -1
- package/dist/client/client/grapesjs/semantic.d.ts +1 -1
- package/dist/client/client/grapesjs/settings-sections.d.ts +16 -0
- package/dist/client/client/grapesjs/settings.d.ts +3 -1
- package/dist/client/client/grapesjs/storage.d.ts +1 -0
- package/dist/client/client/grapesjs/symbolDialogs.d.ts +1 -1
- package/dist/client/client/grapesjs/view-buttons.d.ts +1 -0
- package/dist/client/client/index.d.ts +5 -0
- package/dist/client/client/publication-transformers.d.ts +42 -0
- package/dist/client/client/publish-custom-code-block.d.ts +4 -0
- package/dist/client/client/publish-fonts.d.ts +4 -0
- package/dist/client/client/utils.d.ts +22 -1
- package/dist/client/constants.d.ts +3 -0
- package/dist/client/css/admin.css +1107 -411
- package/dist/client/css/admin.css.map +1 -0
- package/dist/client/grapesjs-filter-styles/dist/index.d.ts +4 -0
- package/dist/client/grapesjs-fonts/dist/index.d.ts +4 -0
- package/dist/client/grapesjs-fonts/src/commands.d.ts +3 -0
- package/dist/client/grapesjs-fonts/src/fonts.d.ts +4 -0
- package/dist/client/grapesjs-storage-rate-limit/dist/index.d.ts +4 -0
- package/dist/client/grapesjs-ui-suggest-classes/dist/index.d.ts +4 -0
- package/dist/client/index.html +3 -2
- package/dist/client/js/main.js +305 -170
- package/dist/client/js/main.js.LICENSE.txt +21 -1
- package/dist/client/page.d.ts +1 -1
- package/dist/client/silex-lib/src/ts/client/api.d.ts +90 -0
- package/dist/client/silex-lib/src/ts/client/assetUrl.d.ts +54 -0
- package/dist/client/silex-lib/src/ts/client/config.d.ts +102 -0
- package/dist/client/silex-lib/src/ts/client/events.d.ts +23 -0
- package/dist/client/silex-lib/src/ts/client/expose.d.ts +8 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/LoginDialog.d.ts +15 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/PublicationManager.d.ts +73 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/PublicationUi.d.ts +59 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/blocks.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/breadcrumbs.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/css-props.d.ts +6 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/footer.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/img.d.ts +6 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/index.d.ts +9 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/internal-links.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/keymaps.d.ts +123 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/new-page-dialog.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/openImport.d.ts +9 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/page-panel.d.ts +9 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/project-bar.d.ts +21 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/resize-panel.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/rich-text.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/semantic.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/settings-sections.d.ts +16 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/settings.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/storage.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/symbolDialogs.d.ts +3 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/view-buttons.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/index.d.ts +10 -0
- package/dist/client/silex-lib/src/ts/client/publication-transformers.d.ts +42 -0
- package/dist/client/silex-lib/src/ts/client/publish-custom-code-block.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/publish-fonts.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/utils.d.ts +22 -0
- package/dist/client/silex-lib/src/ts/constants.d.ts +32 -0
- package/dist/client/silex-lib/src/ts/page.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/types.d.ts +339 -0
- package/dist/client/types.d.ts +59 -35
- package/dist/plugins/client/client/events.d.ts +19 -10
- package/dist/plugins/client/client/events.js +11 -0
- package/dist/plugins/client/client/events.js.map +1 -1
- package/dist/plugins/client/plugins/client/template.js +119 -71
- package/dist/plugins/client/plugins/client/template.js.map +1 -1
- package/dist/plugins/client/plugins/client/website-info.d.ts +1 -0
- package/dist/plugins/client/plugins/client/website-info.js +72 -0
- package/dist/plugins/client/plugins/client/website-info.js.map +1 -0
- package/dist/plugins/client/types.d.ts +59 -35
- package/dist/plugins/client/types.js +23 -0
- package/dist/plugins/client/types.js.map +1 -1
- package/dist/plugins/server/constants.d.ts +3 -0
- package/dist/plugins/server/constants.js +28 -1
- package/dist/plugins/server/constants.js.map +1 -1
- package/dist/plugins/server/plugins/server/Cache.js +9 -5
- package/dist/plugins/server/plugins/server/Cache.js.map +1 -1
- package/dist/plugins/server/plugins/server/DownloadConnector.d.ts +29 -0
- package/dist/plugins/server/plugins/server/DownloadConnector.js +127 -0
- package/dist/plugins/server/plugins/server/DownloadConnector.js.map +1 -0
- package/dist/plugins/server/plugins/server/FtpConnector.d.ts +5 -2
- package/dist/plugins/server/plugins/server/FtpConnector.js +38 -23
- package/dist/plugins/server/plugins/server/FtpConnector.js.map +1 -1
- package/dist/plugins/server/plugins/server/GitlabConnector.d.ts +63 -9
- package/dist/plugins/server/plugins/server/GitlabConnector.js +367 -91
- package/dist/plugins/server/plugins/server/GitlabConnector.js.map +1 -1
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.d.ts +16 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.js +209 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.js.map +1 -0
- package/dist/plugins/server/plugins/server/SslPlugin.js +6 -6
- package/dist/plugins/server/plugins/server/SslPlugin.js.map +1 -1
- package/dist/plugins/server/plugins/server/StaticPlugin.d.ts +8 -1
- package/dist/plugins/server/plugins/server/StaticPlugin.js +5 -31
- package/dist/plugins/server/plugins/server/StaticPlugin.js.map +1 -1
- package/dist/plugins/server/server/config.js +8 -9
- package/dist/plugins/server/server/config.js.map +1 -1
- package/dist/plugins/server/server/connectors/FsHosting.d.ts +3 -2
- package/dist/plugins/server/server/connectors/FsHosting.js +18 -7
- package/dist/plugins/server/server/connectors/FsHosting.js.map +1 -1
- package/dist/plugins/server/server/connectors/FsStorage.d.ts +3 -1
- package/dist/plugins/server/server/connectors/FsStorage.js +35 -28
- package/dist/plugins/server/server/connectors/FsStorage.js.map +1 -1
- package/dist/plugins/server/server/connectors/connectors.d.ts +7 -7
- package/dist/plugins/server/server/connectors/connectors.js +6 -7
- package/dist/plugins/server/server/connectors/connectors.js.map +1 -1
- package/dist/plugins/server/server/events.js +16 -0
- package/dist/plugins/server/server/events.js.map +1 -1
- package/dist/plugins/server/server/jobs.d.ts +6 -0
- package/dist/plugins/server/server/jobs.js +12 -8
- package/dist/plugins/server/server/jobs.js.map +1 -1
- package/dist/plugins/server/server/utils/validation.js +1 -2
- package/dist/plugins/server/server/utils/validation.js.map +1 -1
- package/dist/plugins/server/types.d.ts +59 -35
- package/dist/plugins/server/types.js +24 -1
- package/dist/plugins/server/types.js.map +1 -1
- package/dist/server/constants.js +27 -1
- package/dist/server/plugins/server/Cache.js +9 -5
- package/dist/server/server/api/api.js +1 -1
- package/dist/server/server/api/connectorApi.js +154 -25
- package/dist/server/server/api/publicationApi.js +17 -25
- package/dist/server/server/api/websiteApi.js +30 -8
- package/dist/server/server/cli.js +9 -6
- package/dist/server/server/config.js +8 -9
- package/dist/server/server/connectors/FsHosting.js +17 -7
- package/dist/server/server/connectors/FsStorage.js +34 -28
- package/dist/server/server/connectors/connectors.js +6 -7
- package/dist/server/server/express.js +4 -5
- package/dist/server/server/index.js +5 -1
- package/dist/server/server/jobs.js +11 -8
- package/dist/server/server/utils/validation.js +1 -2
- package/dist/server/types.js +13 -1
- package/package.json +56 -42
- package/public/assets/download.png +0 -0
- package/public/assets/favicon.ico +0 -0
- package/public/assets/favicon.png +0 -0
- package/public/assets/ftp.png +0 -0
- package/public/assets/gitlab.png +0 -0
- package/public/assets/gitlab2.png +0 -0
- package/public/assets/laptop.png +0 -0
- package/public/assets/logo-silex-small.png +0 -0
- package/public/silex.js +5 -23
- package/src/css/_variables.scss +23 -20
- package/src/css/dialog.scss +27 -1
- package/src/css/fonts.scss +31 -0
- package/src/css/footer.scss +12 -0
- package/src/css/grapesjs-light.scss +180 -0
- package/src/css/grapesjs-plugins.scss +227 -0
- package/src/css/grapesjs.scss +84 -10
- package/src/css/index.scss +12 -1
- package/src/css/light.scss +7 -0
- package/src/css/project-bar.scss +32 -16
- package/src/css/silex.scss +79 -5
- package/src/css/website-info.scss +14 -0
- package/src/html/index.pug +3 -3
- package/src/ts/client/api.ts +38 -14
- package/src/ts/client/assetUrl.test.ts +164 -0
- package/src/ts/client/assetUrl.ts +254 -0
- package/src/ts/client/config.ts +133 -5
- package/src/ts/client/events.ts +21 -9
- package/src/ts/client/grapesjs/LoginDialog.ts +4 -2
- package/src/ts/client/grapesjs/PublicationManager.ts +180 -54
- package/src/ts/client/grapesjs/PublicationUi.ts +122 -86
- package/src/ts/client/grapesjs/breadcrumbs.ts +79 -0
- package/src/ts/client/grapesjs/css-props.ts +910 -0
- package/src/ts/client/grapesjs/eleventy.ts +11 -8
- package/{dist/plugins/client/page.js → src/ts/client/grapesjs/footer.ts} +24 -13
- package/src/ts/client/grapesjs/img.ts +147 -0
- package/src/ts/client/grapesjs/index.ts +234 -52
- package/src/ts/client/grapesjs/internal-links.test.ts +2 -1
- package/src/ts/client/grapesjs/internal-links.ts +14 -7
- package/src/ts/client/grapesjs/keymaps.ts +207 -0
- package/src/ts/client/grapesjs/new-page-dialog.ts +2 -3
- package/src/ts/client/grapesjs/page-panel.ts +92 -7
- package/src/ts/client/grapesjs/project-bar.ts +116 -72
- package/src/ts/client/grapesjs/resize-panel.ts +20 -0
- package/src/ts/client/grapesjs/rich-text.ts +21 -13
- package/src/ts/client/grapesjs/semantic.ts +3 -3
- package/src/ts/client/grapesjs/settings-sections.ts +117 -0
- package/src/ts/client/grapesjs/settings.ts +174 -96
- package/src/ts/client/grapesjs/storage.ts +98 -33
- package/src/ts/client/grapesjs/symbolDialogs.ts +3 -4
- package/src/ts/{plugins/server/AuthPlugin.ts → client/grapesjs/view-buttons.ts} +23 -19
- package/src/ts/client/index.ts +35 -16
- package/src/ts/client/publication-transformers.test.ts +207 -0
- package/src/ts/client/publication-transformers.ts +280 -0
- package/{dist/plugins/client/client/utils.js → src/ts/client/publish-custom-code-block.ts} +14 -8
- package/src/ts/client/publish-fonts.ts +36 -0
- package/src/ts/client/utils.ts +53 -1
- package/src/ts/constants.ts +31 -0
- package/src/ts/page.ts +2 -2
- package/src/ts/plugins/client/template.ts +125 -75
- package/src/ts/plugins/client/website-info.ts +84 -0
- package/src/ts/plugins/server/Cache.ts +6 -2
- package/src/ts/plugins/server/DownloadConnector.ts +146 -0
- package/src/ts/plugins/server/FtpConnector.ts +47 -21
- package/src/ts/plugins/server/GitlabConnector.ts +423 -108
- package/src/ts/plugins/server/GitlabHostingConnector.ts +215 -0
- package/src/ts/plugins/server/SslPlugin.ts +5 -5
- package/src/ts/plugins/server/StaticPlugin.ts +3 -30
- package/src/ts/server/api/connectorApi.ts +165 -28
- package/src/ts/server/api/publicationApi.ts +17 -24
- package/src/ts/server/api/websiteApi.ts +57 -14
- package/src/ts/server/cli.ts +7 -5
- package/src/ts/server/config.ts +9 -10
- package/src/ts/server/connectors/FsHosting.ts +14 -8
- package/src/ts/server/connectors/FsStorage.ts +40 -7
- package/src/ts/server/connectors/connectors.ts +8 -6
- package/src/ts/server/events.ts +17 -0
- package/src/ts/server/express.ts +2 -2
- package/src/ts/server/index.ts +6 -0
- package/src/ts/server/jobs.ts +14 -2
- package/src/ts/server/utils/BackwardCompat.ts +530 -529
- package/src/ts/types.ts +78 -34
- package/dist/plugins/client/client/utils.d.ts +0 -1
- package/dist/plugins/client/client/utils.js.map +0 -1
- package/dist/plugins/client/page.d.ts +0 -2
- package/dist/plugins/client/page.js.map +0 -1
- package/dist/plugins/client/plugins/client/publicationRenderer.d.ts +0 -2
- package/dist/plugins/client/plugins/client/publicationRenderer.js +0 -128
- package/dist/plugins/client/plugins/client/publicationRenderer.js.map +0 -1
- package/dist/plugins/server/plugins/server/AuthPlugin.d.ts +0 -1
- package/dist/plugins/server/plugins/server/AuthPlugin.js +0 -38
- package/dist/plugins/server/plugins/server/AuthPlugin.js.map +0 -1
- package/dist/plugins/server/plugins/server/HooksPlugin.d.ts +0 -7
- package/dist/plugins/server/plugins/server/HooksPlugin.js +0 -74
- package/dist/plugins/server/plugins/server/HooksPlugin.js.map +0 -1
- package/src/example-client-config.js +0 -64
- package/src/ts/plugins/client/publicationRenderer.ts +0 -128
- package/src/ts/plugins/server/HooksPlugin.ts +0 -76
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FsHosting.js","sourceRoot":"","sources":["../../../../../src/ts/server/connectors/FsHosting.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"FsHosting.js","sourceRoot":"","sources":["../../../../../src/ts/server/connectors/FsHosting.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;AAEH,2DAA4B;AAE5B,+BAA2B;AAC3B,2CAAuC;AACvC,uCAA8F;AAK9F,MAAa,SAAU,SAAQ,qBAAS;IACtC,WAAW,GAAG,YAAY,CAAA;IAC1B,WAAW,GAAG,qBAAqB,CAAA;IACnC,aAAa,GAAG,qBAAa,CAAC,OAAO,CAAA;IAE3B,KAAK,CAAC,MAAM;QACpB,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACtE,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACnE,OAAO,CAAC,IAAI,CAAC,qDAAqD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAkB,EAAE,EAAa,EAAE,KAAsB,EAAE,EAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAa;QACnH,MAAM,GAAG,GAAG,QAAQ,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAuB,CAAA;QAC/E,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClD,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAA;QACjB,2GAA2G;QAC3G,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,EAAE;YACnE,wBAAwB;YACxB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;YACnB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;YACrB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzB,IAAG,MAAM,KAAK,iBAAS,CAAC,OAAO,EAAE,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAChC,CAAC;iBAAM,IAAG,MAAM,KAAK,iBAAS,CAAC,KAAK,EAAE,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAkB,EAAE,EAAa;QAC5C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC5C,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;IAC3B,CAAC;CACF;AAvCD,8BAuCC"}
|
|
@@ -16,7 +16,7 @@ export declare class FsStorage implements StorageConnector<FsSession> {
|
|
|
16
16
|
color: string;
|
|
17
17
|
background: string;
|
|
18
18
|
constructor(config: ServerConfig | null, opts: Partial<FsOptions>);
|
|
19
|
-
|
|
19
|
+
protected initFs(): Promise<void>;
|
|
20
20
|
private updateStatus;
|
|
21
21
|
private initStatus;
|
|
22
22
|
getOptions(formData: object): ConnectorOptions;
|
|
@@ -33,9 +33,11 @@ export declare class FsStorage implements StorageConnector<FsSession> {
|
|
|
33
33
|
readWebsite(session: FsSession, websiteId: WebsiteId): Promise<WebsiteData>;
|
|
34
34
|
updateWebsite(session: FsSession, websiteId: WebsiteId, data: WebsiteData): Promise<void>;
|
|
35
35
|
deleteWebsite(session: FsSession, websiteId: WebsiteId): Promise<void>;
|
|
36
|
+
duplicateWebsite(session: FsSession, websiteId: WebsiteId): Promise<void>;
|
|
36
37
|
listWebsites(session: any): Promise<WebsiteMeta[]>;
|
|
37
38
|
getAsset(session: FsSession, id: WebsiteId, path: string): Promise<ConnectorFile>;
|
|
38
39
|
writeAssets(session: FsSession, id: WebsiteId, files: ConnectorFile[], statusCbk?: StatusCallback): Promise<void>;
|
|
40
|
+
write(session: FsSession, id: WebsiteId, files: ConnectorFile[], assetsFolder: string, statusCbk?: StatusCallback): Promise<void>;
|
|
39
41
|
deleteAssets(session: FsSession, id: WebsiteId, paths: string[]): Promise<void>;
|
|
40
42
|
readAsset(session: object, websiteId: string, fileName: string): Promise<ConnectorFileContent>;
|
|
41
43
|
}
|
|
@@ -15,32 +15,12 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
21
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
22
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
23
|
-
}
|
|
24
|
-
Object.defineProperty(o, k2, desc);
|
|
25
|
-
}) : (function(o, m, k, k2) {
|
|
26
|
-
if (k2 === undefined) k2 = k;
|
|
27
|
-
o[k2] = m[k];
|
|
28
|
-
}));
|
|
29
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
30
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
31
|
-
}) : function(o, v) {
|
|
32
|
-
o["default"] = v;
|
|
33
|
-
});
|
|
34
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
20
|
};
|
|
41
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
22
|
exports.FsStorage = void 0;
|
|
43
|
-
const promises_1 =
|
|
23
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
44
24
|
const fs_1 = require("fs");
|
|
45
25
|
const connectors_1 = require("./connectors");
|
|
46
26
|
const path_1 = require("path");
|
|
@@ -54,10 +34,22 @@ const uuid_1 = require("uuid");
|
|
|
54
34
|
if (!globalThis.__dirname) {
|
|
55
35
|
// @ts-ignore
|
|
56
36
|
globalThis.__dirname = (0, path_1.dirname)(process.cwd() + '/src/ts/server/connectors/FsStorage.ts');
|
|
57
|
-
console.
|
|
37
|
+
console.info('Redefining __dirname', globalThis.__dirname);
|
|
38
|
+
}
|
|
39
|
+
// Copy a folder recursively
|
|
40
|
+
async function copyDir(src, dest) {
|
|
41
|
+
await promises_1.default.mkdir(dest, { recursive: true });
|
|
42
|
+
const entries = await promises_1.default.readdir(src, { withFileTypes: true });
|
|
43
|
+
for (const entry of entries) {
|
|
44
|
+
const srcPath = (0, path_1.join)(src, entry.name);
|
|
45
|
+
const destPath = (0, path_1.join)(dest, entry.name);
|
|
46
|
+
entry.isDirectory() ?
|
|
47
|
+
await copyDir(srcPath, destPath) :
|
|
48
|
+
await promises_1.default.copyFile(srcPath, destPath);
|
|
49
|
+
}
|
|
58
50
|
}
|
|
59
51
|
const USER_ICON = 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' height=\'1em\' viewBox=\'0 0 448 512\'%3E%3Cpath d=\'M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\'/%3E%3C/svg%3E';
|
|
60
|
-
const FILE_ICON = '
|
|
52
|
+
const FILE_ICON = '/assets/laptop.png';
|
|
61
53
|
class FsStorage {
|
|
62
54
|
connectorId = 'fs-storage';
|
|
63
55
|
displayName = 'File system storage';
|
|
@@ -83,6 +75,7 @@ class FsStorage {
|
|
|
83
75
|
await promises_1.default.mkdir((0, path_1.join)(this.options.path, id, this.options.assetsFolder), { recursive: true });
|
|
84
76
|
await this.setWebsiteMeta({}, id, { name: 'Default website', connectorUserSettings: {} });
|
|
85
77
|
await this.updateWebsite({}, id, types_1.defaultWebsiteData);
|
|
78
|
+
console.info(`> [FsStorage] Created ${id} in ${this.options.path}`);
|
|
86
79
|
}
|
|
87
80
|
}
|
|
88
81
|
// ********************
|
|
@@ -136,7 +129,7 @@ class FsStorage {
|
|
|
136
129
|
async getWebsiteMeta(session, id) {
|
|
137
130
|
const websiteId = (0, validation_1.requiredParam)(id, 'website id');
|
|
138
131
|
// Get stats for website folder
|
|
139
|
-
const fileStat = await
|
|
132
|
+
const fileStat = await promises_1.default.stat((0, path_1.join)(this.options.path, websiteId));
|
|
140
133
|
const path = (0, path_1.join)(this.options.path, websiteId, constants_1.WEBSITE_META_DATA_FILE);
|
|
141
134
|
// Get meta file
|
|
142
135
|
const content = await promises_1.default.readFile(path);
|
|
@@ -177,6 +170,17 @@ class FsStorage {
|
|
|
177
170
|
const path = (0, path_1.join)(this.options.path, id);
|
|
178
171
|
return promises_1.default.rmdir(path, { recursive: true });
|
|
179
172
|
}
|
|
173
|
+
async duplicateWebsite(session, websiteId) {
|
|
174
|
+
const newWebsiteId = (0, uuid_1.v4)();
|
|
175
|
+
const from = (0, path_1.join)(this.options.path, websiteId);
|
|
176
|
+
const to = (0, path_1.join)(this.options.path, newWebsiteId);
|
|
177
|
+
await copyDir(from, to);
|
|
178
|
+
const meta = await this.getWebsiteMeta(session, websiteId);
|
|
179
|
+
await this.setWebsiteMeta(session, newWebsiteId, {
|
|
180
|
+
...meta,
|
|
181
|
+
name: `${meta.name} copy`,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
180
184
|
async listWebsites(session) {
|
|
181
185
|
const list = await promises_1.default.readdir(this.options.path);
|
|
182
186
|
return Promise.all(list.map(async (fileName) => {
|
|
@@ -190,16 +194,19 @@ class FsStorage {
|
|
|
190
194
|
return { path, content };
|
|
191
195
|
}
|
|
192
196
|
async writeAssets(session, id, files, statusCbk) {
|
|
197
|
+
return this.write(session, id, files, this.options.assetsFolder, statusCbk);
|
|
198
|
+
}
|
|
199
|
+
async write(session, id, files, assetsFolder, statusCbk) {
|
|
193
200
|
const filesStatuses = this.initStatus(files);
|
|
194
201
|
let error = null;
|
|
195
202
|
for (const fileStatus of filesStatuses) {
|
|
196
203
|
const { file } = fileStatus;
|
|
197
|
-
const path = (0, path_1.join)(this.options.path, id,
|
|
204
|
+
const path = (0, path_1.join)(this.options.path, id, assetsFolder, file.path);
|
|
198
205
|
if (typeof file.content === 'string' || Buffer.isBuffer(file.content)) {
|
|
199
206
|
fileStatus.message = 'Writing';
|
|
200
207
|
this.updateStatus(filesStatuses, types_1.JobStatus.IN_PROGRESS, statusCbk);
|
|
201
208
|
try {
|
|
202
|
-
await promises_1.default.writeFile(path, file.content
|
|
209
|
+
await promises_1.default.writeFile(path, file.content);
|
|
203
210
|
}
|
|
204
211
|
catch (err) {
|
|
205
212
|
fileStatus.message = `Error (${err})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FsStorage.js","sourceRoot":"","sources":["../../../../../src/ts/server/connectors/FsStorage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"FsStorage.js","sourceRoot":"","sources":["../../../../../src/ts/server/connectors/FsStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import { Readable } from 'stream';
|
|
4
2
|
import { ServerConfig } from '../config';
|
|
5
3
|
import { JobStatus, JobData, ConnectorData, ConnectorId, WebsiteId, ConnectorType, ConnectorUser, WebsiteMeta, WebsiteMetaFileContent, WebsiteData, ConnectorOptions } from '../../types';
|
|
4
|
+
import { JobManager } from '../jobs';
|
|
6
5
|
/**
|
|
7
6
|
* @fileoverview define types for Silex connectors
|
|
8
7
|
* Bakends can provide storage for website data and assets, and/or hosting to publish the website online
|
|
@@ -45,9 +44,7 @@ export interface Connector<Session extends ConnectorSession = ConnectorSession>
|
|
|
45
44
|
isLoggedIn(session: Session): Promise<boolean>;
|
|
46
45
|
setToken(session: Session, token: object): Promise<void>;
|
|
47
46
|
logout(session: Session): Promise<void>;
|
|
48
|
-
getUser(session: Session): Promise<ConnectorUser>;
|
|
49
|
-
getWebsiteMeta(session: Session, websiteId: WebsiteId): Promise<WebsiteMeta>;
|
|
50
|
-
setWebsiteMeta(session: Session, websiteId: WebsiteId, data: WebsiteMetaFileContent): Promise<void>;
|
|
47
|
+
getUser(session: Session): Promise<ConnectorUser | null>;
|
|
51
48
|
getOptions(formData: object): ConnectorOptions;
|
|
52
49
|
}
|
|
53
50
|
/**
|
|
@@ -61,15 +58,18 @@ export interface StorageConnector<Session extends ConnectorSession = ConnectorSe
|
|
|
61
58
|
createWebsite(session: Session, data: WebsiteMetaFileContent): Promise<WebsiteId>;
|
|
62
59
|
updateWebsite(session: Session, websiteId: WebsiteId, data: WebsiteData): Promise<void>;
|
|
63
60
|
deleteWebsite(session: Session, websiteId: WebsiteId): Promise<void>;
|
|
64
|
-
|
|
61
|
+
duplicateWebsite(session: Session, websiteId: WebsiteId): Promise<void>;
|
|
62
|
+
writeAssets(session: Session, websiteId: WebsiteId, files: ConnectorFile[], status?: StatusCallback): Promise<string[] | void>;
|
|
65
63
|
readAsset(session: Session, websiteId: WebsiteId, fileName: string): Promise<ConnectorFileContent>;
|
|
66
64
|
deleteAssets(session: Session, websiteId: WebsiteId, fileNames: string[]): Promise<void>;
|
|
65
|
+
getWebsiteMeta(session: Session, websiteId: WebsiteId): Promise<WebsiteMeta>;
|
|
66
|
+
setWebsiteMeta(session: Session, websiteId: WebsiteId, data: WebsiteMetaFileContent): Promise<void>;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* Hosting connectors are used to publish the website
|
|
70
70
|
*/
|
|
71
71
|
export interface HostingConnector<Session extends ConnectorSession = ConnectorSession> extends Connector<Session> {
|
|
72
|
-
publish(session: Session, websiteId: WebsiteId, files: ConnectorFile[]): Promise<JobData>;
|
|
72
|
+
publish(session: Session, websiteId: WebsiteId, files: ConnectorFile[], jobManager: JobManager): Promise<JobData>;
|
|
73
73
|
getUrl(session: Session, websiteId: WebsiteId): Promise<string>;
|
|
74
74
|
}
|
|
75
75
|
export declare function toConnectorEnum(type: string | ConnectorType): ConnectorType;
|
|
@@ -16,7 +16,12 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.
|
|
19
|
+
exports.toConnectorEnum = toConnectorEnum;
|
|
20
|
+
exports.getConnector = getConnector;
|
|
21
|
+
exports.toConnectorData = toConnectorData;
|
|
22
|
+
exports.contentToString = contentToString;
|
|
23
|
+
exports.contentToBuffer = contentToBuffer;
|
|
24
|
+
exports.contentToReadable = contentToReadable;
|
|
20
25
|
const stream_1 = require("stream");
|
|
21
26
|
const types_1 = require("../../types");
|
|
22
27
|
function toConnectorEnum(type) {
|
|
@@ -25,7 +30,6 @@ function toConnectorEnum(type) {
|
|
|
25
30
|
throw new Error(`Unknown connector type ${type}. It should be one of ${Object.keys(types_1.ConnectorType).join(', ')}`);
|
|
26
31
|
return result;
|
|
27
32
|
}
|
|
28
|
-
exports.toConnectorEnum = toConnectorEnum;
|
|
29
33
|
/**
|
|
30
34
|
* Get a connector by id or by type
|
|
31
35
|
*/
|
|
@@ -44,7 +48,6 @@ async function getConnector(config, session, type, connectorId) {
|
|
|
44
48
|
// Defaults to the first connector
|
|
45
49
|
return connectors[0];
|
|
46
50
|
}
|
|
47
|
-
exports.getConnector = getConnector;
|
|
48
51
|
/**
|
|
49
52
|
* Convert a connector to a ConnectorData object to be sent to the frontend
|
|
50
53
|
*/
|
|
@@ -61,7 +64,6 @@ async function toConnectorData(session, connector) {
|
|
|
61
64
|
background: connector.background,
|
|
62
65
|
};
|
|
63
66
|
}
|
|
64
|
-
exports.toConnectorData = toConnectorData;
|
|
65
67
|
async function contentToString(content) {
|
|
66
68
|
// String
|
|
67
69
|
if (typeof content === 'string')
|
|
@@ -83,7 +85,6 @@ async function contentToString(content) {
|
|
|
83
85
|
});
|
|
84
86
|
});
|
|
85
87
|
}
|
|
86
|
-
exports.contentToString = contentToString;
|
|
87
88
|
async function contentToBuffer(content) {
|
|
88
89
|
// String
|
|
89
90
|
if (typeof content === 'string')
|
|
@@ -109,7 +110,6 @@ async function contentToBuffer(content) {
|
|
|
109
110
|
// Unknown
|
|
110
111
|
throw new Error('Unknown content type');
|
|
111
112
|
}
|
|
112
|
-
exports.contentToBuffer = contentToBuffer;
|
|
113
113
|
function contentToReadable(content) {
|
|
114
114
|
// String
|
|
115
115
|
if (typeof content === 'string')
|
|
@@ -123,5 +123,4 @@ function contentToReadable(content) {
|
|
|
123
123
|
// Unknown
|
|
124
124
|
throw new Error('Unknown content type');
|
|
125
125
|
}
|
|
126
|
-
exports.contentToReadable = contentToReadable;
|
|
127
126
|
//# sourceMappingURL=connectors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../../../../src/ts/server/connectors/connectors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../../../../src/ts/server/connectors/connectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Silex website builder, free/libre no-code tool for makers.
|
|
4
|
+
* Copyright (c) 2023 lexoyo and Silex Labs foundation
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
2
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
19
|
exports.ServerEvent = void 0;
|
|
4
20
|
var ServerEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/ts/server/events.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/ts/server/events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,IAAY,WASX;AATD,WAAY,WAAW;IACrB,8CAA+B,CAAA;IAC/B,0CAA2B,CAAA;IAC3B,8CAA+B,CAAA;IAC/B,0CAA2B,CAAA;IAC3B,kDAAmC,CAAA;IACnC,8CAA+B,CAAA;IAC/B,8DAA+C,CAAA;IAC/C,0DAA2C,CAAA;AAC7C,CAAC,EATW,WAAW,2BAAX,WAAW,QAStB"}
|
|
@@ -4,3 +4,9 @@ export declare function getJob(id: JobId): JobData | undefined;
|
|
|
4
4
|
export declare function jobSuccess(id: JobId, message?: string): boolean;
|
|
5
5
|
export declare function jobError(id: JobId, message?: string): boolean;
|
|
6
6
|
export declare function killJob(job: JobData): void;
|
|
7
|
+
export interface JobManager {
|
|
8
|
+
startJob: typeof startJob;
|
|
9
|
+
jobSuccess: typeof jobSuccess;
|
|
10
|
+
jobError: typeof jobError;
|
|
11
|
+
}
|
|
12
|
+
export declare const jobManager: JobManager;
|
|
@@ -16,12 +16,18 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.
|
|
19
|
+
exports.jobManager = void 0;
|
|
20
|
+
exports.startJob = startJob;
|
|
21
|
+
exports.getJob = getJob;
|
|
22
|
+
exports.jobSuccess = jobSuccess;
|
|
23
|
+
exports.jobError = jobError;
|
|
24
|
+
exports.killJob = killJob;
|
|
20
25
|
const types_1 = require("../types");
|
|
21
26
|
// Delay after which the job is deleted from memory
|
|
22
27
|
const TIME_TO_KEEP_AFTER_STOP = 60 * 10 * 1000; // 10 min
|
|
23
28
|
// Store the jobs in memory
|
|
24
29
|
const jobs = new Array();
|
|
30
|
+
const timers = new WeakMap();
|
|
25
31
|
// Key which will change on server restart
|
|
26
32
|
const processKey = Math.ceil(Math.random() * 1000000);
|
|
27
33
|
// Next id for the next job
|
|
@@ -37,29 +43,25 @@ function startJob(message = '') {
|
|
|
37
43
|
jobs.push(job);
|
|
38
44
|
return job;
|
|
39
45
|
}
|
|
40
|
-
exports.startJob = startJob;
|
|
41
46
|
// Retriev a job if it exists
|
|
42
47
|
function getJob(id) {
|
|
43
48
|
return jobs.find(job => job.jobId === id);
|
|
44
49
|
}
|
|
45
|
-
exports.getJob = getJob;
|
|
46
50
|
// End the job with success
|
|
47
51
|
function jobSuccess(id, message = '') {
|
|
48
52
|
return end(id, types_1.JobStatus.SUCCESS, message);
|
|
49
53
|
}
|
|
50
|
-
exports.jobSuccess = jobSuccess;
|
|
51
54
|
// End the job with error
|
|
52
55
|
function jobError(id, message = '') {
|
|
53
56
|
return end(id, types_1.JobStatus.ERROR, message);
|
|
54
57
|
}
|
|
55
|
-
exports.jobError = jobError;
|
|
56
58
|
// Remove a job from memory
|
|
57
59
|
// This is also used in unit tests to avoid memory lea
|
|
58
60
|
function killJob(job) {
|
|
59
|
-
clearTimeout(job
|
|
61
|
+
clearTimeout(timers.get(job));
|
|
62
|
+
timers.delete(job);
|
|
60
63
|
jobs.splice(jobs.findIndex(j => job.jobId === j.jobId), 1);
|
|
61
64
|
}
|
|
62
|
-
exports.killJob = killJob;
|
|
63
65
|
// End the job
|
|
64
66
|
function end(id, status, message = '') {
|
|
65
67
|
const job = getJob(id);
|
|
@@ -67,9 +69,11 @@ function end(id, status, message = '') {
|
|
|
67
69
|
job.status = status;
|
|
68
70
|
if (message)
|
|
69
71
|
job.message = message;
|
|
70
|
-
job
|
|
72
|
+
timers.set(job, setTimeout(() => killJob(job), TIME_TO_KEEP_AFTER_STOP));
|
|
71
73
|
return true;
|
|
72
74
|
}
|
|
73
75
|
return false;
|
|
74
76
|
}
|
|
77
|
+
// Export the job manager
|
|
78
|
+
exports.jobManager = { startJob, jobSuccess, jobError };
|
|
75
79
|
//# sourceMappingURL=jobs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../src/ts/server/jobs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../src/ts/server/jobs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAkBH,4BASC;AAGD,wBAEC;AAID,gCAEC;AAGD,4BAEC;AAID,0BAIC;AAjDD,oCAAoD;AAEpD,mDAAmD;AACnD,MAAM,uBAAuB,GAAG,EAAE,GAAC,EAAE,GAAC,IAAI,CAAA,CAAC,SAAS;AAEpD,2BAA2B;AAC3B,MAAM,IAAI,GAAG,IAAI,KAAK,EAAW,CAAA;AACjC,MAAM,MAAM,GAAG,IAAI,OAAO,EAA2B,CAAA;AAErD,0CAA0C;AAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAA;AAErD,2BAA2B;AAC3B,IAAI,SAAS,GAAG,CAAC,CAAA;AAEjB,mBAAmB;AACnB,SAAgB,QAAQ,CAAC,OAAO,GAAG,EAAE;IACnC,MAAM,KAAK,GAAG,GAAG,UAAU,IAAI,EAAE,SAAS,EAAE,CAAA;IAC5C,MAAM,GAAG,GAAY;QACnB,KAAK;QACL,MAAM,EAAE,iBAAS,CAAC,WAAW;QAC7B,OAAO,EAAE,OAAO;KACjB,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,6BAA6B;AAC7B,SAAgB,MAAM,CAAC,EAAS;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;AAC3C,CAAC;AAGD,2BAA2B;AAC3B,SAAgB,UAAU,CAAC,EAAS,EAAE,OAAO,GAAG,EAAE;IAChD,OAAO,GAAG,CAAC,EAAE,EAAE,iBAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,yBAAyB;AACzB,SAAgB,QAAQ,CAAC,EAAS,EAAE,OAAO,GAAG,EAAE;IAC9C,OAAO,GAAG,CAAC,EAAE,EAAE,iBAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,2BAA2B;AAC3B,sDAAsD;AACtD,SAAgB,OAAO,CAAC,GAAY;IAClC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,cAAc;AACd,SAAS,GAAG,CAAC,EAAS,EAAE,MAAiB,EAAE,OAAO,GAAG,EAAE;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IACtB,IAAG,GAAG,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;QACnB,IAAG,OAAO;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAA;QACxE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AASD,yBAAyB;AACZ,QAAA,UAAU,GAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.requiredParam =
|
|
19
|
+
exports.requiredParam = requiredParam;
|
|
20
20
|
/**
|
|
21
21
|
* Throw an error if a parameter is missing
|
|
22
22
|
* @param value the value to check
|
|
@@ -34,5 +34,4 @@ function requiredParam(value, name, defaultValue) {
|
|
|
34
34
|
}
|
|
35
35
|
return value;
|
|
36
36
|
}
|
|
37
|
-
exports.requiredParam = requiredParam;
|
|
38
37
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/ts/server/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/ts/server/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAQH,sCAUC;AAhBD;;;;;GAKG;AACH,SAAgB,aAAa,CAAI,KAAoB,EAAE,IAAY,EAAE,YAAgB;IACnF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAA8B,CAAA;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAA;QAC7D,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;QAC1D,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,KAAuB,CAAA;AAChC,CAAC"}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
export interface PublicationSettings {
|
|
5
5
|
connector?: ConnectorData;
|
|
6
6
|
options?: ConnectorOptions;
|
|
7
|
-
url?: string;
|
|
8
|
-
autoHomePage?: boolean;
|
|
9
7
|
}
|
|
10
8
|
export interface WebsiteFile {
|
|
11
9
|
html: string;
|
|
@@ -63,11 +61,15 @@ export type ApiWebsiteDeleteQuery = {
|
|
|
63
61
|
websiteId: WebsiteId;
|
|
64
62
|
connectorId?: ConnectorId;
|
|
65
63
|
};
|
|
64
|
+
export type ApiWebsiteDuplicateQuery = {
|
|
65
|
+
websiteId: WebsiteId;
|
|
66
|
+
connectorId?: ConnectorId;
|
|
67
|
+
};
|
|
66
68
|
export type ApiWebsiteMetaReadQuery = {
|
|
67
69
|
websiteId: WebsiteId;
|
|
68
70
|
connectorId?: ConnectorId;
|
|
69
71
|
};
|
|
70
|
-
export type ApiWebsiteMetaReadResponse =
|
|
72
|
+
export type ApiWebsiteMetaReadResponse = WebsiteMeta;
|
|
71
73
|
export type ApiWebsiteMetaWriteQuery = {
|
|
72
74
|
websiteId: WebsiteId;
|
|
73
75
|
connectorId?: ConnectorId;
|
|
@@ -136,6 +138,23 @@ export type ApiConnectorUserQuery = {
|
|
|
136
138
|
};
|
|
137
139
|
export type ApiConnectorUserResponse = ConnectorUser;
|
|
138
140
|
export declare const defaultWebsiteData: WebsiteData;
|
|
141
|
+
export interface Component {
|
|
142
|
+
type: string;
|
|
143
|
+
content?: string;
|
|
144
|
+
attributes: {
|
|
145
|
+
[key: string]: string;
|
|
146
|
+
};
|
|
147
|
+
components: Component[];
|
|
148
|
+
}
|
|
149
|
+
export interface Page {
|
|
150
|
+
id: string;
|
|
151
|
+
name: string;
|
|
152
|
+
slug: string;
|
|
153
|
+
settings: WebsiteSettings;
|
|
154
|
+
frames: {
|
|
155
|
+
component: Component;
|
|
156
|
+
}[];
|
|
157
|
+
}
|
|
139
158
|
export interface WebsiteData {
|
|
140
159
|
pages: Page[];
|
|
141
160
|
assets: Asset[];
|
|
@@ -146,7 +165,7 @@ export interface WebsiteData {
|
|
|
146
165
|
publication: PublicationSettings;
|
|
147
166
|
}
|
|
148
167
|
export interface PublicationData extends WebsiteData {
|
|
149
|
-
files?:
|
|
168
|
+
files?: ClientSideFile[];
|
|
150
169
|
}
|
|
151
170
|
export interface WebsiteSettings {
|
|
152
171
|
description?: string;
|
|
@@ -163,31 +182,6 @@ export interface Font {
|
|
|
163
182
|
value: string;
|
|
164
183
|
variants: string[];
|
|
165
184
|
}
|
|
166
|
-
export interface Page {
|
|
167
|
-
name?: string;
|
|
168
|
-
id: string;
|
|
169
|
-
type?: string;
|
|
170
|
-
frames: Frame[];
|
|
171
|
-
settings?: WebsiteSettings;
|
|
172
|
-
cssExt?: string;
|
|
173
|
-
htmlExt?: string;
|
|
174
|
-
slug?: string;
|
|
175
|
-
}
|
|
176
|
-
export interface Frame {
|
|
177
|
-
component: {
|
|
178
|
-
type: string;
|
|
179
|
-
stylable: string[];
|
|
180
|
-
};
|
|
181
|
-
components: Component[];
|
|
182
|
-
}
|
|
183
|
-
export interface Component {
|
|
184
|
-
type: string;
|
|
185
|
-
content?: string;
|
|
186
|
-
attributes: {
|
|
187
|
-
[key: string]: string;
|
|
188
|
-
};
|
|
189
|
-
conponents: Component[];
|
|
190
|
-
}
|
|
191
185
|
export declare enum Unit {
|
|
192
186
|
PX = "px"
|
|
193
187
|
}
|
|
@@ -214,15 +208,45 @@ export type Selector = string | {
|
|
|
214
208
|
* Type for a connector id
|
|
215
209
|
*/
|
|
216
210
|
export type ConnectorId = string;
|
|
217
|
-
export type ConnectorOptions =
|
|
211
|
+
export type ConnectorOptions = {
|
|
212
|
+
websiteUrl?: string;
|
|
213
|
+
[key: string]: any;
|
|
214
|
+
};
|
|
215
|
+
export declare enum ClientSideFileType {
|
|
216
|
+
HTML = "html",
|
|
217
|
+
ASSET = "asset",
|
|
218
|
+
CSS = "css",
|
|
219
|
+
OTHER = "other"
|
|
220
|
+
}
|
|
221
|
+
export declare enum Initiator {
|
|
222
|
+
HTML = "html",
|
|
223
|
+
CSS = "css"
|
|
224
|
+
}
|
|
218
225
|
/**
|
|
219
|
-
* Type for a client side file
|
|
220
|
-
* @see connector/File
|
|
226
|
+
* Type for a client side file when the content is not available, used to handle file names and paths and urls
|
|
221
227
|
*/
|
|
222
|
-
export interface
|
|
228
|
+
export interface ClientSideFileWithPermalink {
|
|
223
229
|
path: string;
|
|
230
|
+
permalink?: string;
|
|
231
|
+
type: ClientSideFileType;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Type for a client side file when the content is available as a string
|
|
235
|
+
*/
|
|
236
|
+
export interface ClientSideFileWithContent extends ClientSideFileWithPermalink {
|
|
224
237
|
content: string;
|
|
225
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Type for a client side file when the content is in the connector
|
|
241
|
+
*/
|
|
242
|
+
export interface ClientSideFileWithSrc extends ClientSideFileWithPermalink {
|
|
243
|
+
src: string;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Type for a client side file
|
|
247
|
+
* @see connector/File
|
|
248
|
+
*/
|
|
249
|
+
export type ClientSideFile = ClientSideFileWithContent | ClientSideFileWithSrc;
|
|
226
250
|
/**
|
|
227
251
|
* Type for file listing
|
|
228
252
|
*/
|
|
@@ -285,8 +309,8 @@ export interface WebsiteMetaFileContent {
|
|
|
285
309
|
*/
|
|
286
310
|
export interface WebsiteMeta extends WebsiteMetaFileContent {
|
|
287
311
|
websiteId: WebsiteId;
|
|
288
|
-
createdAt
|
|
289
|
-
updatedAt
|
|
312
|
+
createdAt?: Date;
|
|
313
|
+
updatedAt?: Date;
|
|
290
314
|
}
|
|
291
315
|
/**
|
|
292
316
|
* Enum to express if the job is in progress or finished or errored
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.JobStatus = exports.ConnectorType = exports.Unit = exports.defaultWebsiteData = exports.ApiError = void 0;
|
|
19
|
+
exports.JobStatus = exports.ConnectorType = exports.Initiator = exports.ClientSideFileType = exports.Unit = exports.defaultWebsiteData = exports.ApiError = void 0;
|
|
20
20
|
class ApiError extends Error {
|
|
21
21
|
httpStatusCode;
|
|
22
22
|
constructor(message, httpStatusCode) {
|
|
@@ -37,10 +37,33 @@ exports.defaultWebsiteData = {
|
|
|
37
37
|
//symbols: [],
|
|
38
38
|
//publication: {},
|
|
39
39
|
};
|
|
40
|
+
//export interface Frame {
|
|
41
|
+
// component: { type: string, stylable: string[] },
|
|
42
|
+
// components: Component[],
|
|
43
|
+
//}
|
|
44
|
+
//
|
|
45
|
+
//export interface Component {
|
|
46
|
+
// type: string,
|
|
47
|
+
// content?: string,
|
|
48
|
+
// attributes: { [key: string]: string },
|
|
49
|
+
// conponents: Component[],
|
|
50
|
+
//}
|
|
40
51
|
var Unit;
|
|
41
52
|
(function (Unit) {
|
|
42
53
|
Unit["PX"] = "px";
|
|
43
54
|
})(Unit || (exports.Unit = Unit = {}));
|
|
55
|
+
var ClientSideFileType;
|
|
56
|
+
(function (ClientSideFileType) {
|
|
57
|
+
ClientSideFileType["HTML"] = "html";
|
|
58
|
+
ClientSideFileType["ASSET"] = "asset";
|
|
59
|
+
ClientSideFileType["CSS"] = "css";
|
|
60
|
+
ClientSideFileType["OTHER"] = "other";
|
|
61
|
+
})(ClientSideFileType || (exports.ClientSideFileType = ClientSideFileType = {}));
|
|
62
|
+
var Initiator;
|
|
63
|
+
(function (Initiator) {
|
|
64
|
+
Initiator["HTML"] = "html";
|
|
65
|
+
Initiator["CSS"] = "css";
|
|
66
|
+
})(Initiator || (exports.Initiator = Initiator = {}));
|
|
44
67
|
/**
|
|
45
68
|
* Enum to express if the connector is a storage or a hosting
|
|
46
69
|
*/
|