@valencets/cms 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin-routes.d.ts +1 -0
- package/dist/admin/admin-routes.d.ts.map +1 -1
- package/dist/admin/admin-routes.js +255 -11
- package/dist/admin/admin-routes.js.map +1 -1
- package/dist/admin/analytics-view.d.ts +18 -0
- package/dist/admin/analytics-view.d.ts.map +1 -0
- package/dist/admin/analytics-view.js +48 -0
- package/dist/admin/analytics-view.js.map +1 -0
- package/dist/admin/dashboard.d.ts +15 -2
- package/dist/admin/dashboard.d.ts.map +1 -1
- package/dist/admin/dashboard.js +24 -5
- package/dist/admin/dashboard.js.map +1 -1
- package/dist/admin/edit-view.d.ts +2 -1
- package/dist/admin/edit-view.d.ts.map +1 -1
- package/dist/admin/edit-view.js +41 -7
- package/dist/admin/edit-view.js.map +1 -1
- package/dist/admin/editor/admin-client.d.ts +2 -0
- package/dist/admin/editor/admin-client.d.ts.map +1 -0
- package/dist/admin/editor/admin-client.js +62 -0
- package/dist/admin/editor/admin-client.js.map +1 -0
- package/dist/admin/editor/lexical-entry.d.ts +7 -0
- package/dist/admin/editor/lexical-entry.d.ts.map +1 -0
- package/dist/admin/editor/lexical-entry.js +158 -0
- package/dist/admin/editor/lexical-entry.js.map +1 -0
- package/dist/admin/field-renderers.d.ts +8 -1
- package/dist/admin/field-renderers.d.ts.map +1 -1
- package/dist/admin/field-renderers.js +72 -4
- package/dist/admin/field-renderers.js.map +1 -1
- package/dist/admin/index.d.ts +3 -0
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +3 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/layout.d.ts.map +1 -1
- package/dist/admin/layout.js +175 -1
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/list-view.d.ts.map +1 -1
- package/dist/admin/list-view.js +3 -2
- package/dist/admin/list-view.js.map +1 -1
- package/dist/admin/login-view.d.ts +7 -0
- package/dist/admin/login-view.d.ts.map +1 -0
- package/dist/admin/login-view.js +142 -0
- package/dist/admin/login-view.js.map +1 -0
- package/dist/admin/revision-view.d.ts +10 -0
- package/dist/admin/revision-view.d.ts.map +1 -0
- package/dist/admin/revision-view.js +38 -0
- package/dist/admin/revision-view.js.map +1 -0
- package/dist/admin-client.js +16 -0
- package/dist/config/cms-config.d.ts +1 -0
- package/dist/config/cms-config.d.ts.map +1 -1
- package/dist/config/cms-config.js +1 -1
- package/dist/config/cms-config.js.map +1 -1
- package/dist/db/column-map.d.ts.map +1 -1
- package/dist/db/column-map.js +9 -1
- package/dist/db/column-map.js.map +1 -1
- package/dist/db/index.d.ts +2 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/revision-queries.d.ts +15 -0
- package/dist/db/revision-queries.d.ts.map +1 -0
- package/dist/db/revision-queries.js +14 -0
- package/dist/db/revision-queries.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/field-types.d.ts +39 -1
- package/dist/schema/field-types.d.ts.map +1 -1
- package/dist/schema/field-types.js +9 -1
- package/dist/schema/field-types.js.map +1 -1
- package/dist/schema/fields.d.ts +9 -1
- package/dist/schema/fields.d.ts.map +1 -1
- package/dist/schema/fields.js +24 -0
- package/dist/schema/fields.js.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/infer.d.ts +9 -2
- package/dist/schema/infer.d.ts.map +1 -1
- package/dist/validation/zod-generator.d.ts.map +1 -1
- package/dist/validation/zod-generator.js +62 -2
- package/dist/validation/zod-generator.js.map +1 -1
- package/package.json +21 -8
- package/LICENSE +0 -21
|
@@ -14,6 +14,7 @@ export interface CmsConfig {
|
|
|
14
14
|
readonly globals?: readonly GlobalConfig[] | undefined;
|
|
15
15
|
readonly plugins?: readonly Plugin[] | undefined;
|
|
16
16
|
readonly uploadDir?: string | undefined;
|
|
17
|
+
readonly telemetryPool?: DbPool | undefined;
|
|
17
18
|
}
|
|
18
19
|
export interface CmsInstance {
|
|
19
20
|
readonly api: LocalApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-config.d.ts","sourceRoot":"","sources":["../../src/config/cms-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAWxD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAA;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"cms-config.d.ts","sourceRoot":"","sources":["../../src/config/cms-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAWxD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAA;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAChD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAClD;AAED,wBAAgB,QAAQ,CAAE,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAsD/E"}
|
|
@@ -29,7 +29,7 @@ export function buildCms(inputConfig) {
|
|
|
29
29
|
}
|
|
30
30
|
const api = createLocalApi(config.db, collections, globals);
|
|
31
31
|
const restRoutes = createRestRoutes(config.db, collections, globals);
|
|
32
|
-
const adminRoutes = createAdminRoutes(config.db, collections);
|
|
32
|
+
const adminRoutes = createAdminRoutes(config.db, collections, { telemetryPool: config.telemetryPool });
|
|
33
33
|
const hasAuthCollection = config.collections.some(c => isAuthEnabled(c));
|
|
34
34
|
if (hasAuthCollection) {
|
|
35
35
|
const authRoutes = createAuthRoutes(config.db, collections);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-config.js","sourceRoot":"","sources":["../../src/config/cms-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAUpC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"cms-config.js","sourceRoot":"","sources":["../../src/config/cms-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-map.d.ts","sourceRoot":"","sources":["../../src/db/column-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"column-map.d.ts","sourceRoot":"","sources":["../../src/db/column-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAwB3D,wBAAgB,aAAa,CAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKzD;AAED,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAiBhE"}
|
package/dist/db/column-map.js
CHANGED
|
@@ -2,6 +2,7 @@ import { sanitizeOptionValue, isValidIdentifier } from './sql-sanitize.js';
|
|
|
2
2
|
const TYPE_MAP = {
|
|
3
3
|
text: 'TEXT',
|
|
4
4
|
textarea: 'TEXT',
|
|
5
|
+
richtext: 'TEXT',
|
|
5
6
|
number: 'INTEGER',
|
|
6
7
|
boolean: 'BOOLEAN',
|
|
7
8
|
select: 'TEXT',
|
|
@@ -9,7 +10,14 @@ const TYPE_MAP = {
|
|
|
9
10
|
slug: 'TEXT',
|
|
10
11
|
media: 'UUID',
|
|
11
12
|
relation: 'UUID',
|
|
12
|
-
group: 'JSONB'
|
|
13
|
+
group: 'JSONB',
|
|
14
|
+
email: 'TEXT',
|
|
15
|
+
url: 'TEXT',
|
|
16
|
+
password: 'TEXT',
|
|
17
|
+
json: 'JSONB',
|
|
18
|
+
color: 'TEXT',
|
|
19
|
+
multiselect: 'JSONB',
|
|
20
|
+
array: 'JSONB'
|
|
13
21
|
};
|
|
14
22
|
export function getColumnType(field) {
|
|
15
23
|
if (field.type === 'number' && 'hasDecimals' in field && field.hasDecimals) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-map.js","sourceRoot":"","sources":["../../src/db/column-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1E,MAAM,QAAQ,GAA2B;IACvC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,OAAO;CACf,CAAA;AAED,MAAM,UAAU,aAAa,CAAE,KAAkB;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3E,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAE,KAAkB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrF,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,SAAS,MAAM,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"column-map.js","sourceRoot":"","sources":["../../src/db/column-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1E,MAAM,QAAQ,GAA2B;IACvC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,OAAO;CACf,CAAA;AAED,MAAM,UAAU,aAAa,CAAE,KAAkB;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3E,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAE,KAAkB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrF,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,SAAS,MAAM,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC"}
|
package/dist/db/index.d.ts
CHANGED
|
@@ -7,4 +7,6 @@ export { generateCreateTable, generateCreateTableSql, generateAlterTableSql } fr
|
|
|
7
7
|
export type { MigrationOutput, SchemaChanges } from './migration-generator.js';
|
|
8
8
|
export { isValidIdentifier, sanitizeIdentifier, getValidFieldNames, isAllowedField, sanitizeOptionValue } from './sql-sanitize.js';
|
|
9
9
|
export { safeQuery } from './safe-query.js';
|
|
10
|
+
export { saveRevision, getRevisions, getRevision } from './revision-queries.js';
|
|
11
|
+
export type { RevisionRow } from './revision-queries.js';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/db/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEhH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC7G,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAElI,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EACV,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEhH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC7G,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAElI,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA"}
|
package/dist/db/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { getColumnType, getColumnConstraints } from './column-map.js';
|
|
|
4
4
|
export { generateCreateTable, generateCreateTableSql, generateAlterTableSql } from './migration-generator.js';
|
|
5
5
|
export { isValidIdentifier, sanitizeIdentifier, getValidFieldNames, isAllowedField, sanitizeOptionValue } from './sql-sanitize.js';
|
|
6
6
|
export { safeQuery } from './safe-query.js';
|
|
7
|
+
export { saveRevision, getRevisions, getRevision } from './revision-queries.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAShD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAGvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAG7G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAElI,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAShD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAGvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAG7G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAElI,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ResultAsync } from 'neverthrow';
|
|
2
|
+
import type { DbPool } from '@valencets/db';
|
|
3
|
+
import type { CmsError } from '../schema/types.js';
|
|
4
|
+
export interface RevisionRow {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly collection_slug: string;
|
|
7
|
+
readonly document_id: string;
|
|
8
|
+
readonly revision_number: number;
|
|
9
|
+
readonly data: Record<string, string | number | boolean | null>;
|
|
10
|
+
readonly created_at: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function saveRevision(pool: DbPool, collectionSlug: string, documentId: string, data: Record<string, string | number | boolean | null>): ResultAsync<RevisionRow, CmsError>;
|
|
13
|
+
export declare function getRevisions(pool: DbPool, collectionSlug: string, documentId: string): ResultAsync<RevisionRow[], CmsError>;
|
|
14
|
+
export declare function getRevision(pool: DbPool, collectionSlug: string, documentId: string, revisionNumber: number): ResultAsync<RevisionRow | null, CmsError>;
|
|
15
|
+
//# sourceMappingURL=revision-queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision-queries.d.ts","sourceRoot":"","sources":["../../src/db/revision-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GACrD,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAapC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,WAAW,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAMtC;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,WAAW,CAAC,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,CAM3C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { safeQuery } from './safe-query.js';
|
|
2
|
+
export function saveRevision(pool, collectionSlug, documentId, data) {
|
|
3
|
+
return safeQuery(pool, 'SELECT COALESCE(MAX("revision_number"), 0) AS max FROM "document_revisions" WHERE "collection_slug" = $1 AND "document_id" = $2', [collectionSlug, documentId]).andThen((rows) => {
|
|
4
|
+
const nextNumber = (rows[0]?.max ?? 0) + 1;
|
|
5
|
+
return safeQuery(pool, 'INSERT INTO "document_revisions" ("collection_slug", "document_id", "revision_number", "data") VALUES ($1, $2, $3, $4) RETURNING *', [collectionSlug, documentId, nextNumber, JSON.stringify(data)]).map(inserted => inserted[0]);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export function getRevisions(pool, collectionSlug, documentId) {
|
|
9
|
+
return safeQuery(pool, 'SELECT * FROM "document_revisions" WHERE "collection_slug" = $1 AND "document_id" = $2 ORDER BY "revision_number" DESC', [collectionSlug, documentId]);
|
|
10
|
+
}
|
|
11
|
+
export function getRevision(pool, collectionSlug, documentId, revisionNumber) {
|
|
12
|
+
return safeQuery(pool, 'SELECT * FROM "document_revisions" WHERE "collection_slug" = $1 AND "document_id" = $2 AND "revision_number" = $3 LIMIT 1', [collectionSlug, documentId, revisionNumber]).map(rows => rows[0] ?? null);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=revision-queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision-queries.js","sourceRoot":"","sources":["../../src/db/revision-queries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAW3C,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,cAAsB,EACtB,UAAkB,EAClB,IAAsD;IAEtD,OAAO,SAAS,CACd,IAAI,EACJ,iIAAiI,EACjI,CAAC,cAAc,EAAE,UAAU,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1C,OAAO,SAAS,CACd,IAAI,EACJ,oIAAoI,EACpI,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,cAAsB,EACtB,UAAkB;IAElB,OAAO,SAAS,CACd,IAAI,EACJ,wHAAwH,EACxH,CAAC,cAAc,EAAE,UAAU,CAAC,CAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,cAAsB,EACtB,UAAkB,EAClB,cAAsB;IAEtB,OAAO,SAAS,CACd,IAAI,EACJ,2HAA2H,EAC3H,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,CAC7C,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;AAChC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CmsErrorCode, FieldType, field, collection, global, createCollectionRegistry, createGlobalRegistry } from './schema/index.js';
|
|
2
|
-
export type { CmsError, FieldBaseConfig, FieldConfig, TextFieldConfig, TextareaFieldConfig, NumberFieldConfig, BooleanFieldConfig, SelectFieldConfig, SelectOption, DateFieldConfig, SlugFieldConfig, MediaFieldConfig, RelationFieldConfig, GroupFieldConfig, CollectionConfig, CollectionLabels, GlobalConfig, CollectionRegistry, GlobalRegistry, InferFieldType, InferFieldsType } from './schema/index.js';
|
|
2
|
+
export type { CmsError, FieldBaseConfig, FieldConfig, TextFieldConfig, TextareaFieldConfig, RichtextFieldConfig, NumberFieldConfig, BooleanFieldConfig, SelectFieldConfig, SelectOption, DateFieldConfig, SlugFieldConfig, MediaFieldConfig, RelationFieldConfig, GroupFieldConfig, EmailFieldConfig, UrlFieldConfig, PasswordFieldConfig, JsonFieldConfig, ColorFieldConfig, MultiselectFieldConfig, ArrayFieldConfig, CollectionConfig, CollectionLabels, GlobalConfig, CollectionRegistry, GlobalRegistry, InferFieldType, InferFieldsType } from './schema/index.js';
|
|
3
3
|
export { generateZodSchema, generatePartialSchema, isValidSlug, isValidEmail } from './validation/index.js';
|
|
4
4
|
export { WhereOperator, createQueryBuilder, getColumnType, getColumnConstraints, generateCreateTable, generateCreateTableSql, generateAlterTableSql } from './db/index.js';
|
|
5
5
|
export type { WhereCondition, WhereClause, OrderByClause, PaginatedResult, QueryBuilderFactory, CollectionQueryBuilder, MigrationOutput, SchemaChanges, SqlValue, DocumentRow, DocumentData } from './db/index.js';
|
|
@@ -13,7 +13,7 @@ export { createRateLimiter, parseCookie } from './auth/index.js';
|
|
|
13
13
|
export type { RateLimiter } from './auth/index.js';
|
|
14
14
|
export { createLocalApi, createRestRoutes, sendJson, sendErrorJson, safeReadBody, safeJsonParse } from './api/index.js';
|
|
15
15
|
export type { LocalApi, RestRouteHandler, RestRouteEntry } from './api/index.js';
|
|
16
|
-
export { renderLayout, renderDashboard, renderListView, renderEditView, renderFieldInput, createAdminRoutes, escapeHtml } from './admin/index.js';
|
|
16
|
+
export { renderLayout, renderDashboard, renderListView, renderEditView, renderFieldInput, renderLoginPage, renderAnalyticsView, createAdminRoutes, escapeHtml } from './admin/index.js';
|
|
17
17
|
export { isUploadEnabled, getMediaFields, getMimeType, createServeHandler, createUploadHandler } from './media/index.js';
|
|
18
18
|
export type { UploadResult } from './media/index.js';
|
|
19
19
|
export { buildCms } from './config/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,WAAW,EACX,YAAY,EACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,UAAU,EACX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACvH,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEhF,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACxH,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,WAAW,EACX,YAAY,EACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,UAAU,EACX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACvH,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEhF,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACxH,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export { runHooks } from './hooks/index.js';
|
|
|
7
7
|
export { isAuthEnabled, getAuthConfig, getAuthFields, injectAuthFields, hashPassword, verifyPassword, createSession, validateSession, destroySession, buildSessionCookie, buildExpiredSessionCookie, createAuthMiddleware, generateCsrfToken, validateCsrfToken, createAuthRoutes } from './auth/index.js';
|
|
8
8
|
export { createRateLimiter, parseCookie } from './auth/index.js';
|
|
9
9
|
export { createLocalApi, createRestRoutes, sendJson, sendErrorJson, safeReadBody, safeJsonParse } from './api/index.js';
|
|
10
|
-
export { renderLayout, renderDashboard, renderListView, renderEditView, renderFieldInput, createAdminRoutes, escapeHtml } from './admin/index.js';
|
|
10
|
+
export { renderLayout, renderDashboard, renderListView, renderEditView, renderFieldInput, renderLoginPage, renderAnalyticsView, createAdminRoutes, escapeHtml } from './admin/index.js';
|
|
11
11
|
export { isUploadEnabled, getMediaFields, getMimeType, createServeHandler, createUploadHandler } from './media/index.js';
|
|
12
12
|
export { buildCms } from './config/index.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,EACL,UAAU,EACV,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAkC1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,eAAe,CAAA;AAgBtB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAS3C,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGhE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGvH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAGxH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const FieldType: {
|
|
2
2
|
readonly TEXT: "text";
|
|
3
3
|
readonly TEXTAREA: "textarea";
|
|
4
|
+
readonly RICHTEXT: "richtext";
|
|
4
5
|
readonly NUMBER: "number";
|
|
5
6
|
readonly BOOLEAN: "boolean";
|
|
6
7
|
readonly SELECT: "select";
|
|
@@ -9,6 +10,13 @@ export declare const FieldType: {
|
|
|
9
10
|
readonly MEDIA: "media";
|
|
10
11
|
readonly RELATION: "relation";
|
|
11
12
|
readonly GROUP: "group";
|
|
13
|
+
readonly EMAIL: "email";
|
|
14
|
+
readonly URL: "url";
|
|
15
|
+
readonly PASSWORD: "password";
|
|
16
|
+
readonly JSON: "json";
|
|
17
|
+
readonly COLOR: "color";
|
|
18
|
+
readonly MULTISELECT: "multiselect";
|
|
19
|
+
readonly ARRAY: "array";
|
|
12
20
|
};
|
|
13
21
|
export type FieldType = typeof FieldType[keyof typeof FieldType];
|
|
14
22
|
export interface FieldBaseConfig {
|
|
@@ -31,6 +39,11 @@ export interface TextareaFieldConfig extends FieldBaseConfig {
|
|
|
31
39
|
readonly minLength?: number | undefined;
|
|
32
40
|
readonly maxLength?: number | undefined;
|
|
33
41
|
}
|
|
42
|
+
export interface RichtextFieldConfig extends FieldBaseConfig {
|
|
43
|
+
readonly type: 'richtext';
|
|
44
|
+
readonly minLength?: number | undefined;
|
|
45
|
+
readonly maxLength?: number | undefined;
|
|
46
|
+
}
|
|
34
47
|
export interface NumberFieldConfig extends FieldBaseConfig {
|
|
35
48
|
readonly type: 'number';
|
|
36
49
|
readonly min?: number | undefined;
|
|
@@ -69,5 +82,30 @@ export interface GroupFieldConfig extends FieldBaseConfig {
|
|
|
69
82
|
readonly type: 'group';
|
|
70
83
|
readonly fields: readonly FieldConfig[];
|
|
71
84
|
}
|
|
72
|
-
export
|
|
85
|
+
export interface EmailFieldConfig extends FieldBaseConfig {
|
|
86
|
+
readonly type: 'email';
|
|
87
|
+
}
|
|
88
|
+
export interface UrlFieldConfig extends FieldBaseConfig {
|
|
89
|
+
readonly type: 'url';
|
|
90
|
+
}
|
|
91
|
+
export interface PasswordFieldConfig extends FieldBaseConfig {
|
|
92
|
+
readonly type: 'password';
|
|
93
|
+
readonly minLength?: number | undefined;
|
|
94
|
+
readonly maxLength?: number | undefined;
|
|
95
|
+
}
|
|
96
|
+
export interface JsonFieldConfig extends FieldBaseConfig {
|
|
97
|
+
readonly type: 'json';
|
|
98
|
+
}
|
|
99
|
+
export interface ColorFieldConfig extends FieldBaseConfig {
|
|
100
|
+
readonly type: 'color';
|
|
101
|
+
}
|
|
102
|
+
export interface MultiselectFieldConfig extends FieldBaseConfig {
|
|
103
|
+
readonly type: 'multiselect';
|
|
104
|
+
readonly options: readonly SelectOption[];
|
|
105
|
+
}
|
|
106
|
+
export interface ArrayFieldConfig extends FieldBaseConfig {
|
|
107
|
+
readonly type: 'array';
|
|
108
|
+
readonly fields: readonly FieldConfig[];
|
|
109
|
+
}
|
|
110
|
+
export type FieldConfig = TextFieldConfig | TextareaFieldConfig | RichtextFieldConfig | NumberFieldConfig | BooleanFieldConfig | SelectFieldConfig | DateFieldConfig | SlugFieldConfig | MediaFieldConfig | RelationFieldConfig | GroupFieldConfig | EmailFieldConfig | UrlFieldConfig | PasswordFieldConfig | JsonFieldConfig | ColorFieldConfig | MultiselectFieldConfig | ArrayFieldConfig;
|
|
73
111
|
//# sourceMappingURL=field-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../src/schema/field-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../src/schema/field-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const FieldType = {
|
|
2
2
|
TEXT: 'text',
|
|
3
3
|
TEXTAREA: 'textarea',
|
|
4
|
+
RICHTEXT: 'richtext',
|
|
4
5
|
NUMBER: 'number',
|
|
5
6
|
BOOLEAN: 'boolean',
|
|
6
7
|
SELECT: 'select',
|
|
@@ -8,6 +9,13 @@ export const FieldType = {
|
|
|
8
9
|
SLUG: 'slug',
|
|
9
10
|
MEDIA: 'media',
|
|
10
11
|
RELATION: 'relation',
|
|
11
|
-
GROUP: 'group'
|
|
12
|
+
GROUP: 'group',
|
|
13
|
+
EMAIL: 'email',
|
|
14
|
+
URL: 'url',
|
|
15
|
+
PASSWORD: 'password',
|
|
16
|
+
JSON: 'json',
|
|
17
|
+
COLOR: 'color',
|
|
18
|
+
MULTISELECT: 'multiselect',
|
|
19
|
+
ARRAY: 'array'
|
|
12
20
|
};
|
|
13
21
|
//# sourceMappingURL=field-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-types.js","sourceRoot":"","sources":["../../src/schema/field-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAA"}
|
|
1
|
+
{"version":3,"file":"field-types.js","sourceRoot":"","sources":["../../src/schema/field-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAA"}
|
package/dist/schema/fields.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { TextFieldConfig, TextareaFieldConfig, NumberFieldConfig, BooleanFieldConfig, SelectFieldConfig, DateFieldConfig, SlugFieldConfig, MediaFieldConfig, RelationFieldConfig, GroupFieldConfig } from './field-types.js';
|
|
1
|
+
import type { TextFieldConfig, TextareaFieldConfig, RichtextFieldConfig, NumberFieldConfig, BooleanFieldConfig, SelectFieldConfig, DateFieldConfig, SlugFieldConfig, MediaFieldConfig, RelationFieldConfig, GroupFieldConfig, EmailFieldConfig, UrlFieldConfig, PasswordFieldConfig, JsonFieldConfig, ColorFieldConfig, MultiselectFieldConfig, ArrayFieldConfig } from './field-types.js';
|
|
2
2
|
export declare const field: {
|
|
3
3
|
text(opts: Omit<TextFieldConfig, "type">): TextFieldConfig;
|
|
4
4
|
textarea(opts: Omit<TextareaFieldConfig, "type">): TextareaFieldConfig;
|
|
5
|
+
richtext(opts: Omit<RichtextFieldConfig, "type">): RichtextFieldConfig;
|
|
5
6
|
number(opts: Omit<NumberFieldConfig, "type">): NumberFieldConfig;
|
|
6
7
|
boolean(opts: Omit<BooleanFieldConfig, "type">): BooleanFieldConfig;
|
|
7
8
|
select(opts: Omit<SelectFieldConfig, "type">): SelectFieldConfig;
|
|
@@ -10,5 +11,12 @@ export declare const field: {
|
|
|
10
11
|
media(opts: Omit<MediaFieldConfig, "type">): MediaFieldConfig;
|
|
11
12
|
relation(opts: Omit<RelationFieldConfig, "type">): RelationFieldConfig;
|
|
12
13
|
group(opts: Omit<GroupFieldConfig, "type">): GroupFieldConfig;
|
|
14
|
+
email(opts: Omit<EmailFieldConfig, "type">): EmailFieldConfig;
|
|
15
|
+
url(opts: Omit<UrlFieldConfig, "type">): UrlFieldConfig;
|
|
16
|
+
password(opts: Omit<PasswordFieldConfig, "type">): PasswordFieldConfig;
|
|
17
|
+
json(opts: Omit<JsonFieldConfig, "type">): JsonFieldConfig;
|
|
18
|
+
color(opts: Omit<ColorFieldConfig, "type">): ColorFieldConfig;
|
|
19
|
+
multiselect(opts: Omit<MultiselectFieldConfig, "type">): MultiselectFieldConfig;
|
|
20
|
+
array(opts: Omit<ArrayFieldConfig, "type">): ArrayFieldConfig;
|
|
13
21
|
};
|
|
14
22
|
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,eAAO,MAAM,KAAK;eACJ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;mBAI3C,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;iBAIzD,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,iBAAiB;kBAIlD,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,kBAAkB;iBAItD,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,iBAAiB;eAIrD,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;eAI/C,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;gBAI9C,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;mBAI9C,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;gBAI1D,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;CAG/D,CAAA"}
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,eAAO,MAAM,KAAK;eACJ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;mBAI3C,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;mBAIvD,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;iBAIzD,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,iBAAiB;kBAIlD,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,kBAAkB;iBAItD,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,iBAAiB;eAIrD,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;eAI/C,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;gBAI9C,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;mBAI9C,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;gBAI1D,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;gBAIjD,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;cAInD,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,cAAc;mBAIxC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;eAI3D,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,eAAe;gBAI9C,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;sBAI3C,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,sBAAsB;gBAInE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,gBAAgB;CAG/D,CAAA"}
|
package/dist/schema/fields.js
CHANGED
|
@@ -5,6 +5,9 @@ export const field = {
|
|
|
5
5
|
textarea(opts) {
|
|
6
6
|
return { type: 'textarea', ...opts };
|
|
7
7
|
},
|
|
8
|
+
richtext(opts) {
|
|
9
|
+
return { type: 'richtext', ...opts };
|
|
10
|
+
},
|
|
8
11
|
number(opts) {
|
|
9
12
|
return { type: 'number', ...opts };
|
|
10
13
|
},
|
|
@@ -28,6 +31,27 @@ export const field = {
|
|
|
28
31
|
},
|
|
29
32
|
group(opts) {
|
|
30
33
|
return { type: 'group', ...opts };
|
|
34
|
+
},
|
|
35
|
+
email(opts) {
|
|
36
|
+
return { type: 'email', ...opts };
|
|
37
|
+
},
|
|
38
|
+
url(opts) {
|
|
39
|
+
return { type: 'url', ...opts };
|
|
40
|
+
},
|
|
41
|
+
password(opts) {
|
|
42
|
+
return { type: 'password', ...opts };
|
|
43
|
+
},
|
|
44
|
+
json(opts) {
|
|
45
|
+
return { type: 'json', ...opts };
|
|
46
|
+
},
|
|
47
|
+
color(opts) {
|
|
48
|
+
return { type: 'color', ...opts };
|
|
49
|
+
},
|
|
50
|
+
multiselect(opts) {
|
|
51
|
+
return { type: 'multiselect', ...opts };
|
|
52
|
+
},
|
|
53
|
+
array(opts) {
|
|
54
|
+
return { type: 'array', ...opts };
|
|
31
55
|
}
|
|
32
56
|
};
|
|
33
57
|
//# sourceMappingURL=fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,CAAE,IAAmC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,QAAQ,CAAE,IAAuC;QAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,QAAQ,CAAE,IAAuC;QAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,MAAM,CAAE,IAAqC;QAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,OAAO,CAAE,IAAsC;QAC7C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,CAAE,IAAqC;QAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,CAAE,IAAmC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,CAAE,IAAmC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAE,IAAoC;QACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;IACnC,CAAC;IAED,QAAQ,CAAE,IAAuC;QAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,KAAK,CAAE,IAAoC;QACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;IACnC,CAAC;IAED,KAAK,CAAE,IAAoC;QACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;IACnC,CAAC;IAED,GAAG,CAAE,IAAkC;QACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,QAAQ,CAAE,IAAuC;QAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAA;IACtC,CAAC;IAED,IAAI,CAAE,IAAmC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAE,IAAoC;QACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;IACnC,CAAC;IAED,WAAW,CAAE,IAA0C;QACrD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,KAAK,CAAE,IAAoC;QACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;IACnC,CAAC;CACF,CAAA"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CmsErrorCode } from './types.js';
|
|
2
2
|
export type { CmsError } from './types.js';
|
|
3
3
|
export { FieldType } from './field-types.js';
|
|
4
|
-
export type { FieldBaseConfig, FieldConfig, TextFieldConfig, TextareaFieldConfig, NumberFieldConfig, BooleanFieldConfig, SelectFieldConfig, SelectOption, DateFieldConfig, SlugFieldConfig, MediaFieldConfig, RelationFieldConfig, GroupFieldConfig } from './field-types.js';
|
|
4
|
+
export type { FieldBaseConfig, FieldConfig, TextFieldConfig, TextareaFieldConfig, RichtextFieldConfig, NumberFieldConfig, BooleanFieldConfig, SelectFieldConfig, SelectOption, DateFieldConfig, SlugFieldConfig, MediaFieldConfig, RelationFieldConfig, GroupFieldConfig, EmailFieldConfig, UrlFieldConfig, PasswordFieldConfig, JsonFieldConfig, ColorFieldConfig, MultiselectFieldConfig, ArrayFieldConfig } from './field-types.js';
|
|
5
5
|
export { field } from './fields.js';
|
|
6
6
|
export { collection } from './collection.js';
|
|
7
7
|
export type { CollectionConfig, CollectionLabels } from './collection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEvE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEvE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAyB5C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/schema/infer.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { FieldConfig, GroupFieldConfig } from './field-types.js';
|
|
1
|
+
import type { FieldConfig, GroupFieldConfig, ArrayFieldConfig } from './field-types.js';
|
|
2
2
|
interface FieldValueMap {
|
|
3
3
|
text: string;
|
|
4
4
|
textarea: string;
|
|
5
|
+
richtext: string;
|
|
5
6
|
number: number;
|
|
6
7
|
boolean: boolean;
|
|
7
8
|
select: string;
|
|
@@ -9,8 +10,14 @@ interface FieldValueMap {
|
|
|
9
10
|
slug: string;
|
|
10
11
|
media: string;
|
|
11
12
|
relation: string;
|
|
13
|
+
email: string;
|
|
14
|
+
url: string;
|
|
15
|
+
password: string;
|
|
16
|
+
json: string;
|
|
17
|
+
color: string;
|
|
18
|
+
multiselect: string[];
|
|
12
19
|
}
|
|
13
|
-
export type InferFieldType<F extends FieldConfig> = F extends GroupFieldConfig ? InferFieldsType<F['fields']> : F extends {
|
|
20
|
+
export type InferFieldType<F extends FieldConfig> = F extends GroupFieldConfig ? InferFieldsType<F['fields']> : F extends ArrayFieldConfig ? InferFieldsType<F['fields']>[] : F extends {
|
|
14
21
|
readonly type: infer T extends keyof FieldValueMap;
|
|
15
22
|
} ? FieldValueMap[T] : never;
|
|
16
23
|
export type InferFieldsType<Fields extends readonly FieldConfig[]> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/schema/infer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/schema/infer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAA;AAEzB,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAC5C,CAAC,SAAS,gBAAgB,GACtB,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAC5B,CAAC,SAAS,gBAAgB,GACxB,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAC9B,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,aAAa,CAAA;CAAE,GAC9D,aAAa,CAAC,CAAC,CAAC,GAChB,KAAK,CAAA;AAEjB,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,SAAS,WAAW,EAAE,IAAI;KAClE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;CACtD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-generator.d.ts","sourceRoot":"","sources":["../../src/validation/zod-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,KAAK,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"zod-generator.d.ts","sourceRoot":"","sources":["../../src/validation/zod-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,KAAK,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAqK3D,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAE5E;AAED,wBAAgB,qBAAqB,CAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAEhF"}
|
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
const FIELD_SCHEMA_MAP = {
|
|
3
3
|
text: buildTextSchema,
|
|
4
4
|
textarea: buildTextSchema,
|
|
5
|
+
richtext: buildTextSchema,
|
|
5
6
|
number: buildNumberSchema,
|
|
6
7
|
boolean: buildBooleanSchema,
|
|
7
8
|
select: buildSelectSchema,
|
|
@@ -9,7 +10,14 @@ const FIELD_SCHEMA_MAP = {
|
|
|
9
10
|
slug: buildSlugSchema,
|
|
10
11
|
media: buildUuidSchema,
|
|
11
12
|
relation: buildUuidSchema,
|
|
12
|
-
group: buildGroupSchema
|
|
13
|
+
group: buildGroupSchema,
|
|
14
|
+
email: buildEmailSchema,
|
|
15
|
+
url: buildUrlSchema,
|
|
16
|
+
password: buildPasswordSchema,
|
|
17
|
+
json: buildJsonSchema,
|
|
18
|
+
color: buildColorSchema,
|
|
19
|
+
multiselect: buildMultiselectSchema,
|
|
20
|
+
array: buildArraySchema
|
|
13
21
|
};
|
|
14
22
|
function buildTextSchema(field) {
|
|
15
23
|
let schema = z.string();
|
|
@@ -63,6 +71,53 @@ function buildGroupSchema(field) {
|
|
|
63
71
|
}
|
|
64
72
|
return z.object({});
|
|
65
73
|
}
|
|
74
|
+
function buildEmailSchema(_field) {
|
|
75
|
+
return z.string().email();
|
|
76
|
+
}
|
|
77
|
+
function buildUrlSchema(_field) {
|
|
78
|
+
return z.string().url();
|
|
79
|
+
}
|
|
80
|
+
function buildPasswordSchema(field) {
|
|
81
|
+
let schema = z.string();
|
|
82
|
+
if ('minLength' in field && field.minLength !== undefined) {
|
|
83
|
+
schema = schema.min(field.minLength);
|
|
84
|
+
}
|
|
85
|
+
if ('maxLength' in field && field.maxLength !== undefined) {
|
|
86
|
+
schema = schema.max(field.maxLength);
|
|
87
|
+
}
|
|
88
|
+
return schema;
|
|
89
|
+
}
|
|
90
|
+
function buildJsonSchema(_field) {
|
|
91
|
+
return z.string().refine((val) => {
|
|
92
|
+
try {
|
|
93
|
+
JSON.parse(val);
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}, { message: 'Invalid JSON' });
|
|
100
|
+
}
|
|
101
|
+
function buildColorSchema(_field) {
|
|
102
|
+
return z.string().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/, 'Invalid hex color');
|
|
103
|
+
}
|
|
104
|
+
function buildMultiselectSchema(field) {
|
|
105
|
+
if ('options' in field && field.options.length > 0) {
|
|
106
|
+
const values = field.options.map(o => o.value);
|
|
107
|
+
const first = values[0];
|
|
108
|
+
const rest = values.slice(1);
|
|
109
|
+
if (first !== undefined) {
|
|
110
|
+
return z.array(z.enum([first, ...rest]));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return z.array(z.string());
|
|
114
|
+
}
|
|
115
|
+
function buildArraySchema(field) {
|
|
116
|
+
if ('fields' in field) {
|
|
117
|
+
return z.array(buildObjectSchema(field.fields));
|
|
118
|
+
}
|
|
119
|
+
return z.array(z.object({}));
|
|
120
|
+
}
|
|
66
121
|
function buildObjectSchema(fields) {
|
|
67
122
|
const shape = {};
|
|
68
123
|
for (const f of fields) {
|
|
@@ -71,7 +126,12 @@ function buildObjectSchema(fields) {
|
|
|
71
126
|
continue;
|
|
72
127
|
let fieldSchema = builder(f);
|
|
73
128
|
if (!f.required) {
|
|
74
|
-
|
|
129
|
+
if (f.type === 'relation' || f.type === 'media') {
|
|
130
|
+
fieldSchema = z.preprocess((val) => (typeof val === 'string' && val === '') ? undefined : val, fieldSchema.optional());
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
fieldSchema = fieldSchema.optional();
|
|
134
|
+
}
|
|
75
135
|
}
|
|
76
136
|
shape[f.name] = fieldSchema;
|
|
77
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-generator.js","sourceRoot":"","sources":["../../src/validation/zod-generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"zod-generator.js","sourceRoot":"","sources":["../../src/validation/zod-generator.ts"],"names":[],"mappings":"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"}
|