@valencets/cms 0.5.0 → 0.6.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 +2 -0
- package/dist/admin/admin-routes.d.ts.map +1 -1
- package/dist/admin/admin-routes.js +7 -5
- package/dist/admin/admin-routes.js.map +1 -1
- package/dist/admin/edit-view.d.ts +9 -1
- package/dist/admin/edit-view.d.ts.map +1 -1
- package/dist/admin/edit-view.js +105 -35
- package/dist/admin/edit-view.js.map +1 -1
- package/dist/admin/editor/admin-client.js +1 -1
- package/dist/admin/editor/admin-client.js.map +1 -1
- package/dist/admin/field-renderers.d.ts +13 -1
- package/dist/admin/field-renderers.d.ts.map +1 -1
- package/dist/admin/field-renderers.js +48 -8
- package/dist/admin/field-renderers.js.map +1 -1
- package/dist/admin/layout.d.ts.map +1 -1
- package/dist/admin/layout.js +49 -2
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/list-view.d.ts +9 -0
- package/dist/admin/list-view.d.ts.map +1 -1
- package/dist/admin/list-view.js +109 -7
- package/dist/admin/list-view.js.map +1 -1
- package/dist/admin-client.js +1 -1
- package/dist/api/local-api.d.ts +14 -3
- package/dist/api/local-api.d.ts.map +1 -1
- package/dist/api/local-api.js +112 -7
- package/dist/api/local-api.js.map +1 -1
- package/dist/api/rest-api.d.ts +8 -1
- package/dist/api/rest-api.d.ts.map +1 -1
- package/dist/api/rest-api.js +76 -12
- package/dist/api/rest-api.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/session.d.ts +7 -1
- package/dist/auth/session.d.ts.map +1 -1
- package/dist/auth/session.js +10 -3
- package/dist/auth/session.js.map +1 -1
- package/dist/config/cms-config.d.ts +12 -0
- package/dist/config/cms-config.d.ts.map +1 -1
- package/dist/config/cms-config.js +13 -3
- package/dist/config/cms-config.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/db/migration-generator.d.ts +3 -3
- package/dist/db/migration-generator.d.ts.map +1 -1
- package/dist/db/migration-generator.js +27 -9
- package/dist/db/migration-generator.js.map +1 -1
- package/dist/db/query-builder.d.ts +3 -1
- package/dist/db/query-builder.d.ts.map +1 -1
- package/dist/db/query-builder.js +54 -14
- package/dist/db/query-builder.js.map +1 -1
- package/dist/db/sql-sanitize.d.ts.map +1 -1
- package/dist/db/sql-sanitize.js +5 -1
- package/dist/db/sql-sanitize.js.map +1 -1
- package/dist/hooks/hook-types.d.ts +5 -1
- package/dist/hooks/hook-types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/media/image-processor.d.ts +17 -0
- package/dist/media/image-processor.d.ts.map +1 -0
- package/dist/media/image-processor.js +90 -0
- package/dist/media/image-processor.js.map +1 -0
- package/dist/media/index.d.ts +8 -3
- package/dist/media/index.d.ts.map +1 -1
- package/dist/media/index.js +4 -2
- package/dist/media/index.js.map +1 -1
- package/dist/media/media-config.d.ts +14 -0
- package/dist/media/media-config.d.ts.map +1 -1
- package/dist/media/media-config.js +8 -1
- package/dist/media/media-config.js.map +1 -1
- package/dist/media/serve-handler.d.ts +3 -1
- package/dist/media/serve-handler.d.ts.map +1 -1
- package/dist/media/serve-handler.js +39 -17
- package/dist/media/serve-handler.js.map +1 -1
- package/dist/media/storage-adapter.d.ts +10 -0
- package/dist/media/storage-adapter.d.ts.map +1 -0
- package/dist/media/storage-adapter.js +46 -0
- package/dist/media/storage-adapter.js.map +1 -0
- package/dist/media/upload-handler.d.ts +13 -1
- package/dist/media/upload-handler.d.ts.map +1 -1
- package/dist/media/upload-handler.js +140 -30
- package/dist/media/upload-handler.js.map +1 -1
- package/dist/scheduler.d.ts +7 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +14 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/schema/collection.d.ts +9 -1
- package/dist/schema/collection.d.ts.map +1 -1
- package/dist/schema/collection.js.map +1 -1
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/types.d.ts +5 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +4 -0
- package/dist/schema/types.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/zod-generator.d.ts +4 -0
- package/dist/validation/zod-generator.d.ts.map +1 -1
- package/dist/validation/zod-generator.js +12 -1
- package/dist/validation/zod-generator.js.map +1 -1
- package/package.json +5 -4
package/dist/api/local-api.js
CHANGED
|
@@ -1,13 +1,75 @@
|
|
|
1
|
-
import { errAsync } from 'neverthrow';
|
|
1
|
+
import { errAsync, okAsync } from 'neverthrow';
|
|
2
2
|
import { createQueryBuilder } from '../db/query-builder.js';
|
|
3
|
-
import { CmsErrorCode } from '../schema/types.js';
|
|
3
|
+
import { CmsErrorCode, StatusCode } from '../schema/types.js';
|
|
4
4
|
import { isValidIdentifier } from '../db/sql-sanitize.js';
|
|
5
5
|
import { safeQuery } from '../db/safe-query.js';
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { runHooks } from '../hooks/hook-runner.js';
|
|
7
|
+
function runAfterHooks(hooks, result, id, collectionSlug) {
|
|
8
|
+
if (hooks && hooks.length > 0) {
|
|
9
|
+
return runHooks(hooks, { data: result, id, collection: collectionSlug })
|
|
10
|
+
.map(() => result);
|
|
11
|
+
}
|
|
12
|
+
return okAsync(result);
|
|
13
|
+
}
|
|
14
|
+
function executeWithHooks(beforeHooks, afterHooks, data, id, collectionSlug, execute) {
|
|
15
|
+
const beforeResult = (beforeHooks && beforeHooks.length > 0)
|
|
16
|
+
? runHooks(beforeHooks, { data, id, collection: collectionSlug })
|
|
17
|
+
.andThen((hookData) => execute(hookData))
|
|
18
|
+
: execute(data);
|
|
19
|
+
return beforeResult.andThen((result) => runAfterHooks(afterHooks, result, id, collectionSlug));
|
|
20
|
+
}
|
|
21
|
+
function wrapLocalizedFields(data, fields, locale) {
|
|
22
|
+
const localizedNames = new Set(fields.filter(f => f.localized).map(f => f.name));
|
|
23
|
+
const wrapped = {};
|
|
24
|
+
for (const [key, value] of Object.entries(data)) {
|
|
25
|
+
if (localizedNames.has(key) && value !== null && value !== undefined) {
|
|
26
|
+
wrapped[key] = JSON.stringify({ [locale]: value });
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
wrapped[key] = value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return wrapped;
|
|
33
|
+
}
|
|
34
|
+
function mergeLocalizedUpdate(pool, slug, id, data, localizedNames, locale) {
|
|
35
|
+
if (!isValidIdentifier(slug)) {
|
|
36
|
+
return errAsync({ code: CmsErrorCode.INVALID_INPUT, message: `Invalid collection slug: ${slug}` });
|
|
37
|
+
}
|
|
38
|
+
if (!isValidIdentifier(locale)) {
|
|
39
|
+
return errAsync({ code: CmsErrorCode.INVALID_INPUT, message: `Invalid locale: ${locale}` });
|
|
40
|
+
}
|
|
41
|
+
const setClauses = [];
|
|
42
|
+
const params = [];
|
|
43
|
+
let paramIdx = 0;
|
|
44
|
+
for (const [key, value] of Object.entries(data)) {
|
|
45
|
+
if (!isValidIdentifier(key)) {
|
|
46
|
+
return errAsync({ code: CmsErrorCode.INVALID_INPUT, message: `Invalid field name: ${key}` });
|
|
47
|
+
}
|
|
48
|
+
paramIdx++;
|
|
49
|
+
if (localizedNames.has(key)) {
|
|
50
|
+
setClauses.push(`"${key}" = COALESCE("${key}", '{}'::jsonb) || jsonb_build_object('${locale}', $${paramIdx}::text)::jsonb`);
|
|
51
|
+
params.push(value);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
setClauses.push(`"${key}" = $${paramIdx}`);
|
|
55
|
+
params.push(value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
paramIdx++;
|
|
59
|
+
params.push(id);
|
|
60
|
+
const sql = `UPDATE "${slug}" SET ${setClauses.join(', ')} WHERE "id" = $${paramIdx} AND "deleted_at" IS NULL RETURNING *`;
|
|
61
|
+
return safeQuery(pool, sql, params)
|
|
62
|
+
.map(rows => rows[0]);
|
|
63
|
+
}
|
|
64
|
+
export function createLocalApi(pool, collections, globals, defaultLocale) {
|
|
65
|
+
const qb = createQueryBuilder(pool, collections, defaultLocale);
|
|
8
66
|
return {
|
|
9
67
|
find(args) {
|
|
10
68
|
let builder = qb.query(args.collection);
|
|
69
|
+
if (args.includeDrafts)
|
|
70
|
+
builder = builder.includeDrafts();
|
|
71
|
+
if (args.locale)
|
|
72
|
+
builder = builder.locale(args.locale);
|
|
11
73
|
if (args.where) {
|
|
12
74
|
for (const [k, v] of Object.entries(args.where)) {
|
|
13
75
|
builder = builder.where(k, v);
|
|
@@ -32,19 +94,49 @@ export function createLocalApi(pool, collections, globals) {
|
|
|
32
94
|
builder = builder.limit(args.limit);
|
|
33
95
|
return builder.all();
|
|
34
96
|
},
|
|
97
|
+
// findByID intentionally bypasses status filter — admin lookups need access to drafts
|
|
35
98
|
findByID(args) {
|
|
36
99
|
return qb.query(args.collection)
|
|
37
100
|
.where('id', args.id)
|
|
38
101
|
.first();
|
|
39
102
|
},
|
|
40
103
|
create(args) {
|
|
41
|
-
|
|
42
|
-
|
|
104
|
+
const col = collections.get(args.collection);
|
|
105
|
+
if (col.isErr())
|
|
106
|
+
return errAsync(col.error);
|
|
107
|
+
const isVersioned = col.value.versions?.drafts === true;
|
|
108
|
+
let data = isVersioned && args.draft
|
|
109
|
+
? { ...args.data, _status: StatusCode.DRAFT }
|
|
110
|
+
: isVersioned
|
|
111
|
+
? { ...args.data, _status: StatusCode.PUBLISHED }
|
|
112
|
+
: args.data;
|
|
113
|
+
if (args.locale) {
|
|
114
|
+
data = wrapLocalizedFields(data, col.value.fields, args.locale);
|
|
115
|
+
}
|
|
116
|
+
return qb.query(args.collection).insert(data);
|
|
43
117
|
},
|
|
44
118
|
update(args) {
|
|
119
|
+
const col = collections.get(args.collection);
|
|
120
|
+
if (col.isErr())
|
|
121
|
+
return errAsync(col.error);
|
|
122
|
+
const isVersioned = col.value.versions?.drafts === true;
|
|
123
|
+
let data = args.data;
|
|
124
|
+
if (isVersioned && args.publish) {
|
|
125
|
+
data = { ...data, _status: StatusCode.PUBLISHED };
|
|
126
|
+
}
|
|
127
|
+
else if (isVersioned && args.draft) {
|
|
128
|
+
data = { ...data, _status: StatusCode.DRAFT };
|
|
129
|
+
}
|
|
130
|
+
const localizedNames = new Set(col.value.fields.filter(f => f.localized).map(f => f.name));
|
|
131
|
+
if (args.locale && localizedNames.size > 0) {
|
|
132
|
+
return mergeLocalizedUpdate(pool, col.value.slug, args.id, data, localizedNames, args.locale);
|
|
133
|
+
}
|
|
134
|
+
if (isVersioned && args.publish && col.value.hooks) {
|
|
135
|
+
return executeWithHooks(col.value.hooks.beforePublish, col.value.hooks.afterPublish, data, args.id, args.collection, (finalData) => qb.query(args.collection).where('id', args.id).update(finalData));
|
|
136
|
+
}
|
|
45
137
|
return qb.query(args.collection)
|
|
46
138
|
.where('id', args.id)
|
|
47
|
-
.update(
|
|
139
|
+
.update(data);
|
|
48
140
|
},
|
|
49
141
|
delete(args) {
|
|
50
142
|
return qb.query(args.collection)
|
|
@@ -91,6 +183,19 @@ export function createLocalApi(pool, collections, globals) {
|
|
|
91
183
|
const table = `"global_${args.slug}"`;
|
|
92
184
|
return safeQuery(pool, `UPDATE ${table} SET ${setClauses} WHERE "deleted_at" IS NULL RETURNING *`, params)
|
|
93
185
|
.map(rows => rows[0]);
|
|
186
|
+
},
|
|
187
|
+
unpublish(args) {
|
|
188
|
+
const col = collections.get(args.collection);
|
|
189
|
+
if (col.isErr())
|
|
190
|
+
return errAsync(col.error);
|
|
191
|
+
const unpublishData = { _status: StatusCode.DRAFT };
|
|
192
|
+
if (col.value.hooks) {
|
|
193
|
+
return executeWithHooks(col.value.hooks.beforeUnpublish, col.value.hooks.afterUnpublish, unpublishData, args.id, args.collection, (finalData) => qb.query(args.collection).where('id', args.id).includeDrafts().update(finalData));
|
|
194
|
+
}
|
|
195
|
+
return qb.query(args.collection)
|
|
196
|
+
.where('id', args.id)
|
|
197
|
+
.includeDrafts()
|
|
198
|
+
.update(unpublishData);
|
|
94
199
|
}
|
|
95
200
|
};
|
|
96
201
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-api.js","sourceRoot":"","sources":["../../src/api/local-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-api.js","sourceRoot":"","sources":["../../src/api/local-api.ts"],"names":[],"mappings":"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"}
|
package/dist/api/rest-api.d.ts
CHANGED
|
@@ -8,5 +8,12 @@ export interface RestRouteEntry {
|
|
|
8
8
|
readonly PATCH?: RestRouteHandler | undefined;
|
|
9
9
|
readonly DELETE?: RestRouteHandler | undefined;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
interface LocalizationParam {
|
|
12
|
+
readonly defaultLocale: string;
|
|
13
|
+
readonly locales: readonly {
|
|
14
|
+
readonly code: string;
|
|
15
|
+
}[];
|
|
16
|
+
}
|
|
17
|
+
export declare function createRestRoutes(pool: DbPool, collections: CollectionRegistry, globals: GlobalRegistry, localization?: LocalizationParam): Map<string, RestRouteEntry>;
|
|
18
|
+
export {};
|
|
12
19
|
//# sourceMappingURL=rest-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-api.d.ts","sourceRoot":"","sources":["../../src/api/rest-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAS/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAExH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAC/C;
|
|
1
|
+
{"version":3,"file":"rest-api.d.ts","sourceRoot":"","sources":["../../src/api/rest-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAS/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAExH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAC/C;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACvD;AAiHD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CA8I7B"}
|
package/dist/api/rest-api.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createLocalApi } from './local-api.js';
|
|
2
2
|
import { sendJson, sendErrorJson, safeReadBody, safeJsonParse } from './http-utils.js';
|
|
3
|
-
import { generateZodSchema, generatePartialSchema } from '../validation/zod-generator.js';
|
|
3
|
+
import { generateZodSchema, generatePartialSchema, generateDraftSchema } from '../validation/zod-generator.js';
|
|
4
4
|
const SYSTEM_COLUMNS = new Set(['id', 'created_at', 'updated_at', 'deleted_at']);
|
|
5
|
-
const RESERVED_PARAMS = new Set(['search', 'sort', 'dir', 'page', 'limit']);
|
|
5
|
+
const RESERVED_PARAMS = new Set(['search', 'sort', 'dir', 'page', 'limit', 'draft', 'publish', 'locale']);
|
|
6
6
|
function requireJsonContentType(req, res) {
|
|
7
7
|
const ct = req.headers['content-type'] ?? '';
|
|
8
8
|
if (!ct.includes('application/json')) {
|
|
@@ -26,10 +26,13 @@ function getAllowedFields(col) {
|
|
|
26
26
|
allowed.add(sys);
|
|
27
27
|
return allowed;
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function parseUrlParams(url) {
|
|
30
30
|
const qmark = url.indexOf('?');
|
|
31
31
|
const qs = qmark >= 0 ? url.slice(qmark + 1) : '';
|
|
32
|
-
|
|
32
|
+
return new URLSearchParams(qs);
|
|
33
|
+
}
|
|
34
|
+
function parseQueryParams(url, col) {
|
|
35
|
+
const params = parseUrlParams(url);
|
|
33
36
|
const allowed = getAllowedFields(col);
|
|
34
37
|
const sortField = params.get('sort');
|
|
35
38
|
if (sortField !== null && !allowed.has(sortField)) {
|
|
@@ -42,6 +45,8 @@ function parseQueryParams(url, col) {
|
|
|
42
45
|
const limitRaw = params.get('limit');
|
|
43
46
|
const perPage = limitRaw !== null ? parseInt(limitRaw, 10) : 25;
|
|
44
47
|
const searchVal = params.get('search') ?? undefined;
|
|
48
|
+
const includeDrafts = params.get('draft') === 'true';
|
|
49
|
+
const localeVal = params.get('locale') ?? undefined;
|
|
45
50
|
const where = {};
|
|
46
51
|
for (const [key, value] of params.entries()) {
|
|
47
52
|
if (RESERVED_PARAMS.has(key))
|
|
@@ -58,16 +63,39 @@ function parseQueryParams(url, col) {
|
|
|
58
63
|
orderBy: sortField !== null ? { field: sortField, direction } : undefined,
|
|
59
64
|
page,
|
|
60
65
|
perPage,
|
|
61
|
-
filters: Object.keys(where).length > 0 ? where : undefined
|
|
66
|
+
filters: Object.keys(where).length > 0 ? where : undefined,
|
|
67
|
+
includeDrafts,
|
|
68
|
+
locale: localeVal
|
|
62
69
|
}
|
|
63
70
|
};
|
|
64
71
|
}
|
|
65
|
-
|
|
66
|
-
const
|
|
72
|
+
function parseLocaleFromUrl(url) {
|
|
73
|
+
const qmark = url.indexOf('?');
|
|
74
|
+
if (qmark < 0)
|
|
75
|
+
return undefined;
|
|
76
|
+
const params = new URLSearchParams(url.slice(qmark + 1));
|
|
77
|
+
return params.get('locale') ?? undefined;
|
|
78
|
+
}
|
|
79
|
+
function validateLocale(locale, validCodes, res) {
|
|
80
|
+
if (locale === undefined || validCodes === undefined)
|
|
81
|
+
return true;
|
|
82
|
+
if (!validCodes.has(locale)) {
|
|
83
|
+
sendErrorJson(res, `Invalid locale: ${locale}`, 400);
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
export function createRestRoutes(pool, collections, globals, localization) {
|
|
89
|
+
const api = createLocalApi(pool, collections, globals, localization?.defaultLocale);
|
|
67
90
|
const routes = new Map();
|
|
91
|
+
const validLocaleCodes = localization
|
|
92
|
+
? new Set(localization.locales.map(l => l.code))
|
|
93
|
+
: undefined;
|
|
68
94
|
for (const col of collections.getAll()) {
|
|
69
95
|
const slug = col.slug;
|
|
70
96
|
const zodSchema = generateZodSchema(col.fields);
|
|
97
|
+
const isVersioned = col.versions?.drafts === true;
|
|
98
|
+
const draftSchema = isVersioned ? generateDraftSchema(col.fields) : undefined;
|
|
71
99
|
routes.set(`/api/${slug}`, {
|
|
72
100
|
GET: async (req, res) => {
|
|
73
101
|
const url = req.url ?? `/${slug}`;
|
|
@@ -76,14 +104,18 @@ export function createRestRoutes(pool, collections, globals) {
|
|
|
76
104
|
sendErrorJson(res, parsed.message, 400);
|
|
77
105
|
return;
|
|
78
106
|
}
|
|
79
|
-
const { search, orderBy, page, perPage, filters } = parsed.args;
|
|
107
|
+
const { search, orderBy, page, perPage, filters, includeDrafts, locale } = parsed.args;
|
|
108
|
+
if (!validateLocale(locale, validLocaleCodes, res))
|
|
109
|
+
return;
|
|
80
110
|
const result = await api.find({
|
|
81
111
|
collection: slug,
|
|
112
|
+
locale,
|
|
82
113
|
search,
|
|
83
114
|
orderBy,
|
|
84
115
|
page,
|
|
85
116
|
perPage: page !== undefined ? perPage : undefined,
|
|
86
|
-
filters
|
|
117
|
+
filters,
|
|
118
|
+
includeDrafts
|
|
87
119
|
});
|
|
88
120
|
result.match((docs) => {
|
|
89
121
|
if (page !== undefined) {
|
|
@@ -97,6 +129,10 @@ export function createRestRoutes(pool, collections, globals) {
|
|
|
97
129
|
POST: async (req, res) => {
|
|
98
130
|
if (!requireJsonContentType(req, res))
|
|
99
131
|
return;
|
|
132
|
+
const url = req.url ?? `/${slug}`;
|
|
133
|
+
const locale = parseLocaleFromUrl(url);
|
|
134
|
+
if (!validateLocale(locale, validLocaleCodes, res))
|
|
135
|
+
return;
|
|
100
136
|
const bodyResult = await safeReadBody(req);
|
|
101
137
|
if (bodyResult.isErr()) {
|
|
102
138
|
sendErrorJson(res, bodyResult.error.message, 400);
|
|
@@ -107,13 +143,16 @@ export function createRestRoutes(pool, collections, globals) {
|
|
|
107
143
|
sendErrorJson(res, parseResult.error.message, 400);
|
|
108
144
|
return;
|
|
109
145
|
}
|
|
110
|
-
const
|
|
146
|
+
const urlParams = parseUrlParams(url);
|
|
147
|
+
const isDraft = urlParams.get('draft') === 'true';
|
|
148
|
+
const schema = isDraft && draftSchema !== undefined ? draftSchema : zodSchema;
|
|
149
|
+
const validation = schema.safeParse(parseResult.value);
|
|
111
150
|
if (!validation.success) {
|
|
112
151
|
const issues = validation.error.issues.map(i => `${i.path.join('.')}: ${i.message}`).join('; ');
|
|
113
152
|
sendErrorJson(res, `Validation failed: ${issues}`, 400);
|
|
114
153
|
return;
|
|
115
154
|
}
|
|
116
|
-
const result = await api.create({ collection: slug, data: parseResult.value });
|
|
155
|
+
const result = await api.create({ collection: slug, data: parseResult.value, draft: isDraft, locale });
|
|
117
156
|
result.match((doc) => sendJson(res, doc, 201), (err) => sendErrorJson(res, err.message, 400));
|
|
118
157
|
}
|
|
119
158
|
});
|
|
@@ -137,6 +176,10 @@ export function createRestRoutes(pool, collections, globals) {
|
|
|
137
176
|
sendErrorJson(res, 'Missing document ID', 400);
|
|
138
177
|
return;
|
|
139
178
|
}
|
|
179
|
+
const url = req.url ?? `/${slug}/${id}`;
|
|
180
|
+
const locale = parseLocaleFromUrl(url);
|
|
181
|
+
if (!validateLocale(locale, validLocaleCodes, res))
|
|
182
|
+
return;
|
|
140
183
|
const bodyResult = await safeReadBody(req);
|
|
141
184
|
if (bodyResult.isErr()) {
|
|
142
185
|
sendErrorJson(res, bodyResult.error.message, 400);
|
|
@@ -154,7 +197,17 @@ export function createRestRoutes(pool, collections, globals) {
|
|
|
154
197
|
sendErrorJson(res, `Validation failed: ${issues}`, 400);
|
|
155
198
|
return;
|
|
156
199
|
}
|
|
157
|
-
const
|
|
200
|
+
const urlParams = parseUrlParams(url);
|
|
201
|
+
const isDraft = urlParams.get('draft') === 'true';
|
|
202
|
+
const isPublish = urlParams.get('publish') === 'true';
|
|
203
|
+
const result = await api.update({
|
|
204
|
+
collection: slug,
|
|
205
|
+
id,
|
|
206
|
+
data: parseResult.value,
|
|
207
|
+
draft: isDraft,
|
|
208
|
+
publish: isPublish,
|
|
209
|
+
locale
|
|
210
|
+
});
|
|
158
211
|
result.match((doc) => sendJson(res, doc), (err) => sendErrorJson(res, err.message, 400));
|
|
159
212
|
},
|
|
160
213
|
DELETE: async (req, res) => {
|
|
@@ -168,6 +221,17 @@ export function createRestRoutes(pool, collections, globals) {
|
|
|
168
221
|
result.match((doc) => sendJson(res, doc), (err) => sendErrorJson(res, err.message, 500));
|
|
169
222
|
}
|
|
170
223
|
});
|
|
224
|
+
routes.set(`/api/${slug}/:id/unpublish`, {
|
|
225
|
+
POST: async (req, res, ctx) => {
|
|
226
|
+
const id = ctx.id ?? '';
|
|
227
|
+
if (!id) {
|
|
228
|
+
sendErrorJson(res, 'Missing document ID', 400);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const result = await api.unpublish({ collection: slug, id });
|
|
232
|
+
result.match((doc) => sendJson(res, doc), (err) => sendErrorJson(res, err.message, 400));
|
|
233
|
+
}
|
|
234
|
+
});
|
|
171
235
|
}
|
|
172
236
|
return routes;
|
|
173
237
|
}
|
package/dist/api/rest-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-api.js","sourceRoot":"","sources":["../../src/api/rest-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rest-api.js","sourceRoot":"","sources":["../../src/api/rest-api.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { isAuthEnabled, getAuthConfig, getAuthFields, injectAuthFields } from './auth-config.js';
|
|
2
2
|
export type { AuthConfig } from './auth-config.js';
|
|
3
3
|
export { hashPassword, verifyPassword } from './password.js';
|
|
4
|
-
export { createSession, validateSession, destroySession, destroyUserSessions, buildSessionCookie, buildExpiredSessionCookie } from './session.js';
|
|
4
|
+
export { createSession, DEFAULT_SESSION_MAX_AGE, validateSession, destroySession, destroyUserSessions, buildSessionCookie, buildExpiredSessionCookie } from './session.js';
|
|
5
5
|
export { createAuthMiddleware, createCmsAuthValidator, createCmsAuthGuard } from './middleware.js';
|
|
6
6
|
export type { AuthContext, AuthMiddleware, CmsAuthGuardOptions } from './middleware.js';
|
|
7
7
|
export { generateCsrfToken, validateCsrfToken } from './csrf.js';
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAChG,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAChG,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAE1K,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAClG,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAEvF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/auth/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { isAuthEnabled, getAuthConfig, getAuthFields, injectAuthFields } from './auth-config.js';
|
|
2
2
|
export { hashPassword, verifyPassword } from './password.js';
|
|
3
|
-
export { createSession, validateSession, destroySession, destroyUserSessions, buildSessionCookie, buildExpiredSessionCookie } from './session.js';
|
|
3
|
+
export { createSession, DEFAULT_SESSION_MAX_AGE, validateSession, destroySession, destroyUserSessions, buildSessionCookie, buildExpiredSessionCookie } from './session.js';
|
|
4
4
|
export { createAuthMiddleware, createCmsAuthValidator, createCmsAuthGuard } from './middleware.js';
|
|
5
5
|
export { generateCsrfToken, validateCsrfToken } from './csrf.js';
|
|
6
6
|
export { createAuthRoutes } from './auth-routes.js';
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAE1K,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGlG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/auth/session.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { ResultAsync } from 'neverthrow';
|
|
2
2
|
import type { DbPool } from '@valencets/db';
|
|
3
3
|
import type { CmsError } from '../schema/types.js';
|
|
4
|
-
|
|
4
|
+
/** Default session lifetime in seconds (2 hours). */
|
|
5
|
+
export declare const DEFAULT_SESSION_MAX_AGE = 7200;
|
|
6
|
+
/**
|
|
7
|
+
* Create a new session for the given user.
|
|
8
|
+
* @param maxAgeSeconds — session lifetime in seconds (default 7200 = 2 hours)
|
|
9
|
+
*/
|
|
10
|
+
export declare function createSession(userId: string, pool: DbPool, maxAgeSeconds?: number): ResultAsync<string, CmsError>;
|
|
5
11
|
export declare function validateSession(sessionId: string, pool: DbPool): ResultAsync<string, CmsError>;
|
|
6
12
|
export declare function buildSessionCookie(sessionId: string, maxAgeSeconds?: number, secure?: boolean): string;
|
|
7
13
|
export declare function buildExpiredSessionCookie(secure?: boolean): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AASlD,wBAAgB,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AASlD,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,OAAO,CAAA;AAE3C;;;GAGG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,SAA0B,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAanI;AAED,wBAAgB,eAAe,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAY/F;AAED,wBAAgB,kBAAkB,CAAE,SAAS,EAAE,MAAM,EAAE,aAAa,SAA0B,EAAE,MAAM,UAAO,GAAG,MAAM,CAGrH;AAED,wBAAgB,yBAAyB,CAAE,MAAM,UAAO,GAAG,MAAM,CAGhE;AAED,wBAAgB,mBAAmB,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAM9F;AAED,wBAAgB,cAAc,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAM5F"}
|
package/dist/auth/session.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { errAsync, okAsync } from 'neverthrow';
|
|
2
2
|
import { CmsErrorCode } from '../schema/types.js';
|
|
3
3
|
import { safeQuery } from '../db/safe-query.js';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/** Default session lifetime in seconds (2 hours). */
|
|
5
|
+
export const DEFAULT_SESSION_MAX_AGE = 7200;
|
|
6
|
+
/**
|
|
7
|
+
* Create a new session for the given user.
|
|
8
|
+
* @param maxAgeSeconds — session lifetime in seconds (default 7200 = 2 hours)
|
|
9
|
+
*/
|
|
10
|
+
export function createSession(userId, pool, maxAgeSeconds = DEFAULT_SESSION_MAX_AGE) {
|
|
11
|
+
const intervalSec = Math.max(60, Math.floor(maxAgeSeconds));
|
|
12
|
+
return safeQuery(pool, 'INSERT INTO cms_sessions (user_id, expires_at) VALUES ($1, NOW() + make_interval(secs => $2)) RETURNING id, user_id', [userId, intervalSec]).andThen((rows) => {
|
|
6
13
|
const row = rows[0];
|
|
7
14
|
if (!row) {
|
|
8
15
|
return errAsync({ code: CmsErrorCode.INTERNAL, message: 'No session returned' });
|
|
@@ -19,7 +26,7 @@ export function validateSession(sessionId, pool) {
|
|
|
19
26
|
return okAsync(row.user_id);
|
|
20
27
|
});
|
|
21
28
|
}
|
|
22
|
-
export function buildSessionCookie(sessionId, maxAgeSeconds =
|
|
29
|
+
export function buildSessionCookie(sessionId, maxAgeSeconds = DEFAULT_SESSION_MAX_AGE, secure = true) {
|
|
23
30
|
const secureFlag = secure ? '; Secure' : '';
|
|
24
31
|
return `cms_session=${sessionId}; Path=/; HttpOnly; SameSite=Strict${secureFlag}; Max-Age=${maxAgeSeconds}`;
|
|
25
32
|
}
|
package/dist/auth/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQ/C,MAAM,UAAU,aAAa,CAAE,MAAc,EAAE,IAAY;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQ/C,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAE3C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAE,MAAc,EAAE,IAAY,EAAE,aAAa,GAAG,uBAAuB;IAClG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;IAC3D,OAAO,SAAS,CACd,IAAI,EACJ,qHAAqH,EACrH,CAAC,MAAM,EAAE,WAAW,CAAC,CACtB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,SAAiB,EAAE,IAAY;IAC9D,OAAO,SAAS,CACd,IAAI,EACJ,8GAA8G,EAC9G,CAAC,SAAS,CAAC,CACZ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;QAC5F,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAE,SAAiB,EAAE,aAAa,GAAG,uBAAuB,EAAE,MAAM,GAAG,IAAI;IAC3G,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3C,OAAO,eAAe,SAAS,sCAAsC,UAAU,aAAa,aAAa,EAAE,CAAA;AAC7G,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAE,MAAM,GAAG,IAAI;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3C,OAAO,kDAAkD,UAAU,aAAa,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,MAAc,EAAE,IAAY;IAC/D,OAAO,SAAS,CACd,IAAI,EACJ,sFAAsF,EACtF,CAAC,MAAM,CAAC,CACT,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAAE,SAAiB,EAAE,IAAY;IAC7D,OAAO,SAAS,CACd,IAAI,EACJ,uEAAuE,EACvE,CAAC,SAAS,CAAC,CACZ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACxB,CAAC"}
|
|
@@ -7,6 +7,15 @@ import type { LocalApi } from '../api/local-api.js';
|
|
|
7
7
|
import type { Plugin } from './plugin.js';
|
|
8
8
|
import type { CmsError } from '../schema/types.js';
|
|
9
9
|
import type { RestRouteEntry } from '../api/rest-api.js';
|
|
10
|
+
export interface LocaleConfig {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly label: string;
|
|
13
|
+
}
|
|
14
|
+
export interface LocalizationConfig {
|
|
15
|
+
readonly defaultLocale: string;
|
|
16
|
+
readonly locales: readonly LocaleConfig[];
|
|
17
|
+
readonly fallback?: boolean | undefined;
|
|
18
|
+
}
|
|
10
19
|
export interface CmsConfig {
|
|
11
20
|
readonly db: DbPool;
|
|
12
21
|
readonly secret: string;
|
|
@@ -16,7 +25,10 @@ export interface CmsConfig {
|
|
|
16
25
|
readonly uploadDir?: string | undefined;
|
|
17
26
|
readonly requireAuth?: boolean | undefined;
|
|
18
27
|
readonly telemetryPool?: DbPool | undefined;
|
|
28
|
+
readonly telemetrySiteId?: string | undefined;
|
|
29
|
+
readonly sessionMaxAge?: number | undefined;
|
|
19
30
|
readonly headTags?: readonly string[] | undefined;
|
|
31
|
+
readonly localization?: LocalizationConfig | undefined;
|
|
20
32
|
}
|
|
21
33
|
export interface CmsInstance {
|
|
22
34
|
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;
|
|
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;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAWxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACxC;AAED,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,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;CACvD;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,CAgE/E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ok, err } from 'neverthrow';
|
|
2
|
+
import { CmsErrorCode } from '../schema/types.js';
|
|
2
3
|
import { createCollectionRegistry, createGlobalRegistry } from '../schema/registry.js';
|
|
3
4
|
import { createLocalApi } from '../api/local-api.js';
|
|
4
5
|
import { createRestRoutes } from '../api/rest-api.js';
|
|
@@ -12,6 +13,15 @@ export function buildCms(inputConfig) {
|
|
|
12
13
|
const config = inputConfig.plugins
|
|
13
14
|
? inputConfig.plugins.reduce((cfg, plugin) => plugin(cfg), inputConfig)
|
|
14
15
|
: inputConfig;
|
|
16
|
+
if (config.localization) {
|
|
17
|
+
if (config.localization.locales.length === 0) {
|
|
18
|
+
return err({ code: CmsErrorCode.INVALID_INPUT, message: 'localization.locales must contain at least one locale' });
|
|
19
|
+
}
|
|
20
|
+
const localeExists = config.localization.locales.some(l => l.code === config.localization?.defaultLocale);
|
|
21
|
+
if (!localeExists) {
|
|
22
|
+
return err({ code: CmsErrorCode.INVALID_INPUT, message: `defaultLocale "${config.localization.defaultLocale}" must exist in the locales array` });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
15
25
|
const collections = createCollectionRegistry();
|
|
16
26
|
const globals = createGlobalRegistry();
|
|
17
27
|
for (const col of config.collections) {
|
|
@@ -27,9 +37,9 @@ export function buildCms(inputConfig) {
|
|
|
27
37
|
return err(result.error);
|
|
28
38
|
}
|
|
29
39
|
}
|
|
30
|
-
const api = createLocalApi(config.db, collections, globals);
|
|
31
|
-
const restRoutes = createRestRoutes(config.db, collections, globals);
|
|
32
|
-
const adminRoutes = createAdminRoutes(config.db, collections, { requireAuth: config.requireAuth, telemetryPool: config.telemetryPool, headTags: config.headTags });
|
|
40
|
+
const api = createLocalApi(config.db, collections, globals, config.localization?.defaultLocale);
|
|
41
|
+
const restRoutes = createRestRoutes(config.db, collections, globals, config.localization);
|
|
42
|
+
const adminRoutes = createAdminRoutes(config.db, collections, { requireAuth: config.requireAuth, telemetryPool: config.telemetryPool, telemetrySiteId: config.telemetrySiteId, sessionMaxAge: config.sessionMaxAge, headTags: config.headTags });
|
|
33
43
|
const hasAuthCollection = config.collections.some(c => isAuthEnabled(c));
|
|
34
44
|
if (hasAuthCollection) {
|
|
35
45
|
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;
|
|
1
|
+
{"version":3,"file":"cms-config.js","sourceRoot":"","sources":["../../src/config/cms-config.ts"],"names":[],"mappings":"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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { buildCms } from './cms-config.js';
|
|
2
|
-
export type { CmsConfig, CmsInstance } from './cms-config.js';
|
|
2
|
+
export type { CmsConfig, CmsInstance, LocaleConfig, LocalizationConfig } from './cms-config.js';
|
|
3
3
|
export type { Plugin } from './plugin.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|