@aphexcms/cms-core 0.1.10 → 0.1.11
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/package.json +2 -2
- package/src/lib/api/assets.ts +75 -0
- package/src/lib/api/client.ts +150 -0
- package/src/lib/api/documents.ts +102 -0
- package/src/lib/api/index.ts +7 -0
- package/src/lib/api/organizations.ts +154 -0
- package/src/lib/api/types.ts +34 -0
- package/src/lib/auth/auth-errors.ts +23 -0
- package/src/lib/auth/auth-hooks.ts +132 -0
- package/src/lib/auth/provider.ts +25 -0
- package/{dist/client/index.js → src/lib/client/index.ts} +18 -7
- package/{dist → src/lib}/components/AdminApp.svelte +43 -11
- package/{dist/components/index.js → src/lib/components/index.ts} +5 -1
- package/src/lib/config.ts +18 -0
- package/{dist/db/adapters/index.js → src/lib/db/adapters/index.ts} +0 -1
- package/{dist/db/index.js → src/lib/db/index.ts} +2 -1
- package/src/lib/db/interfaces/asset.ts +61 -0
- package/src/lib/db/interfaces/document.ts +53 -0
- package/src/lib/db/interfaces/index.ts +98 -0
- package/src/lib/db/interfaces/organization.ts +51 -0
- package/src/lib/db/interfaces/schema.ts +13 -0
- package/src/lib/db/interfaces/user.ts +16 -0
- package/src/lib/db/utils/reference-resolver.ts +119 -0
- package/src/lib/define.ts +7 -0
- package/{dist/email/index.js → src/lib/email/index.ts} +2 -1
- package/src/lib/email/interfaces/email.ts +45 -0
- package/src/lib/engine.ts +85 -0
- package/src/lib/field-validation/rule.ts +287 -0
- package/src/lib/field-validation/utils.ts +91 -0
- package/src/lib/hooks.ts +142 -0
- package/{dist/index.js → src/lib/index.ts} +2 -1
- package/{dist/is-mobile.svelte.js → src/lib/is-mobile.svelte.ts} +5 -3
- package/src/lib/routes/assets-by-id.ts +161 -0
- package/src/lib/routes/assets-cdn.ts +185 -0
- package/src/lib/routes/assets.ts +116 -0
- package/src/lib/routes/documents-by-id.ts +188 -0
- package/src/lib/routes/documents-publish.ts +211 -0
- package/src/lib/routes/documents.ts +172 -0
- package/src/lib/routes/index.ts +13 -0
- package/src/lib/routes/organizations-by-id.ts +258 -0
- package/src/lib/routes/organizations-invitations.ts +183 -0
- package/src/lib/routes/organizations-members.ts +301 -0
- package/src/lib/routes/organizations-switch.ts +74 -0
- package/src/lib/routes/organizations.ts +147 -0
- package/src/lib/routes/schemas-by-type.ts +35 -0
- package/src/lib/routes/schemas.ts +19 -0
- package/src/lib/routes-exports.ts +42 -0
- package/src/lib/schema-context.svelte.ts +24 -0
- package/src/lib/schema-utils/cleanup.ts +116 -0
- package/src/lib/schema-utils/index.ts +4 -0
- package/src/lib/schema-utils/utils.ts +47 -0
- package/src/lib/schema-utils/validator.ts +58 -0
- package/src/lib/server/index.ts +40 -0
- package/src/lib/services/asset-service.ts +256 -0
- package/src/lib/services/index.ts +6 -0
- package/src/lib/storage/adapters/index.ts +2 -0
- package/src/lib/storage/adapters/local-storage-adapter.ts +215 -0
- package/{dist/storage/index.js → src/lib/storage/index.ts} +4 -2
- package/src/lib/storage/interfaces/index.ts +2 -0
- package/src/lib/storage/interfaces/storage.ts +114 -0
- package/src/lib/storage/providers/storage.ts +83 -0
- package/src/lib/types/asset.ts +81 -0
- package/src/lib/types/auth.ts +80 -0
- package/src/lib/types/config.ts +45 -0
- package/src/lib/types/document.ts +38 -0
- package/src/lib/types/index.ts +8 -0
- package/src/lib/types/organization.ts +119 -0
- package/src/lib/types/schemas.ts +156 -0
- package/src/lib/types/sidebar.ts +37 -0
- package/src/lib/types/user.ts +17 -0
- package/src/lib/utils/content-hash.ts +75 -0
- package/src/lib/utils/image-url.ts +204 -0
- package/src/lib/utils/index.ts +12 -0
- package/src/lib/utils/slug.ts +33 -0
- package/src/lib/utils.ts +13 -0
- package/dist/api/assets.d.ts +0 -48
- package/dist/api/assets.d.ts.map +0 -1
- package/dist/api/assets.js +0 -52
- package/dist/api/client.d.ts +0 -37
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -125
- package/dist/api/documents.d.ts +0 -56
- package/dist/api/documents.d.ts.map +0 -1
- package/dist/api/documents.js +0 -77
- package/dist/api/index.d.ts +0 -7
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -5
- package/dist/api/organizations.d.ts +0 -101
- package/dist/api/organizations.d.ts.map +0 -1
- package/dist/api/organizations.js +0 -92
- package/dist/api/types.d.ts +0 -23
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js +0 -1
- package/dist/auth/auth-errors.d.ts +0 -7
- package/dist/auth/auth-errors.d.ts.map +0 -1
- package/dist/auth/auth-errors.js +0 -13
- package/dist/auth/auth-hooks.d.ts +0 -6
- package/dist/auth/auth-hooks.d.ts.map +0 -1
- package/dist/auth/auth-hooks.js +0 -108
- package/dist/auth/provider.d.ts +0 -17
- package/dist/auth/provider.d.ts.map +0 -1
- package/dist/auth/provider.js +0 -1
- package/dist/client/index.d.ts +0 -24
- package/dist/client/index.d.ts.map +0 -1
- package/dist/components/AdminApp.svelte.d.ts +0 -24
- package/dist/components/AdminApp.svelte.d.ts.map +0 -1
- package/dist/components/admin/AdminLayout.svelte.d.ts +0 -15
- package/dist/components/admin/AdminLayout.svelte.d.ts.map +0 -1
- package/dist/components/admin/DocumentEditor.svelte.d.ts +0 -18
- package/dist/components/admin/DocumentEditor.svelte.d.ts.map +0 -1
- package/dist/components/admin/DocumentTypesList.svelte.d.ts +0 -14
- package/dist/components/admin/DocumentTypesList.svelte.d.ts.map +0 -1
- package/dist/components/admin/ObjectModal.svelte.d.ts +0 -15
- package/dist/components/admin/ObjectModal.svelte.d.ts.map +0 -1
- package/dist/components/admin/SchemaField.svelte.d.ts +0 -19
- package/dist/components/admin/SchemaField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/ArrayField.svelte.d.ts +0 -12
- package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/BooleanField.svelte.d.ts +0 -13
- package/dist/components/admin/fields/BooleanField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/ImageField.svelte.d.ts +0 -15
- package/dist/components/admin/fields/ImageField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/NumberField.svelte.d.ts +0 -14
- package/dist/components/admin/fields/NumberField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts +0 -12
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/SlugField.svelte.d.ts +0 -15
- package/dist/components/admin/fields/SlugField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/StringField.svelte.d.ts +0 -14
- package/dist/components/admin/fields/StringField.svelte.d.ts.map +0 -1
- package/dist/components/admin/fields/TextareaField.svelte.d.ts +0 -14
- package/dist/components/admin/fields/TextareaField.svelte.d.ts.map +0 -1
- package/dist/components/fields/index.d.ts +0 -9
- package/dist/components/fields/index.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -7
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/layout/OrganizationSwitcher.svelte.d.ts +0 -11
- package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +0 -1
- package/dist/components/layout/Sidebar.svelte.d.ts +0 -14
- package/dist/components/layout/Sidebar.svelte.d.ts.map +0 -1
- package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +0 -4
- package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +0 -1
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts +0 -19
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +0 -1
- package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts +0 -9
- package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts.map +0 -1
- package/dist/components/layout/sidebar/NavUser.svelte.d.ts +0 -9
- package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +0 -1
- package/dist/config.d.ts +0 -3
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -15
- package/dist/db/adapters/index.d.ts +0 -1
- package/dist/db/adapters/index.d.ts.map +0 -1
- package/dist/db/index.d.ts +0 -2
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/interfaces/asset.d.ts +0 -51
- package/dist/db/interfaces/asset.d.ts.map +0 -1
- package/dist/db/interfaces/asset.js +0 -1
- package/dist/db/interfaces/document.d.ts +0 -36
- package/dist/db/interfaces/document.d.ts.map +0 -1
- package/dist/db/interfaces/document.js +0 -1
- package/dist/db/interfaces/index.d.ts +0 -73
- package/dist/db/interfaces/index.d.ts.map +0 -1
- package/dist/db/interfaces/index.js +0 -1
- package/dist/db/interfaces/organization.d.ts +0 -27
- package/dist/db/interfaces/organization.d.ts.map +0 -1
- package/dist/db/interfaces/organization.js +0 -1
- package/dist/db/interfaces/schema.d.ts +0 -21
- package/dist/db/interfaces/schema.d.ts.map +0 -1
- package/dist/db/interfaces/schema.js +0 -1
- package/dist/db/interfaces/user.d.ts +0 -15
- package/dist/db/interfaces/user.d.ts.map +0 -1
- package/dist/db/interfaces/user.js +0 -1
- package/dist/db/utils/reference-resolver.d.ts +0 -18
- package/dist/db/utils/reference-resolver.d.ts.map +0 -1
- package/dist/db/utils/reference-resolver.js +0 -80
- package/dist/define.d.ts +0 -3
- package/dist/define.d.ts.map +0 -1
- package/dist/define.js +0 -4
- package/dist/email/index.d.ts +0 -2
- package/dist/email/index.d.ts.map +0 -1
- package/dist/email/interfaces/email.d.ts +0 -42
- package/dist/email/interfaces/email.d.ts.map +0 -1
- package/dist/email/interfaces/email.js +0 -1
- package/dist/engine.d.ts +0 -26
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js +0 -66
- package/dist/field-validation/rule.d.ts +0 -51
- package/dist/field-validation/rule.d.ts.map +0 -1
- package/dist/field-validation/rule.js +0 -221
- package/dist/field-validation/utils.d.ts +0 -21
- package/dist/field-validation/utils.d.ts.map +0 -1
- package/dist/field-validation/utils.js +0 -66
- package/dist/hooks.d.ts +0 -23
- package/dist/hooks.d.ts.map +0 -1
- package/dist/hooks.js +0 -96
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/is-mobile.svelte.d.ts +0 -5
- package/dist/is-mobile.svelte.d.ts.map +0 -1
- package/dist/routes/assets-by-id.d.ts +0 -5
- package/dist/routes/assets-by-id.d.ts.map +0 -1
- package/dist/routes/assets-by-id.js +0 -138
- package/dist/routes/assets-cdn.d.ts +0 -3
- package/dist/routes/assets-cdn.d.ts.map +0 -1
- package/dist/routes/assets-cdn.js +0 -155
- package/dist/routes/assets.d.ts +0 -4
- package/dist/routes/assets.d.ts.map +0 -1
- package/dist/routes/assets.js +0 -94
- package/dist/routes/documents-by-id.d.ts +0 -5
- package/dist/routes/documents-by-id.d.ts.map +0 -1
- package/dist/routes/documents-by-id.js +0 -142
- package/dist/routes/documents-publish.d.ts +0 -4
- package/dist/routes/documents-publish.d.ts.map +0 -1
- package/dist/routes/documents-publish.js +0 -151
- package/dist/routes/documents.d.ts +0 -4
- package/dist/routes/documents.d.ts.map +0 -1
- package/dist/routes/documents.js +0 -131
- package/dist/routes/index.d.ts +0 -6
- package/dist/routes/index.d.ts.map +0 -1
- package/dist/routes/index.js +0 -10
- package/dist/routes/organizations-by-id.d.ts +0 -5
- package/dist/routes/organizations-by-id.d.ts.map +0 -1
- package/dist/routes/organizations-by-id.js +0 -187
- package/dist/routes/organizations-invitations.d.ts +0 -4
- package/dist/routes/organizations-invitations.d.ts.map +0 -1
- package/dist/routes/organizations-invitations.js +0 -125
- package/dist/routes/organizations-members.d.ts +0 -5
- package/dist/routes/organizations-members.d.ts.map +0 -1
- package/dist/routes/organizations-members.js +0 -206
- package/dist/routes/organizations-switch.d.ts +0 -3
- package/dist/routes/organizations-switch.d.ts.map +0 -1
- package/dist/routes/organizations-switch.js +0 -53
- package/dist/routes/organizations.d.ts +0 -4
- package/dist/routes/organizations.d.ts.map +0 -1
- package/dist/routes/organizations.js +0 -109
- package/dist/routes/schemas-by-type.d.ts +0 -3
- package/dist/routes/schemas-by-type.d.ts.map +0 -1
- package/dist/routes/schemas-by-type.js +0 -25
- package/dist/routes/schemas.d.ts +0 -3
- package/dist/routes/schemas.d.ts.map +0 -1
- package/dist/routes/schemas.js +0 -11
- package/dist/routes-exports.d.ts +0 -14
- package/dist/routes-exports.d.ts.map +0 -1
- package/dist/routes-exports.js +0 -19
- package/dist/schema-context.svelte.d.ts +0 -10
- package/dist/schema-context.svelte.d.ts.map +0 -1
- package/dist/schema-context.svelte.js +0 -18
- package/dist/schema-utils/cleanup.d.ts +0 -21
- package/dist/schema-utils/cleanup.d.ts.map +0 -1
- package/dist/schema-utils/cleanup.js +0 -80
- package/dist/schema-utils/index.d.ts +0 -4
- package/dist/schema-utils/index.d.ts.map +0 -1
- package/dist/schema-utils/index.js +0 -4
- package/dist/schema-utils/utils.d.ts +0 -30
- package/dist/schema-utils/utils.d.ts.map +0 -1
- package/dist/schema-utils/utils.js +0 -37
- package/dist/schema-utils/validator.d.ts +0 -6
- package/dist/schema-utils/validator.d.ts.map +0 -1
- package/dist/schema-utils/validator.js +0 -45
- package/dist/server/index.d.ts +0 -16
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -28
- package/dist/services/asset-service.d.ts +0 -86
- package/dist/services/asset-service.d.ts.map +0 -1
- package/dist/services/asset-service.js +0 -187
- package/dist/services/index.d.ts +0 -3
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -4
- package/dist/storage/adapters/index.d.ts +0 -2
- package/dist/storage/adapters/index.d.ts.map +0 -1
- package/dist/storage/adapters/index.js +0 -2
- package/dist/storage/adapters/local-storage-adapter.d.ts +0 -54
- package/dist/storage/adapters/local-storage-adapter.d.ts.map +0 -1
- package/dist/storage/adapters/local-storage-adapter.js +0 -187
- package/dist/storage/index.d.ts +0 -3
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/interfaces/index.d.ts +0 -2
- package/dist/storage/interfaces/index.d.ts.map +0 -1
- package/dist/storage/interfaces/index.js +0 -2
- package/dist/storage/interfaces/storage.d.ts +0 -91
- package/dist/storage/interfaces/storage.d.ts.map +0 -1
- package/dist/storage/interfaces/storage.js +0 -1
- package/dist/storage/providers/storage.d.ts +0 -43
- package/dist/storage/providers/storage.d.ts.map +0 -1
- package/dist/storage/providers/storage.js +0 -64
- package/dist/types/asset.d.ts +0 -73
- package/dist/types/asset.d.ts.map +0 -1
- package/dist/types/asset.js +0 -2
- package/dist/types/auth.d.ts +0 -50
- package/dist/types/auth.d.ts.map +0 -1
- package/dist/types/auth.js +0 -41
- package/dist/types/config.d.ts +0 -47
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -1
- package/dist/types/document.d.ts +0 -34
- package/dist/types/document.d.ts.map +0 -1
- package/dist/types/document.js +0 -1
- package/dist/types/index.d.ts +0 -9
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -8
- package/dist/types/organization.d.ts +0 -105
- package/dist/types/organization.d.ts.map +0 -1
- package/dist/types/organization.js +0 -3
- package/dist/types/schemas.d.ts +0 -114
- package/dist/types/schemas.d.ts.map +0 -1
- package/dist/types/schemas.js +0 -1
- package/dist/types/sidebar.d.ts +0 -33
- package/dist/types/sidebar.d.ts.map +0 -1
- package/dist/types/sidebar.js +0 -1
- package/dist/types/user.d.ts +0 -14
- package/dist/types/user.d.ts.map +0 -1
- package/dist/types/user.js +0 -1
- package/dist/utils/content-hash.d.ts +0 -22
- package/dist/utils/content-hash.d.ts.map +0 -1
- package/dist/utils/content-hash.js +0 -67
- package/dist/utils/image-url.d.ts +0 -88
- package/dist/utils/image-url.d.ts.map +0 -1
- package/dist/utils/image-url.js +0 -165
- package/dist/utils/index.d.ts +0 -6
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -9
- package/dist/utils/slug.d.ts +0 -13
- package/dist/utils/slug.d.ts.map +0 -1
- package/dist/utils/slug.js +0 -30
- package/dist/utils.d.ts +0 -13
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -5
- /package/{dist → src/lib}/app.d.ts +0 -0
- /package/{dist → src/lib}/auth/MULTI_TENANCY_PLAN.md +0 -0
- /package/{dist → src/lib}/components/admin/AdminLayout.svelte +0 -0
- /package/{dist → src/lib}/components/admin/DocumentEditor.svelte +0 -0
- /package/{dist → src/lib}/components/admin/DocumentTypesList.svelte +0 -0
- /package/{dist → src/lib}/components/admin/ObjectModal.svelte +0 -0
- /package/{dist → src/lib}/components/admin/SchemaField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/ArrayField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/BooleanField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/ImageField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/NumberField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/ReferenceField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/SlugField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/StringField.svelte +0 -0
- /package/{dist → src/lib}/components/admin/fields/TextareaField.svelte +0 -0
- /package/{dist/components/fields/index.js → src/lib/components/fields/index.ts} +0 -0
- /package/{dist → src/lib}/components/layout/OrganizationSwitcher.svelte +0 -0
- /package/{dist → src/lib}/components/layout/Sidebar.svelte +0 -0
- /package/{dist → src/lib}/components/layout/sidebar/AppSidebar.svelte +0 -0
- /package/{dist → src/lib}/components/layout/sidebar/NavMain.svelte +0 -0
- /package/{dist → src/lib}/components/layout/sidebar/NavSecondary.svelte +0 -0
- /package/{dist → src/lib}/components/layout/sidebar/NavUser.svelte +0 -0
- /package/{dist → src/lib}/plugins/README.md +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavUser.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/sidebar/NavUser.svelte.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGnD,KAAK,KAAK,GAAG;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AA+DH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
|
package/dist/config.d.ts
DELETED
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAc5D"}
|
package/dist/config.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function createCMSConfig(config) {
|
|
2
|
-
return {
|
|
3
|
-
// Start with the user's config and apply defaults for missing properties
|
|
4
|
-
...config,
|
|
5
|
-
storage: config.storage ?? null, // Default to null if not provided
|
|
6
|
-
customization: {
|
|
7
|
-
branding: {
|
|
8
|
-
title: 'Aphex CMS',
|
|
9
|
-
...config.customization?.branding
|
|
10
|
-
},
|
|
11
|
-
...config.customization
|
|
12
|
-
},
|
|
13
|
-
plugins: config.plugins ?? []
|
|
14
|
-
};
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/db/adapters/index.ts"],"names":[],"mappings":""}
|
package/dist/db/index.d.ts
DELETED
package/dist/db/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/db/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { Asset } from '../../types/index.js';
|
|
2
|
-
export interface AssetFilters {
|
|
3
|
-
organizationId: string;
|
|
4
|
-
assetType?: 'image' | 'file';
|
|
5
|
-
mimeType?: string;
|
|
6
|
-
search?: string;
|
|
7
|
-
limit?: number;
|
|
8
|
-
offset?: number;
|
|
9
|
-
filterOrganizationIds?: string[];
|
|
10
|
-
}
|
|
11
|
-
export interface CreateAssetData {
|
|
12
|
-
organizationId: string;
|
|
13
|
-
assetType: 'image' | 'file';
|
|
14
|
-
filename: string;
|
|
15
|
-
originalFilename: string;
|
|
16
|
-
mimeType: string;
|
|
17
|
-
size: number;
|
|
18
|
-
url: string;
|
|
19
|
-
path: string;
|
|
20
|
-
storageAdapter: string;
|
|
21
|
-
width?: number;
|
|
22
|
-
height?: number;
|
|
23
|
-
metadata?: any;
|
|
24
|
-
title?: string;
|
|
25
|
-
description?: string;
|
|
26
|
-
alt?: string;
|
|
27
|
-
creditLine?: string;
|
|
28
|
-
createdBy?: string;
|
|
29
|
-
}
|
|
30
|
-
export interface UpdateAssetData {
|
|
31
|
-
url?: string;
|
|
32
|
-
title?: string;
|
|
33
|
-
description?: string;
|
|
34
|
-
alt?: string;
|
|
35
|
-
creditLine?: string;
|
|
36
|
-
updatedBy?: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Asset adapter interface for asset-specific operations
|
|
40
|
-
*/
|
|
41
|
-
export interface AssetAdapter {
|
|
42
|
-
createAsset(data: CreateAssetData): Promise<Asset>;
|
|
43
|
-
findAssetById(organizationId: string, id: string): Promise<Asset | null>;
|
|
44
|
-
findAssets(organizationId: string, filters?: Omit<AssetFilters, 'organizationId'>): Promise<Asset[]>;
|
|
45
|
-
updateAsset(organizationId: string, id: string, data: UpdateAssetData): Promise<Asset | null>;
|
|
46
|
-
deleteAsset(organizationId: string, id: string): Promise<boolean>;
|
|
47
|
-
countAssets(organizationId: string): Promise<number>;
|
|
48
|
-
countAssetsByType(organizationId: string): Promise<Record<string, number>>;
|
|
49
|
-
getTotalAssetsSize(organizationId: string): Promise<number>;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/asset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAE5B,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzE,UAAU,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAC5C,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACpB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC9F,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGlE,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Document } from '../../types/index.js';
|
|
2
|
-
export interface DocumentFilters {
|
|
3
|
-
organizationId: string;
|
|
4
|
-
type?: string;
|
|
5
|
-
status?: string;
|
|
6
|
-
limit?: number;
|
|
7
|
-
offset?: number;
|
|
8
|
-
depth?: number;
|
|
9
|
-
filterOrganizationIds?: string[];
|
|
10
|
-
}
|
|
11
|
-
export interface CreateDocumentData {
|
|
12
|
-
organizationId: string;
|
|
13
|
-
type: string;
|
|
14
|
-
draftData: any;
|
|
15
|
-
createdBy?: string;
|
|
16
|
-
}
|
|
17
|
-
export interface UpdateDocumentData {
|
|
18
|
-
draftData?: any;
|
|
19
|
-
status?: string;
|
|
20
|
-
updatedBy?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Document adapter interface for document-specific operations
|
|
24
|
-
*/
|
|
25
|
-
export interface DocumentAdapter {
|
|
26
|
-
findManyDoc(organizationId: string, filters?: Omit<DocumentFilters, 'organizationId'>): Promise<Document[]>;
|
|
27
|
-
findByDocId(organizationId: string, id: string, depth?: number): Promise<Document | null>;
|
|
28
|
-
createDocument(data: CreateDocumentData): Promise<Document>;
|
|
29
|
-
updateDocDraft(organizationId: string, id: string, data: any, updatedBy?: string): Promise<Document | null>;
|
|
30
|
-
deleteDocById(organizationId: string, id: string): Promise<boolean>;
|
|
31
|
-
publishDoc(organizationId: string, id: string): Promise<Document | null>;
|
|
32
|
-
unpublishDoc(organizationId: string, id: string): Promise<Document | null>;
|
|
33
|
-
countDocsByType(organizationId: string, type: string): Promise<number>;
|
|
34
|
-
getDocCountsByType(organizationId: string): Promise<Record<string, number>>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE/B,WAAW,CACV,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAC/C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1F,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,cAAc,CACb,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,GAAG,EACT,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5B,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGpE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACzE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAG3E,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { DocumentAdapter } from './document.js';
|
|
2
|
-
import type { AssetAdapter } from './asset.js';
|
|
3
|
-
import type { UserProfileAdapter } from './user.js';
|
|
4
|
-
import type { SchemaAdapter } from './schema.js';
|
|
5
|
-
import type { OrganizationAdapter } from './organization.js';
|
|
6
|
-
export type { DocumentAdapter, DocumentFilters, CreateDocumentData, UpdateDocumentData } from './document.js';
|
|
7
|
-
export type { AssetAdapter, CreateAssetData, UpdateAssetData } from './asset.js';
|
|
8
|
-
export type { UserProfileAdapter, NewUserProfileData } from './user.js';
|
|
9
|
-
export type { SchemaAdapter } from './schema.js';
|
|
10
|
-
export type { OrganizationAdapter } from './organization.js';
|
|
11
|
-
/**
|
|
12
|
-
* Combined database adapter interface
|
|
13
|
-
* Extends all entity-specific adapters for full database functionality
|
|
14
|
-
*/
|
|
15
|
-
export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProfileAdapter, SchemaAdapter, OrganizationAdapter {
|
|
16
|
-
connect?(): Promise<void>;
|
|
17
|
-
disconnect?(): Promise<void>;
|
|
18
|
-
isHealthy(): Promise<boolean>;
|
|
19
|
-
/**
|
|
20
|
-
* Initialize RLS (enable/disable) on tables - call after migrations
|
|
21
|
-
*/
|
|
22
|
-
initializeRLS?(): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Execute a function within a transaction with organization context set for RLS
|
|
25
|
-
* Ensures proper isolation with connection pooling
|
|
26
|
-
*/
|
|
27
|
-
withOrgContext?<T>(organizationId: string, fn: () => Promise<T>): Promise<T>;
|
|
28
|
-
/**
|
|
29
|
-
* Get all child organizations for a parent (for hierarchy support)
|
|
30
|
-
*/
|
|
31
|
-
getChildOrganizations?(parentOrganizationId: string): Promise<string[]>;
|
|
32
|
-
/**
|
|
33
|
-
* Check if any user profiles exist in the system (for first-user detection)
|
|
34
|
-
*/
|
|
35
|
-
hasAnyUserProfiles?(): Promise<boolean>;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Database provider factory interface
|
|
39
|
-
* Providers are pre-configured and create adapters on demand
|
|
40
|
-
*/
|
|
41
|
-
export interface DatabaseProvider {
|
|
42
|
-
name: string;
|
|
43
|
-
createAdapter(): DatabaseAdapter;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Generic database configuration
|
|
47
|
-
*/
|
|
48
|
-
export interface DatabaseConfig {
|
|
49
|
-
connectionString?: string;
|
|
50
|
-
client?: any;
|
|
51
|
-
options?: {
|
|
52
|
-
maxConnections?: number;
|
|
53
|
-
timeout?: number;
|
|
54
|
-
ssl?: boolean;
|
|
55
|
-
[key: string]: any;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Database transaction interface (optional for advanced providers)
|
|
60
|
-
*/
|
|
61
|
-
export interface DatabaseTransaction {
|
|
62
|
-
commit(): Promise<void>;
|
|
63
|
-
rollback(): Promise<void>;
|
|
64
|
-
isActive(): boolean;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Extended database adapter with transaction support
|
|
68
|
-
*/
|
|
69
|
-
export interface TransactionalDatabaseAdapter extends DatabaseAdapter {
|
|
70
|
-
beginTransaction(): Promise<DatabaseTransaction>;
|
|
71
|
-
withTransaction<T>(fn: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,YAAY,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,eAChB,SAAQ,eAAe,EACtB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,mBAAmB;IAEpB,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAG9B;;OAEG;IACH,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7E;;OAEG;IACH,qBAAqB,CAAC,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExE;;OAEG;IACH,kBAAkB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,IAAI,eAAe,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACpE,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Organization, NewOrganization, OrganizationMember, NewOrganizationMember, Invitation, NewInvitation, UserSession, OrganizationMembership } from '../../types/organization.js';
|
|
2
|
-
export interface OrganizationAdapter {
|
|
3
|
-
createOrganization(data: NewOrganization): Promise<Organization>;
|
|
4
|
-
findOrganizationById(id: string): Promise<Organization | null>;
|
|
5
|
-
findOrganizationBySlug(slug: string): Promise<Organization | null>;
|
|
6
|
-
updateOrganization(id: string, data: Partial<Omit<Organization, 'id' | 'createdAt' | 'createdBy'>>): Promise<Organization | null>;
|
|
7
|
-
deleteOrganization(id: string): Promise<boolean>;
|
|
8
|
-
addMember(data: NewOrganizationMember): Promise<OrganizationMember>;
|
|
9
|
-
removeMember(organizationId: string, userId: string): Promise<boolean>;
|
|
10
|
-
removeAllMembers(organizationId: string): Promise<boolean>;
|
|
11
|
-
updateMemberRole(organizationId: string, userId: string, role: 'owner' | 'admin' | 'editor' | 'viewer'): Promise<OrganizationMember | null>;
|
|
12
|
-
findUserMembership(userId: string, organizationId: string): Promise<OrganizationMember | null>;
|
|
13
|
-
findUserOrganizations(userId: string): Promise<OrganizationMembership[]>;
|
|
14
|
-
findOrganizationMembers(organizationId: string): Promise<OrganizationMember[]>;
|
|
15
|
-
createInvitation(data: NewInvitation): Promise<Invitation>;
|
|
16
|
-
findInvitationByToken(token: string): Promise<Invitation | null>;
|
|
17
|
-
findOrganizationInvitations(organizationId: string): Promise<Invitation[]>;
|
|
18
|
-
findInvitationsByEmail(email: string): Promise<Invitation[]>;
|
|
19
|
-
acceptInvitation(token: string, userId: string): Promise<OrganizationMember>;
|
|
20
|
-
deleteInvitation(id: string): Promise<boolean>;
|
|
21
|
-
removeAllInvitations(organizationId: string): Promise<boolean>;
|
|
22
|
-
cleanupExpiredInvitations(): Promise<number>;
|
|
23
|
-
updateUserSession(userId: string, organizationId: string): Promise<void>;
|
|
24
|
-
findUserSession(userId: string): Promise<UserSession | null>;
|
|
25
|
-
deleteUserSession(userId: string): Promise<boolean>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/organization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,mBAAmB;IAEnC,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/D,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACnE,kBAAkB,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,GACjE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGjD,SAAS,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,gBAAgB,CACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAC3C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACtC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAC/F,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzE,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAG/E,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACjE,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3E,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAG7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { SchemaType } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Defines database operations for managing schemas.
|
|
4
|
-
*/
|
|
5
|
-
export interface SchemaAdapter {
|
|
6
|
-
registerSchemaType(schemaType: SchemaType): Promise<void>;
|
|
7
|
-
getSchemaType(name: string): Promise<SchemaType | null>;
|
|
8
|
-
listSchemas(): Promise<SchemaType[]>;
|
|
9
|
-
listDocumentTypes(): Promise<Array<{
|
|
10
|
-
name: string;
|
|
11
|
-
title: string;
|
|
12
|
-
description?: string;
|
|
13
|
-
}>>;
|
|
14
|
-
listObjectTypes(): Promise<Array<{
|
|
15
|
-
name: string;
|
|
16
|
-
title: string;
|
|
17
|
-
description?: string;
|
|
18
|
-
}>>;
|
|
19
|
-
deleteSchemaType(name: string): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrC,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC3F,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { UserProfile } from '../../types/index.js';
|
|
2
|
-
export interface NewUserProfileData {
|
|
3
|
-
userId: string;
|
|
4
|
-
role?: 'super_admin' | 'admin' | 'editor' | 'viewer';
|
|
5
|
-
preferences?: Record<string, any>;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Defines database operations for managing user profiles.
|
|
9
|
-
*/
|
|
10
|
-
export interface UserProfileAdapter {
|
|
11
|
-
createUserProfile(data: NewUserProfileData): Promise<UserProfile>;
|
|
12
|
-
findUserProfileById(userId: string): Promise<UserProfile | null>;
|
|
13
|
-
deleteUserProfile(userId: string): Promise<boolean>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Document } from '../../types/index.js';
|
|
2
|
-
import type { DocumentAdapter } from '../interfaces/document.js';
|
|
3
|
-
interface ResolveOptions {
|
|
4
|
-
depth: number;
|
|
5
|
-
currentDepth?: number;
|
|
6
|
-
visited?: Set<string>;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Recursively resolves reference fields in a document
|
|
10
|
-
* @param document - The document to resolve references for
|
|
11
|
-
* @param adapter - Document adapter for fetching referenced documents
|
|
12
|
-
* @param organizationId - Organization ID for filtering referenced documents
|
|
13
|
-
* @param options - Resolution options (depth, tracking)
|
|
14
|
-
* @returns Document with resolved references
|
|
15
|
-
*/
|
|
16
|
-
export declare function resolveReferences(document: Document, adapter: DocumentAdapter, organizationId: string, options: ResolveOptions): Promise<Document>;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=reference-resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reference-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/db/utils/reference-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,UAAU,cAAc;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,QAAQ,CAAC,CA2CnB"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Recursively resolves reference fields in a document
|
|
3
|
-
* @param document - The document to resolve references for
|
|
4
|
-
* @param adapter - Document adapter for fetching referenced documents
|
|
5
|
-
* @param organizationId - Organization ID for filtering referenced documents
|
|
6
|
-
* @param options - Resolution options (depth, tracking)
|
|
7
|
-
* @returns Document with resolved references
|
|
8
|
-
*/
|
|
9
|
-
export async function resolveReferences(document, adapter, organizationId, options) {
|
|
10
|
-
const { depth, currentDepth = 0, visited = new Set() } = options;
|
|
11
|
-
// Base case: no more depth to resolve or already visited (circular reference)
|
|
12
|
-
if (currentDepth >= depth || visited.has(document.id)) {
|
|
13
|
-
return document;
|
|
14
|
-
}
|
|
15
|
-
// Mark as visited
|
|
16
|
-
visited.add(document.id);
|
|
17
|
-
// Clone the document to avoid mutations
|
|
18
|
-
const resolvedDocument = { ...document };
|
|
19
|
-
// Resolve references in draftData
|
|
20
|
-
if (document.draftData) {
|
|
21
|
-
resolvedDocument.draftData = await resolveDataReferences(document.draftData, adapter, organizationId, {
|
|
22
|
-
depth,
|
|
23
|
-
currentDepth: currentDepth + 1,
|
|
24
|
-
visited
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
// Resolve references in publishedData
|
|
28
|
-
if (document.publishedData) {
|
|
29
|
-
resolvedDocument.publishedData = await resolveDataReferences(document.publishedData, adapter, organizationId, {
|
|
30
|
-
depth,
|
|
31
|
-
currentDepth: currentDepth + 1,
|
|
32
|
-
visited
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return resolvedDocument;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Resolves references within document data (recursive)
|
|
39
|
-
*/
|
|
40
|
-
async function resolveDataReferences(data, adapter, organizationId, options) {
|
|
41
|
-
if (!data || typeof data !== 'object') {
|
|
42
|
-
return data;
|
|
43
|
-
}
|
|
44
|
-
// Handle arrays
|
|
45
|
-
if (Array.isArray(data)) {
|
|
46
|
-
return Promise.all(data.map((item) => resolveDataReferences(item, adapter, organizationId, options)));
|
|
47
|
-
}
|
|
48
|
-
// Clone object
|
|
49
|
-
const resolved = {};
|
|
50
|
-
for (const [key, value] of Object.entries(data)) {
|
|
51
|
-
// Check if this looks like a reference field (string ID)
|
|
52
|
-
if (typeof value === 'string' && key !== '_type' && key !== '_key') {
|
|
53
|
-
// Try to fetch the referenced document
|
|
54
|
-
try {
|
|
55
|
-
const referencedDoc = await adapter.findByDocId(organizationId, value);
|
|
56
|
-
if (referencedDoc) {
|
|
57
|
-
// Recursively resolve nested references
|
|
58
|
-
resolved[key] = await resolveReferences(referencedDoc, adapter, organizationId, options);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
// Reference not found, keep the ID
|
|
62
|
-
resolved[key] = value;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
// On error, keep the original value
|
|
67
|
-
resolved[key] = value;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
else if (value && typeof value === 'object') {
|
|
71
|
-
// Recursively resolve nested objects/arrays
|
|
72
|
-
resolved[key] = await resolveDataReferences(value, adapter, organizationId, options);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
// Primitive value, keep as is
|
|
76
|
-
resolved[key] = value;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return resolved;
|
|
80
|
-
}
|
package/dist/define.d.ts
DELETED
package/dist/define.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/lib/define.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
|
package/dist/define.js
DELETED
package/dist/email/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/email/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export interface EmailAddress {
|
|
2
|
-
email: string;
|
|
3
|
-
name?: string;
|
|
4
|
-
}
|
|
5
|
-
export interface SendEmailOptions {
|
|
6
|
-
from: string;
|
|
7
|
-
to: string | string[];
|
|
8
|
-
subject: string;
|
|
9
|
-
html?: string;
|
|
10
|
-
text?: string;
|
|
11
|
-
cc?: string | string[];
|
|
12
|
-
bcc?: string | string[];
|
|
13
|
-
replyTo?: string;
|
|
14
|
-
tags?: Array<{
|
|
15
|
-
name: string;
|
|
16
|
-
value: string;
|
|
17
|
-
}>;
|
|
18
|
-
attachments?: Array<{
|
|
19
|
-
filename: string;
|
|
20
|
-
content: Buffer | string;
|
|
21
|
-
}>;
|
|
22
|
-
}
|
|
23
|
-
export interface SendEmailResult {
|
|
24
|
-
id: string;
|
|
25
|
-
error?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface EmailAdapter {
|
|
28
|
-
readonly name: string;
|
|
29
|
-
send(options: SendEmailOptions): Promise<SendEmailResult>;
|
|
30
|
-
sendBatch?(emails: SendEmailOptions[]): Promise<SendEmailResult[]>;
|
|
31
|
-
}
|
|
32
|
-
export interface EmailProvider {
|
|
33
|
-
name: string;
|
|
34
|
-
createAdapter(config: EmailConfig): EmailAdapter;
|
|
35
|
-
}
|
|
36
|
-
export interface EmailConfig {
|
|
37
|
-
apiKey?: string;
|
|
38
|
-
options?: {
|
|
39
|
-
[key: string]: any;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=email.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/lib/email/interfaces/email.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE1D,SAAS,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/engine.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { CMSConfig } from './types/config.js';
|
|
2
|
-
import type { SchemaType } from './types/schemas.js';
|
|
3
|
-
import type { DatabaseAdapter } from './db/interfaces/index.js';
|
|
4
|
-
export declare class CMSEngine {
|
|
5
|
-
private db;
|
|
6
|
-
config: CMSConfig;
|
|
7
|
-
constructor(config: CMSConfig, dbAdapter: DatabaseAdapter);
|
|
8
|
-
updateConfig(newConfig: CMSConfig): void;
|
|
9
|
-
initialize(): Promise<void>;
|
|
10
|
-
getSchemaType(name: string): Promise<SchemaType | null>;
|
|
11
|
-
listSchemas(): Promise<SchemaType[]>;
|
|
12
|
-
getSchemaTypeByName(name: string): SchemaType | null;
|
|
13
|
-
listDocumentTypes(): Promise<Array<{
|
|
14
|
-
name: string;
|
|
15
|
-
title: string;
|
|
16
|
-
description?: string;
|
|
17
|
-
}>>;
|
|
18
|
-
listObjectTypes(): Promise<Array<{
|
|
19
|
-
name: string;
|
|
20
|
-
title: string;
|
|
21
|
-
description?: string;
|
|
22
|
-
}>>;
|
|
23
|
-
}
|
|
24
|
-
export declare function createCMS(config: CMSConfig, dbAdapter: DatabaseAdapter): CMSEngine;
|
|
25
|
-
export declare function getCMS(): CMSEngine;
|
|
26
|
-
//# sourceMappingURL=engine.d.ts.map
|
package/dist/engine.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/lib/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,qBAAa,SAAS;IACrB,OAAO,CAAC,EAAE,CAAkB;IACrB,MAAM,EAAE,SAAS,CAAC;gBAEb,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe;IAMzD,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAUlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIvD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI1C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAI9C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI1F,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAG9F;AAKD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,GAAG,SAAS,CAKlF;AAED,wBAAgB,MAAM,IAAI,SAAS,CAKlC"}
|
package/dist/engine.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
export class CMSEngine {
|
|
2
|
-
db;
|
|
3
|
-
config;
|
|
4
|
-
constructor(config, dbAdapter) {
|
|
5
|
-
this.config = config;
|
|
6
|
-
this.db = dbAdapter;
|
|
7
|
-
}
|
|
8
|
-
// Update config dynamically (for schema hot-reloading)
|
|
9
|
-
updateConfig(newConfig) {
|
|
10
|
-
this.config = newConfig;
|
|
11
|
-
console.log('🔄 CMS config updated:', {
|
|
12
|
-
schemaTypes: newConfig.schemaTypes.length,
|
|
13
|
-
documents: newConfig.schemaTypes.filter((t) => t.type === 'document').length,
|
|
14
|
-
objects: newConfig.schemaTypes.filter((t) => t.type === 'object').length
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
// Initialize CMS - register schema types in database
|
|
18
|
-
async initialize() {
|
|
19
|
-
console.log('🚀 Initializing CMS...');
|
|
20
|
-
// Get existing schemas from database
|
|
21
|
-
const existingSchemas = await this.db.listSchemas();
|
|
22
|
-
const existingNames = new Set(existingSchemas.map((s) => s.name));
|
|
23
|
-
const currentNames = new Set(this.config.schemaTypes.map((s) => s.name));
|
|
24
|
-
// Delete schemas that are no longer in config
|
|
25
|
-
for (const existingName of existingNames) {
|
|
26
|
-
if (!currentNames.has(existingName)) {
|
|
27
|
-
await this.db.deleteSchemaType(existingName);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Register all schema types (updates if exists, creates if new)
|
|
31
|
-
for (const schemaType of this.config.schemaTypes) {
|
|
32
|
-
await this.db.registerSchemaType(schemaType);
|
|
33
|
-
}
|
|
34
|
-
console.log('✅ CMS initialized successfully');
|
|
35
|
-
}
|
|
36
|
-
// Schema Type utility methods
|
|
37
|
-
async getSchemaType(name) {
|
|
38
|
-
return this.db.getSchemaType(name);
|
|
39
|
-
}
|
|
40
|
-
async listSchemas() {
|
|
41
|
-
return this.db.listSchemas();
|
|
42
|
-
}
|
|
43
|
-
getSchemaTypeByName(name) {
|
|
44
|
-
return this.config.schemaTypes.find((s) => s.name === name) || null;
|
|
45
|
-
}
|
|
46
|
-
async listDocumentTypes() {
|
|
47
|
-
return this.db.listDocumentTypes();
|
|
48
|
-
}
|
|
49
|
-
async listObjectTypes() {
|
|
50
|
-
return this.db.listObjectTypes();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// Global CMS instance
|
|
54
|
-
let cmsInstance = null;
|
|
55
|
-
export function createCMS(config, dbAdapter) {
|
|
56
|
-
if (!cmsInstance) {
|
|
57
|
-
cmsInstance = new CMSEngine(config, dbAdapter);
|
|
58
|
-
}
|
|
59
|
-
return cmsInstance;
|
|
60
|
-
}
|
|
61
|
-
export function getCMS() {
|
|
62
|
-
if (!cmsInstance) {
|
|
63
|
-
throw new Error('CMS not initialized. Call createCMS() first.');
|
|
64
|
-
}
|
|
65
|
-
return cmsInstance;
|
|
66
|
-
}
|