@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.
@@ -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 ORDER BY fg.title ASC`);
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('SELECT * FROM field_groups WHERE id = $1', [id]);
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('SELECT * FROM field_groups WHERE key = $1', [key]);
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::jsonb, $5, $6, $7, $8::jsonb)`, [
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('DELETE FROM field_groups WHERE id = $1 RETURNING id', [id]);
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 matching = [];
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
- for (const summary of all) {
128
- if (!summary.active)
129
- continue;
130
- if (!matchLocationRules(summary.locationRules ?? [], context))
131
- continue;
132
- const full = await this.getById(summary.id);
133
- if (full)
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
- * Valida os valores de campos customizados contra as definições ativas para
147
- * o contexto (usado pelo content service no create/update). Retorna as
148
- * mensagens de erro (vazio = válido). Delega ao motor `validateContentData`,
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) => this.stripCoreFields(group.fields));
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(`Conditional logic inválida: ${issues.map((issue) => `${issue.field}: ${issue.issue}`).join('; ')}`);
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', [groupId]);
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`, [groupId]);
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 roots = [];
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
- return roots;
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;IAiCvC,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"}
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"}
@@ -8,8 +8,14 @@ export class MediaService {
8
8
  let whereClause = 'WHERE 1=1';
9
9
  const params = [];
10
10
  if (mimeType) {
11
- whereClause += ` AND mime_type = $${params.length + 1}`;
12
- params.push(mimeType);
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":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/media/service.ts"],"names":[],"mappings":"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"}
@@ -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;AAC1I,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3G,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAgDhF,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KAClE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAO1B;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAYpC;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAAC,CAMrE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAMrG;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,qBAAqB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAMzG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAAC,CAMjE;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAMnG;AAED,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAGtG;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,kEAAkE;AAClE,wBAAgB,yBAAyB,IAAI,gBAAgB,EAAE,CAE9D;AAmYD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAS1G;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,qBAAqB,CAAC,CAUhC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7E;AAED,6DAA6D;AAC7D,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAED,0DAA0D;AAC1D,wBAAgB,sBAAsB,IAAI,mBAAmB,CAa5D"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/plugin/load.ts"],"names":[],"mappings":"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"}
@@ -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, { pluginName, routes, ...(rpm ? { rpm } : {}) });
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
- return pluginRoutesRegistry.delete(pluginName);
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 groupKey = `plugin_${firstField.name.split('_')[0]}_fields`; // prefixo baseado no primeiro campo
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 = {