@oktis-works/core 0.14.1 → 0.15.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/content/service.d.ts.map +1 -1
- package/dist/content/service.js +104 -52
- package/dist/content/service.js.map +1 -1
- package/dist/fields/service.d.ts +15 -10
- package/dist/fields/service.d.ts.map +1 -1
- package/dist/fields/service.js +114 -46
- package/dist/fields/service.js.map +1 -1
- package/dist/media/service.d.ts.map +1 -1
- package/dist/media/service.js +8 -2
- package/dist/media/service.js.map +1 -1
- package/dist/plugin/load.d.ts +6 -3
- package/dist/plugin/load.d.ts.map +1 -1
- package/dist/plugin/load.js +28 -11
- package/dist/plugin/load.js.map +1 -1
- package/dist/plugin/service.d.ts.map +1 -1
- package/dist/plugin/service.js +54 -25
- package/dist/plugin/service.js.map +1 -1
- package/package.json +5 -5
package/dist/fields/service.js
CHANGED
|
@@ -4,6 +4,7 @@ import { getConnection } from '@oktis-works/database';
|
|
|
4
4
|
import { matchLocationRules } from './location-rules.js';
|
|
5
5
|
import { findConditionalIssues } from './conditional.js';
|
|
6
6
|
import { validateContentData } from './validation.js';
|
|
7
|
+
import { findFieldPathIssues } from '@oktis-works/validation';
|
|
7
8
|
const REQUIRED_CORE_FIELDS = new Set(['title', 'slug']);
|
|
8
9
|
const DEFAULT_CORE_FIELDS = [
|
|
9
10
|
'title',
|
|
@@ -28,9 +29,13 @@ export class FieldGroupService {
|
|
|
28
29
|
async list() {
|
|
29
30
|
const sql = getConnection();
|
|
30
31
|
const rows = await sql.unsafe(`SELECT fg.*, (SELECT COUNT(*) FROM field_definitions fd WHERE fd.group_id = fg.id) as field_count
|
|
31
|
-
FROM field_groups fg
|
|
32
|
+
FROM field_groups fg
|
|
33
|
+
WHERE fg.tenant_id = current_setting('app.current_tenant_id', true)::uuid
|
|
34
|
+
OR fg.tenant_id IS NULL
|
|
35
|
+
ORDER BY fg.title ASC`);
|
|
32
36
|
return rows.map((row) => ({
|
|
33
37
|
id: String(row['id']),
|
|
38
|
+
tenantId: row['tenant_id'] ?? null,
|
|
34
39
|
title: String(row['title']),
|
|
35
40
|
key: String(row['key']),
|
|
36
41
|
locationRules: row['location_rules'] ?? [],
|
|
@@ -43,7 +48,9 @@ export class FieldGroupService {
|
|
|
43
48
|
}
|
|
44
49
|
async getById(id) {
|
|
45
50
|
const sql = getConnection();
|
|
46
|
-
const rows = await sql.unsafe(
|
|
51
|
+
const rows = await sql.unsafe(`SELECT * FROM field_groups
|
|
52
|
+
WHERE id = $1
|
|
53
|
+
AND (tenant_id = current_setting('app.current_tenant_id', true)::uuid OR tenant_id IS NULL)`, [id]);
|
|
47
54
|
const group = rows[0];
|
|
48
55
|
if (!group)
|
|
49
56
|
return null;
|
|
@@ -52,7 +59,11 @@ export class FieldGroupService {
|
|
|
52
59
|
}
|
|
53
60
|
async getByKey(key) {
|
|
54
61
|
const sql = getConnection();
|
|
55
|
-
const rows = await sql.unsafe(
|
|
62
|
+
const rows = await sql.unsafe(`SELECT * FROM field_groups
|
|
63
|
+
WHERE key = $1
|
|
64
|
+
AND (tenant_id = current_setting('app.current_tenant_id', true)::uuid OR tenant_id IS NULL)
|
|
65
|
+
ORDER BY tenant_id NULLS LAST
|
|
66
|
+
LIMIT 1`, [key]);
|
|
56
67
|
const group = rows[0];
|
|
57
68
|
if (!group)
|
|
58
69
|
return null;
|
|
@@ -64,9 +75,10 @@ export class FieldGroupService {
|
|
|
64
75
|
this.validateFields(input.fields);
|
|
65
76
|
const id = randomUUID();
|
|
66
77
|
const key = input.key ?? `group_${slugifyKey(input.title)}_${Date.now().toString(36)}`;
|
|
67
|
-
await sql.unsafe(`INSERT INTO field_groups (id, title, key, location_rules, position, display_style, active, metadata)
|
|
68
|
-
VALUES ($1, $2, $3, $4
|
|
78
|
+
await sql.unsafe(`INSERT INTO field_groups (id, tenant_id, title, key, location_rules, position, display_style, active, metadata)
|
|
79
|
+
VALUES ($1, $2, $3, $4, $5::jsonb, $6, $7, $8, $9::jsonb)`, [
|
|
69
80
|
id,
|
|
81
|
+
input.tenantId ?? null,
|
|
70
82
|
input.title,
|
|
71
83
|
key,
|
|
72
84
|
input.locationRules ?? [],
|
|
@@ -87,6 +99,9 @@ export class FieldGroupService {
|
|
|
87
99
|
if (!existing)
|
|
88
100
|
return null;
|
|
89
101
|
this.validateFields(patch.fields);
|
|
102
|
+
if (existing.tenantId === null && patch.tenantId) {
|
|
103
|
+
throw new Error('Platform-global field groups are read-only for tenant requests');
|
|
104
|
+
}
|
|
90
105
|
await sql.unsafe(`UPDATE field_groups SET
|
|
91
106
|
title = $1,
|
|
92
107
|
location_rules = $2::jsonb,
|
|
@@ -113,27 +128,44 @@ export class FieldGroupService {
|
|
|
113
128
|
}
|
|
114
129
|
return this.getById(id);
|
|
115
130
|
}
|
|
116
|
-
async delete(id) {
|
|
131
|
+
async delete(id, tenantId) {
|
|
117
132
|
const sql = getConnection();
|
|
118
|
-
const result = await sql.unsafe(
|
|
133
|
+
const result = await sql.unsafe(`DELETE FROM field_groups
|
|
134
|
+
WHERE id = $1
|
|
135
|
+
AND tenant_id = COALESCE($2::uuid, current_setting('app.current_tenant_id', true)::uuid)
|
|
136
|
+
RETURNING id`, [id, tenantId ?? null]);
|
|
119
137
|
return result.length > 0;
|
|
120
138
|
}
|
|
139
|
+
/** Removes only the field groups owned by a plugin in one runtime scope. */
|
|
140
|
+
async removePluginFields(pluginName, tenantId) {
|
|
141
|
+
const sql = getConnection();
|
|
142
|
+
const result = await sql.unsafe(tenantId === null
|
|
143
|
+
? `DELETE FROM field_groups
|
|
144
|
+
WHERE metadata->>'pluginName' = $1
|
|
145
|
+
AND (metadata->>'tenantId' IS NULL OR metadata->>'tenantId' = 'platform')
|
|
146
|
+
RETURNING id`
|
|
147
|
+
: `DELETE FROM field_groups
|
|
148
|
+
WHERE metadata->>'pluginName' = $1
|
|
149
|
+
AND metadata->>'tenantId' = $2
|
|
150
|
+
RETURNING id`, tenantId === null ? [pluginName] : [pluginName, tenantId]);
|
|
151
|
+
return result.length;
|
|
152
|
+
}
|
|
121
153
|
async resolveGroupsByLocation(context) {
|
|
122
154
|
const all = await this.list();
|
|
123
|
-
const
|
|
155
|
+
const positionOrder = { after_title: 0, normal: 1, side: 2 };
|
|
156
|
+
const matchingSummaries = all
|
|
157
|
+
.filter((summary) => summary.active && matchLocationRules(summary.locationRules ?? [], context))
|
|
158
|
+
.sort((left, right) => (positionOrder[left.position ?? 'normal'] ?? 1) - (positionOrder[right.position ?? 'normal'] ?? 1));
|
|
124
159
|
const enabledCoreFields = context.contentType
|
|
125
160
|
? await this.getEnabledCoreFields(context.contentType)
|
|
126
161
|
: null;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
matching.push(enabledCoreFields ? this.filterCoreFields(full, enabledCoreFields) : full);
|
|
135
|
-
}
|
|
136
|
-
return matching;
|
|
162
|
+
const fieldsByGroupId = await this.getDefinitionTrees(matchingSummaries.map((summary) => summary.id));
|
|
163
|
+
const resolved = matchingSummaries.map((summary) => {
|
|
164
|
+
const group = this.rowToGroup(summary, fieldsByGroupId.get(summary.id) ?? []);
|
|
165
|
+
return enabledCoreFields ? this.filterCoreFields(group, enabledCoreFields) : group;
|
|
166
|
+
});
|
|
167
|
+
this.validateResolvedValueNamespace(resolved);
|
|
168
|
+
return resolved;
|
|
137
169
|
}
|
|
138
170
|
async toValidatableFields(groups) {
|
|
139
171
|
const fields = [];
|
|
@@ -143,32 +175,16 @@ export class FieldGroupService {
|
|
|
143
175
|
return fields;
|
|
144
176
|
}
|
|
145
177
|
/**
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* que já trata visibilidade condicional, tipos layout-only, required,
|
|
150
|
-
* repeaters, layouts, grupos e expansão de clone. Campos core (title/slug/…)
|
|
151
|
-
* são removidos antes: seus valores vivem em colunas próprias, não no body.
|
|
178
|
+
* Validates the complete logical value map against the active definitions
|
|
179
|
+
* for a context. Physical storage remains compatible with native columns,
|
|
180
|
+
* but core and custom fields share the same validation pipeline.
|
|
152
181
|
*/
|
|
153
182
|
async validateValues(context, values) {
|
|
154
183
|
const groups = await this.resolveGroupsByLocation(context);
|
|
155
|
-
const fields = groups.flatMap((group) =>
|
|
184
|
+
const fields = groups.flatMap((group) => group.fields);
|
|
156
185
|
const { errors } = validateContentData(fields.map((field) => this.toValidatable(field)), values);
|
|
157
186
|
return errors.map((error) => error.message);
|
|
158
187
|
}
|
|
159
|
-
/** Remove campos core (recursivamente) — não são valores do body. */
|
|
160
|
-
stripCoreFields(fields) {
|
|
161
|
-
return fields
|
|
162
|
-
.filter((field) => !field.isCoreField)
|
|
163
|
-
.map((field) => ({
|
|
164
|
-
...field,
|
|
165
|
-
subFields: this.stripCoreFields(field.subFields),
|
|
166
|
-
layouts: field.layouts.map((layout) => ({
|
|
167
|
-
...layout,
|
|
168
|
-
subFields: this.stripCoreFields(layout.subFields),
|
|
169
|
-
})),
|
|
170
|
-
}));
|
|
171
|
-
}
|
|
172
188
|
toValidatable(field) {
|
|
173
189
|
return {
|
|
174
190
|
type: field.type,
|
|
@@ -210,7 +226,20 @@ export class FieldGroupService {
|
|
|
210
226
|
const flat = this.flattenForValidation(fields);
|
|
211
227
|
const issues = findConditionalIssues(flat);
|
|
212
228
|
if (issues.length > 0) {
|
|
213
|
-
throw new Error(`
|
|
229
|
+
throw new Error(`Invalid conditional logic: ${issues.map((issue) => `${issue.field}: ${issue.issue}`).join('; ')}`);
|
|
230
|
+
}
|
|
231
|
+
const namespaceIssues = findFieldPathIssues(fields);
|
|
232
|
+
if (namespaceIssues.length > 0)
|
|
233
|
+
throw new Error(namespaceIssues.join('; '));
|
|
234
|
+
}
|
|
235
|
+
validateResolvedValueNamespace(groups) {
|
|
236
|
+
const names = new Set();
|
|
237
|
+
for (const group of groups) {
|
|
238
|
+
for (const field of group.fields) {
|
|
239
|
+
if (names.has(field.name))
|
|
240
|
+
throw new Error(`Duplicate resolved field name "${field.name}"`);
|
|
241
|
+
names.add(field.name);
|
|
242
|
+
}
|
|
214
243
|
}
|
|
215
244
|
}
|
|
216
245
|
async getEnabledCoreFields(contentType) {
|
|
@@ -375,8 +404,16 @@ export class FieldGroupService {
|
|
|
375
404
|
return id;
|
|
376
405
|
}
|
|
377
406
|
async getDefinitionTree(groupId) {
|
|
407
|
+
const trees = await this.getDefinitionTrees([groupId]);
|
|
408
|
+
return trees.get(groupId) ?? [];
|
|
409
|
+
}
|
|
410
|
+
/** Loads all definitions and flexible layouts for a set of groups in two queries. */
|
|
411
|
+
async getDefinitionTrees(groupIds) {
|
|
412
|
+
const trees = new Map();
|
|
413
|
+
if (groupIds.length === 0)
|
|
414
|
+
return trees;
|
|
378
415
|
const sql = getConnection();
|
|
379
|
-
const rows = await sql.unsafe('SELECT * FROM field_definitions WHERE group_id = $1 ORDER BY sort_order ASC', [
|
|
416
|
+
const rows = await sql.unsafe('SELECT * FROM field_definitions WHERE group_id = ANY($1::uuid[]) ORDER BY group_id, sort_order ASC', [groupIds]);
|
|
380
417
|
const rawDefinitions = rows;
|
|
381
418
|
const definitionsById = new Map();
|
|
382
419
|
const parentIdByDefId = new Map();
|
|
@@ -389,8 +426,8 @@ export class FieldGroupService {
|
|
|
389
426
|
}
|
|
390
427
|
const layoutRows = await sql.unsafe(`SELECT fl.* FROM flexible_layouts fl
|
|
391
428
|
JOIN field_definitions fd ON fd.id = fl.field_id
|
|
392
|
-
WHERE fd.group_id = $1
|
|
393
|
-
ORDER BY fl.sort_order ASC`, [
|
|
429
|
+
WHERE fd.group_id = ANY($1::uuid[])
|
|
430
|
+
ORDER BY fd.group_id, fl.sort_order ASC`, [groupIds]);
|
|
394
431
|
const layoutMetaById = new Map();
|
|
395
432
|
const ownerIdByLayoutId = new Map();
|
|
396
433
|
for (const row of layoutRows) {
|
|
@@ -398,7 +435,7 @@ export class FieldGroupService {
|
|
|
398
435
|
layoutMetaById.set(layoutId, row);
|
|
399
436
|
ownerIdByLayoutId.set(layoutId, String(row['field_id']));
|
|
400
437
|
}
|
|
401
|
-
const
|
|
438
|
+
const rootsByGroupId = new Map();
|
|
402
439
|
for (const row of rawDefinitions) {
|
|
403
440
|
const id = String(row['id']);
|
|
404
441
|
const definition = definitionsById.get(id);
|
|
@@ -430,9 +467,14 @@ export class FieldGroupService {
|
|
|
430
467
|
continue;
|
|
431
468
|
}
|
|
432
469
|
}
|
|
470
|
+
const groupId = String(row['group_id']);
|
|
471
|
+
const roots = rootsByGroupId.get(groupId) ?? [];
|
|
433
472
|
roots.push(definition);
|
|
473
|
+
rootsByGroupId.set(groupId, roots);
|
|
434
474
|
}
|
|
435
|
-
|
|
475
|
+
for (const groupId of groupIds)
|
|
476
|
+
trees.set(groupId, rootsByGroupId.get(groupId) ?? []);
|
|
477
|
+
return trees;
|
|
436
478
|
}
|
|
437
479
|
rowToDefinition(row) {
|
|
438
480
|
const rawConfig = row['config'] ?? {};
|
|
@@ -458,6 +500,7 @@ export class FieldGroupService {
|
|
|
458
500
|
rowToGroup(row, fields) {
|
|
459
501
|
return {
|
|
460
502
|
id: String(row['id']),
|
|
503
|
+
tenantId: row['tenant_id'] ?? null,
|
|
461
504
|
title: String(row['title']),
|
|
462
505
|
key: String(row['key']),
|
|
463
506
|
locationRules: row['location_rules'] ?? [],
|
|
@@ -492,7 +535,9 @@ export class FieldTypeExtensionService {
|
|
|
492
535
|
admin_renderer_path = EXCLUDED.admin_renderer_path,
|
|
493
536
|
config_schema = EXCLUDED.config_schema,
|
|
494
537
|
lazy = EXCLUDED.lazy,
|
|
495
|
-
updated_at = NOW()
|
|
538
|
+
updated_at = NOW()
|
|
539
|
+
WHERE field_type_extensions.plugin_name = EXCLUDED.plugin_name
|
|
540
|
+
RETURNING type`, [
|
|
496
541
|
definition.pluginName,
|
|
497
542
|
definition.type,
|
|
498
543
|
definition.label,
|
|
@@ -505,6 +550,22 @@ export class FieldTypeExtensionService {
|
|
|
505
550
|
definition.configSchema ? JSON.stringify(definition.configSchema) : null,
|
|
506
551
|
definition.lazy ?? false,
|
|
507
552
|
]);
|
|
553
|
+
const existing = await sql.unsafe('SELECT plugin_name FROM field_type_extensions WHERE type = $1', [definition.type]);
|
|
554
|
+
const owner = existing[0]?.plugin_name;
|
|
555
|
+
if (owner && owner !== definition.pluginName) {
|
|
556
|
+
throw new Error(`Field type "${definition.type}" is already owned by plugin "${owner}"`);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
/** Reconciles stale declarations after a plugin update. */
|
|
560
|
+
async reconcilePlugin(pluginName, definitions) {
|
|
561
|
+
const current = await this.listForPlugin(pluginName);
|
|
562
|
+
const next = new Set(definitions.map((definition) => definition.type));
|
|
563
|
+
for (const existing of current) {
|
|
564
|
+
if (!next.has(existing.type))
|
|
565
|
+
await this.unregister(pluginName, existing.type);
|
|
566
|
+
}
|
|
567
|
+
for (const definition of definitions)
|
|
568
|
+
await this.register(definition);
|
|
508
569
|
}
|
|
509
570
|
/**
|
|
510
571
|
* Unregister a field type by plugin name and type.
|
|
@@ -594,7 +655,14 @@ export class FieldTypeExtensionService {
|
|
|
594
655
|
*/
|
|
595
656
|
async syncToRegistry(options) {
|
|
596
657
|
const types = await this.listAll();
|
|
597
|
-
const { registerFieldType } = await import('./types/registry.js');
|
|
658
|
+
const { getPluginFieldTypes, registerFieldType, unregisterFieldType } = await import('./types/registry.js');
|
|
659
|
+
const persisted = new Set(types.map((type) => type.type));
|
|
660
|
+
// Remove declarations deleted from a plugin manifest. Built-in field
|
|
661
|
+
// types are never touched by this reconciliation pass.
|
|
662
|
+
for (const current of getPluginFieldTypes()) {
|
|
663
|
+
if (!persisted.has(current.type))
|
|
664
|
+
unregisterFieldType(current.type);
|
|
665
|
+
}
|
|
598
666
|
for (const type of types) {
|
|
599
667
|
if (type.lazy && !options?.includeLazy)
|
|
600
668
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/fields/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/fields/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/media/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,qBAAa,YAAY;IACjB,IAAI,CAAC,OAAO,EAAE;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/media/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,qBAAa,YAAY;IACjB,IAAI,CAAC,OAAO,EAAE;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAM1C,MAAM,CAAC,KAAK,EAAE;QAClB,2EAA2E;QAC3E,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,KAAK,CAAC;IA6BZ,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA2ClB,WAAW,CACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACrF,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAgBlB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAU3C;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
package/dist/media/service.js
CHANGED
|
@@ -8,8 +8,14 @@ export class MediaService {
|
|
|
8
8
|
let whereClause = 'WHERE 1=1';
|
|
9
9
|
const params = [];
|
|
10
10
|
if (mimeType) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (mimeType.endsWith('/*')) {
|
|
12
|
+
whereClause += ` AND mime_type LIKE $${params.length + 1}`;
|
|
13
|
+
params.push(`${mimeType.slice(0, -1)}%`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
whereClause += ` AND mime_type = $${params.length + 1}`;
|
|
17
|
+
params.push(mimeType);
|
|
18
|
+
}
|
|
13
19
|
}
|
|
14
20
|
if (search) {
|
|
15
21
|
whereClause += ` AND (filename ILIKE $${params.length + 1} OR alt ILIKE $${params.length + 2})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/media/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,MAAM,OAAO,YAAY;IACvB,KAAK,CAAC,IAAI,CAAC,OAKV;QACC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3D,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAElC,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,IAAI,qBAAqB,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/media/service.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/load.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RouteDefinition, PluginBootstrapResult } from '@oktis-works/plugin-runtime';
|
|
1
|
+
import type { RouteDefinition, PluginAPI, PluginBootstrapResult } from '@oktis-works/plugin-runtime';
|
|
2
2
|
import type { AdminExtensionsState, PluginBlockManifest, PluginPatternManifest } from '@oktis-works/types';
|
|
3
3
|
import type { EnqueuedAsset, PluginHealthCheck } from '@oktis-works/plugin-sdk';
|
|
4
4
|
/** Plugin job handler (dispatched by the worker). */
|
|
@@ -86,13 +86,16 @@ export interface PluginsRuntimeState {
|
|
|
86
86
|
export interface PluginRouteEntry {
|
|
87
87
|
pluginName: string;
|
|
88
88
|
routes: RouteDefinition[];
|
|
89
|
+
api: PluginAPI;
|
|
90
|
+
scope: string;
|
|
91
|
+
tenantId: string | null;
|
|
89
92
|
/** rpm do rate limit por plugin (manifest rateLimit.rpm, Item 17). */
|
|
90
93
|
rpm?: number;
|
|
91
94
|
}
|
|
92
95
|
/** Registra rotas de um plugin (chamado durante bootstrap). */
|
|
93
|
-
export declare function registerPluginRoutes(pluginName: string, routes: RouteDefinition[], rpm?: number): void;
|
|
96
|
+
export declare function registerPluginRoutes(pluginName: string, routes: RouteDefinition[], api: PluginAPI, scope: string, tenantId: string | null, rpm?: number): void;
|
|
94
97
|
/** Remove rotas de um plugin (quando desativado/desinstalado). */
|
|
95
|
-
export declare function unregisterPluginRoutes(pluginName: string): boolean;
|
|
98
|
+
export declare function unregisterPluginRoutes(pluginName: string, scope?: string): boolean;
|
|
96
99
|
/** Gets every route registered for mounting on the API router. */
|
|
97
100
|
export declare function getRegisteredPluginRoutes(): PluginRouteEntry[];
|
|
98
101
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/plugin/load.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAkD,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/plugin/load.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/load.js
CHANGED
|
@@ -150,14 +150,21 @@ export async function getPluginHealthChecks(tenantId) {
|
|
|
150
150
|
}
|
|
151
151
|
const pluginRoutesRegistry = new Map();
|
|
152
152
|
/** Registra rotas de um plugin (chamado durante bootstrap). */
|
|
153
|
-
export function registerPluginRoutes(pluginName, routes, rpm) {
|
|
153
|
+
export function registerPluginRoutes(pluginName, routes, api, scope, tenantId, rpm) {
|
|
154
154
|
if (routes.length === 0)
|
|
155
155
|
return;
|
|
156
|
-
pluginRoutesRegistry.set(pluginName
|
|
156
|
+
pluginRoutesRegistry.set(`${scope}:${pluginName}`, { pluginName, routes, api, scope, tenantId, ...(rpm ? { rpm } : {}) });
|
|
157
157
|
}
|
|
158
158
|
/** Remove rotas de um plugin (quando desativado/desinstalado). */
|
|
159
|
-
export function unregisterPluginRoutes(pluginName) {
|
|
160
|
-
|
|
159
|
+
export function unregisterPluginRoutes(pluginName, scope) {
|
|
160
|
+
if (scope)
|
|
161
|
+
return pluginRoutesRegistry.delete(`${scope}:${pluginName}`);
|
|
162
|
+
let removed = false;
|
|
163
|
+
for (const key of [...pluginRoutesRegistry.keys()]) {
|
|
164
|
+
if (key.endsWith(`:${pluginName}`))
|
|
165
|
+
removed = pluginRoutesRegistry.delete(key) || removed;
|
|
166
|
+
}
|
|
167
|
+
return removed;
|
|
161
168
|
}
|
|
162
169
|
/** Gets every route registered for mounting on the API router. */
|
|
163
170
|
export function getRegisteredPluginRoutes() {
|
|
@@ -230,7 +237,7 @@ function createApiDeps(tenantId) {
|
|
|
230
237
|
// itself (getLoadedPluginRoutes) — this point only logs.
|
|
231
238
|
console.debug(`[PluginAPI] ${routes.length} route(s) registered — collected at bootstrap`);
|
|
232
239
|
},
|
|
233
|
-
registerContentFields: async (fields) => {
|
|
240
|
+
registerContentFields: async (fields, pluginName) => {
|
|
234
241
|
// Explicit guard: with noUncheckedIndexedAccess, fields[0] is
|
|
235
242
|
// T | undefined even with the length check above — checked
|
|
236
243
|
// destructuring leaves the narrowing to TS with the same semantics.
|
|
@@ -239,22 +246,27 @@ function createApiDeps(tenantId) {
|
|
|
239
246
|
return;
|
|
240
247
|
try {
|
|
241
248
|
// Cria/atualiza field group do plugin
|
|
242
|
-
const
|
|
249
|
+
const owner = pluginName ?? firstField.name.split('_')[0] ?? 'plugin';
|
|
250
|
+
const scope = tenantId ?? 'platform';
|
|
251
|
+
const safeOwner = owner.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
252
|
+
const safeScope = scope.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
253
|
+
const groupKey = `plugin_${safeOwner}_${safeScope}_fields`;
|
|
243
254
|
const existing = await fieldGroupService.getByKey(groupKey);
|
|
244
255
|
const fieldInputs = fields.map((f, idx) => ({
|
|
245
256
|
type: f.type,
|
|
246
257
|
name: f.name,
|
|
247
|
-
key: f.name
|
|
258
|
+
key: `${groupKey}_${f.name}`,
|
|
248
259
|
label: f.label,
|
|
249
260
|
required: f.required ?? false,
|
|
250
261
|
config: f.options ?? {},
|
|
251
262
|
sortOrder: idx,
|
|
252
263
|
}));
|
|
253
264
|
if (existing) {
|
|
254
|
-
await fieldGroupService.update(existing.id, { fields: fieldInputs });
|
|
265
|
+
await fieldGroupService.update(existing.id, { fields: fieldInputs, metadata: { pluginName: owner, tenantId: scope } });
|
|
255
266
|
}
|
|
256
267
|
else {
|
|
257
268
|
await fieldGroupService.create({
|
|
269
|
+
tenantId,
|
|
258
270
|
title: `Campos do Plugin`,
|
|
259
271
|
key: groupKey,
|
|
260
272
|
locationRules: [],
|
|
@@ -262,12 +274,14 @@ function createApiDeps(tenantId) {
|
|
|
262
274
|
displayStyle: 'standard',
|
|
263
275
|
active: true,
|
|
264
276
|
fields: fieldInputs,
|
|
277
|
+
metadata: { pluginName: owner, tenantId: scope },
|
|
265
278
|
});
|
|
266
279
|
}
|
|
267
280
|
console.debug(`[PluginAPI] ${fields.length} content field(s) registered in field group "${groupKey}"`);
|
|
268
281
|
}
|
|
269
282
|
catch (error) {
|
|
270
283
|
console.error('[PluginAPI] Failed to register content fields:', error);
|
|
284
|
+
throw error;
|
|
271
285
|
}
|
|
272
286
|
},
|
|
273
287
|
registerFieldTypes: async (fieldTypes) => {
|
|
@@ -459,12 +473,15 @@ async function syncScope(tenantId, force) {
|
|
|
459
473
|
// Coleta rotas registradas pelos plugins neste escopo
|
|
460
474
|
const scopeKey = key; // 'platform' ou 'tenant:<id>'
|
|
461
475
|
const pluginRoutes = await getLoadedPluginRoutes(scopeKey);
|
|
462
|
-
for (const { pluginName, routes, rpm } of pluginRoutes) {
|
|
463
|
-
registerPluginRoutes(pluginName, routes, rpm);
|
|
476
|
+
for (const { pluginName, routes, api, scope, tenantId, rpm } of pluginRoutes) {
|
|
477
|
+
registerPluginRoutes(pluginName, routes, api, scope, tenantId, rpm);
|
|
464
478
|
}
|
|
465
479
|
// Remove rotas de plugins que foram descarregados (unloaded)
|
|
466
480
|
for (const pluginName of result.unloaded) {
|
|
467
|
-
unregisterPluginRoutes(pluginName);
|
|
481
|
+
unregisterPluginRoutes(pluginName, key);
|
|
482
|
+
await fieldGroupService.removePluginFields(pluginName, tenantId).catch((error) => {
|
|
483
|
+
console.warn(`[plugins] failed to remove content fields for ${pluginName}:`, error);
|
|
484
|
+
});
|
|
468
485
|
}
|
|
469
486
|
const previousErrors = states.get(key)?.errors ?? new Map();
|
|
470
487
|
const state = {
|