@memberjunction/core-entities 5.29.0 → 5.30.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.
Files changed (105) hide show
  1. package/dist/custom/MJConversationDetailEntityExtended.d.ts +31 -0
  2. package/dist/custom/MJConversationDetailEntityExtended.d.ts.map +1 -0
  3. package/dist/custom/MJConversationDetailEntityExtended.js +106 -0
  4. package/dist/custom/MJConversationDetailEntityExtended.js.map +1 -0
  5. package/dist/custom/PermissionProviders/AIAgentPermissionProvider.d.ts +31 -0
  6. package/dist/custom/PermissionProviders/AIAgentPermissionProvider.d.ts.map +1 -0
  7. package/dist/custom/PermissionProviders/AIAgentPermissionProvider.js +151 -0
  8. package/dist/custom/PermissionProviders/AIAgentPermissionProvider.js.map +1 -0
  9. package/dist/custom/PermissionProviders/AccessControlRuleProvider.d.ts +45 -0
  10. package/dist/custom/PermissionProviders/AccessControlRuleProvider.d.ts.map +1 -0
  11. package/dist/custom/PermissionProviders/AccessControlRuleProvider.js +253 -0
  12. package/dist/custom/PermissionProviders/AccessControlRuleProvider.js.map +1 -0
  13. package/dist/custom/PermissionProviders/ApplicationRolePermissionProvider.d.ts +28 -0
  14. package/dist/custom/PermissionProviders/ApplicationRolePermissionProvider.d.ts.map +1 -0
  15. package/dist/custom/PermissionProviders/ApplicationRolePermissionProvider.js +144 -0
  16. package/dist/custom/PermissionProviders/ApplicationRolePermissionProvider.js.map +1 -0
  17. package/dist/custom/PermissionProviders/ArtifactPermissionProvider.d.ts +45 -0
  18. package/dist/custom/PermissionProviders/ArtifactPermissionProvider.d.ts.map +1 -0
  19. package/dist/custom/PermissionProviders/ArtifactPermissionProvider.js +169 -0
  20. package/dist/custom/PermissionProviders/ArtifactPermissionProvider.js.map +1 -0
  21. package/dist/custom/PermissionProviders/CollectionPermissionProvider.d.ts +40 -0
  22. package/dist/custom/PermissionProviders/CollectionPermissionProvider.d.ts.map +1 -0
  23. package/dist/custom/PermissionProviders/CollectionPermissionProvider.js +220 -0
  24. package/dist/custom/PermissionProviders/CollectionPermissionProvider.js.map +1 -0
  25. package/dist/custom/PermissionProviders/DashboardPermissionProvider.d.ts +47 -0
  26. package/dist/custom/PermissionProviders/DashboardPermissionProvider.d.ts.map +1 -0
  27. package/dist/custom/PermissionProviders/DashboardPermissionProvider.js +218 -0
  28. package/dist/custom/PermissionProviders/DashboardPermissionProvider.js.map +1 -0
  29. package/dist/custom/PermissionProviders/EntityPermissionProvider.d.ts +25 -0
  30. package/dist/custom/PermissionProviders/EntityPermissionProvider.d.ts.map +1 -0
  31. package/dist/custom/PermissionProviders/EntityPermissionProvider.js +129 -0
  32. package/dist/custom/PermissionProviders/EntityPermissionProvider.js.map +1 -0
  33. package/dist/custom/PermissionProviders/QueryPermissionProvider.d.ts +24 -0
  34. package/dist/custom/PermissionProviders/QueryPermissionProvider.d.ts.map +1 -0
  35. package/dist/custom/PermissionProviders/QueryPermissionProvider.js +123 -0
  36. package/dist/custom/PermissionProviders/QueryPermissionProvider.js.map +1 -0
  37. package/dist/custom/PermissionProviders/ResourcePermissionProvider.d.ts +39 -0
  38. package/dist/custom/PermissionProviders/ResourcePermissionProvider.d.ts.map +1 -0
  39. package/dist/custom/PermissionProviders/ResourcePermissionProvider.js +193 -0
  40. package/dist/custom/PermissionProviders/ResourcePermissionProvider.js.map +1 -0
  41. package/dist/custom/PermissionProviders/index.d.ts +16 -0
  42. package/dist/custom/PermissionProviders/index.d.ts.map +1 -0
  43. package/dist/custom/PermissionProviders/index.js +41 -0
  44. package/dist/custom/PermissionProviders/index.js.map +1 -0
  45. package/dist/custom/Permissions/BaseShareEntityExtended.d.ts +105 -0
  46. package/dist/custom/Permissions/BaseShareEntityExtended.d.ts.map +1 -0
  47. package/dist/custom/Permissions/BaseShareEntityExtended.js +162 -0
  48. package/dist/custom/Permissions/BaseShareEntityExtended.js.map +1 -0
  49. package/dist/custom/Permissions/MJAccessControlRuleEntityExtended.d.ts +22 -0
  50. package/dist/custom/Permissions/MJAccessControlRuleEntityExtended.d.ts.map +1 -0
  51. package/dist/custom/Permissions/MJAccessControlRuleEntityExtended.js +75 -0
  52. package/dist/custom/Permissions/MJAccessControlRuleEntityExtended.js.map +1 -0
  53. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.d.ts +22 -0
  54. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.d.ts.map +1 -0
  55. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.js +114 -0
  56. package/dist/custom/Permissions/MJArtifactPermissionEntityExtended.js.map +1 -0
  57. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.d.ts +25 -0
  58. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.d.ts.map +1 -0
  59. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.js +101 -0
  60. package/dist/custom/Permissions/MJCollectionPermissionEntityExtended.js.map +1 -0
  61. package/dist/custom/Permissions/MJDashboardPermissionEntityExtended.d.ts +32 -0
  62. package/dist/custom/Permissions/MJDashboardPermissionEntityExtended.d.ts.map +1 -0
  63. package/dist/custom/Permissions/MJDashboardPermissionEntityExtended.js +95 -0
  64. package/dist/custom/Permissions/MJDashboardPermissionEntityExtended.js.map +1 -0
  65. package/dist/custom/Permissions/index.d.ts +13 -0
  66. package/dist/custom/Permissions/index.d.ts.map +1 -0
  67. package/dist/custom/Permissions/index.js +22 -0
  68. package/dist/custom/Permissions/index.js.map +1 -0
  69. package/dist/custom/Permissions/shareNotification.d.ts +72 -0
  70. package/dist/custom/Permissions/shareNotification.d.ts.map +1 -0
  71. package/dist/custom/Permissions/shareNotification.js +98 -0
  72. package/dist/custom/Permissions/shareNotification.js.map +1 -0
  73. package/dist/custom/ResourcePermissions/MJResourcePermissionEntityExtended.d.ts +63 -1
  74. package/dist/custom/ResourcePermissions/MJResourcePermissionEntityExtended.d.ts.map +1 -1
  75. package/dist/custom/ResourcePermissions/MJResourcePermissionEntityExtended.js +244 -27
  76. package/dist/custom/ResourcePermissions/MJResourcePermissionEntityExtended.js.map +1 -1
  77. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts +7 -0
  78. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -1
  79. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +13 -0
  80. package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -1
  81. package/dist/engines/GeoDataEngine.d.ts +42 -8
  82. package/dist/engines/GeoDataEngine.d.ts.map +1 -1
  83. package/dist/engines/GeoDataEngine.js +191 -36
  84. package/dist/engines/GeoDataEngine.js.map +1 -1
  85. package/dist/engines/PermissionEngine.d.ts +142 -0
  86. package/dist/engines/PermissionEngine.d.ts.map +1 -0
  87. package/dist/engines/PermissionEngine.js +343 -0
  88. package/dist/engines/PermissionEngine.js.map +1 -0
  89. package/dist/engines/UserInfoEngine.d.ts +6 -1
  90. package/dist/engines/UserInfoEngine.d.ts.map +1 -1
  91. package/dist/engines/UserInfoEngine.js +21 -5
  92. package/dist/engines/UserInfoEngine.js.map +1 -1
  93. package/dist/engines/conversations.d.ts +35 -0
  94. package/dist/engines/conversations.d.ts.map +1 -1
  95. package/dist/engines/conversations.js +103 -16
  96. package/dist/engines/conversations.js.map +1 -1
  97. package/dist/generated/entity_subclasses.d.ts +579 -52
  98. package/dist/generated/entity_subclasses.d.ts.map +1 -1
  99. package/dist/generated/entity_subclasses.js +697 -66
  100. package/dist/generated/entity_subclasses.js.map +1 -1
  101. package/dist/index.d.ts +4 -0
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +8 -0
  104. package/dist/index.js.map +1 -1
  105. package/package.json +5 -5
@@ -1,24 +1,29 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { BaseEngine, LogStatus } from "@memberjunction/core";
8
- import { RegisterForStartup } from "@memberjunction/core";
1
+ import { BaseEngine, Metadata, LogStatus } from "@memberjunction/core";
9
2
  /**
10
3
  * GeoDataEngine provides cached, in-memory access to Country and StateProvince
11
- * reference data. Loaded once at startup via @RegisterForStartup, all lookups
12
- * are O(1) via pre-built Maps keyed by common lookup patterns.
4
+ * reference data, plus point-in-polygon resolution against country/state boundaries.
5
+ * All lookups are O(1) via pre-built Maps keyed by common lookup patterns.
6
+ *
7
+ * **Loaded on demand**, not at app startup. The dataset is large (~3,000+ rows
8
+ * with BoundaryGeoJSON blobs) and parsing the geometry takes ~3–4s synchronously,
9
+ * so we only pay that cost when geocoding or geo lookups are actually needed.
10
+ *
11
+ * **Caller contract**: `await GeoDataEngine.Instance.Config(...)` once before
12
+ * calling any sync lookup method. `Config()` is idempotent — concurrent calls
13
+ * dedup against a single in-flight load (see `BaseEngine.Load`), and repeated
14
+ * calls after load complete return immediately. If no entity in the tenant has
15
+ * `SupportsGeoCoding=1`, `Config()` returns early and lookups will return
16
+ * `undefined` — callers already handle the not-found case so the empty state
17
+ * is safe to leave in place.
13
18
  *
14
19
  * Usage:
15
20
  * ```typescript
16
- * const engine = GeoDataEngine.Instance;
17
- * const country = engine.GetCountryByISO2('US');
18
- * const state = engine.GetStateByCode('US-country-id', 'CO');
21
+ * await GeoDataEngine.Instance.Config(false, contextUser);
22
+ * const country = GeoDataEngine.Instance.GetCountryByISO2('US');
23
+ * const state = GeoDataEngine.Instance.GetStateByCode(country.ID, 'CO');
19
24
  * ```
20
25
  */
21
- let GeoDataEngine = class GeoDataEngine extends BaseEngine {
26
+ export class GeoDataEngine extends BaseEngine {
22
27
  constructor() {
23
28
  super(...arguments);
24
29
  this._countries = [];
@@ -41,6 +46,15 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
41
46
  return super.getInstance();
42
47
  }
43
48
  async Config(forceRefresh, contextUser, provider) {
49
+ // Skip the load entirely if no entity in this tenant has SupportsGeoCoding=1.
50
+ // The country/state-province dataset is large (~3,000+ rows with BoundaryGeoJSON
51
+ // blobs) and parsing the geometry for point-in-polygon takes ~3-4s synchronously.
52
+ // None of that work is useful unless at least one entity opts into geocoding.
53
+ const entities = (provider ?? Metadata.Provider)?.Entities;
54
+ if (entities && !entities.some(e => e.SupportsGeoCoding)) {
55
+ LogStatus('GeoDataEngine: no entities have SupportsGeoCoding=1 — skipping country/state-province load and geometry parsing');
56
+ return;
57
+ }
44
58
  const configs = [
45
59
  {
46
60
  Type: 'entity',
@@ -59,7 +73,10 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
59
73
  }
60
74
  async AdditionalLoading(_contextUser) {
61
75
  this.buildLookupMaps();
62
- this.buildGeometryCaches();
76
+ // Use synchronous main-thread parsing. The Web Worker approach was slower because
77
+ // postMessage structured-clone of 3,092 parsed polygons back to main thread took
78
+ // 11+ seconds, blocking all other engines' promise continuations.
79
+ this.buildGeometryCachesSync();
63
80
  }
64
81
  // ================================================================
65
82
  // Cached data getters
@@ -283,19 +300,165 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
283
300
  return inside;
284
301
  }
285
302
  // ================================================================
286
- // Private — geometry cache building
303
+ // Private — geometry cache building (Web Worker accelerated)
287
304
  // ================================================================
288
305
  /**
289
- * Parse all BoundaryGeoJSON data and build indexed geometry caches.
290
- * Called once during AdditionalLoading after entities are loaded.
306
+ * The Web Worker source code for GeoJSON parsing. This is embedded as a string
307
+ * so we can create an inline Worker via Blob URL — no separate file needed.
308
+ * The worker receives raw BoundaryGeoJSON strings and returns parsed geometries.
309
+ */
310
+ static { this.GEO_WORKER_SOURCE = `
311
+ function parsePolygonCoordinates(coordinates) {
312
+ if (!coordinates || coordinates.length === 0) return null;
313
+ let minLng = Infinity, minLat = Infinity, maxLng = -Infinity, maxLat = -Infinity;
314
+ for (const point of coordinates[0]) {
315
+ if (point[0] < minLng) minLng = point[0];
316
+ if (point[1] < minLat) minLat = point[1];
317
+ if (point[0] > maxLng) maxLng = point[0];
318
+ if (point[1] > maxLat) maxLat = point[1];
319
+ }
320
+ return { rings: coordinates, bbox: [minLng, minLat, maxLng, maxLat] };
321
+ }
322
+
323
+ function parseEntityBoundary(entityId, boundaryGeoJSON) {
324
+ if (!boundaryGeoJSON) return null;
325
+ try {
326
+ const raw = typeof boundaryGeoJSON === 'string' ? JSON.parse(boundaryGeoJSON) : boundaryGeoJSON;
327
+ const geometry = raw.type === 'Feature' ? raw.geometry : raw;
328
+ if (!geometry || !geometry.coordinates) return null;
329
+ const polygons = [];
330
+ if (geometry.type === 'Polygon') {
331
+ const parsed = parsePolygonCoordinates(geometry.coordinates);
332
+ if (parsed) polygons.push(parsed);
333
+ } else if (geometry.type === 'MultiPolygon') {
334
+ for (const polyCoords of geometry.coordinates) {
335
+ const parsed = parsePolygonCoordinates(polyCoords);
336
+ if (parsed) polygons.push(parsed);
337
+ }
338
+ }
339
+ if (polygons.length === 0) return null;
340
+ const overallBbox = [
341
+ Math.min(...polygons.map(p => p.bbox[0])),
342
+ Math.min(...polygons.map(p => p.bbox[1])),
343
+ Math.max(...polygons.map(p => p.bbox[2])),
344
+ Math.max(...polygons.map(p => p.bbox[3]))
345
+ ];
346
+ return { entityId: entityId.toLowerCase(), polygons, bbox: overallBbox };
347
+ } catch {
348
+ return null;
349
+ }
350
+ }
351
+
352
+ self.onmessage = function(e) {
353
+ const { countries, stateProvinces } = e.data;
354
+ const countryGeometries = [];
355
+ const stateGeometries = [];
356
+
357
+ for (const c of countries) {
358
+ const geom = parseEntityBoundary(c.id, c.boundaryGeoJSON);
359
+ if (geom) countryGeometries.push(geom);
360
+ }
361
+
362
+ for (const s of stateProvinces) {
363
+ const geom = parseEntityBoundary(s.id, s.boundaryGeoJSON);
364
+ if (geom) {
365
+ geom._countryId = s.countryId.toLowerCase();
366
+ stateGeometries.push(geom);
367
+ }
368
+ }
369
+
370
+ self.postMessage({ countryGeometries, stateGeometries });
371
+ };
372
+ `; }
373
+ /**
374
+ * Parse all BoundaryGeoJSON data using a Web Worker (off main thread).
375
+ * Falls back to synchronous parsing if Workers are unavailable.
291
376
  */
292
- buildGeometryCaches() {
377
+ async buildGeometryCachesAsync() {
293
378
  this._countryGeometries = [];
294
379
  this._stateGeometries = [];
295
380
  this._stateGeometriesByCountry.clear();
381
+ // Try Web Worker first (browser environment)
382
+ if (typeof Worker !== 'undefined' && typeof Blob !== 'undefined') {
383
+ try {
384
+ const result = await this.parseInWorker();
385
+ this._countryGeometries = result.countryGeometries;
386
+ this.indexStateGeometries(result.stateGeometries);
387
+ LogStatus(`GeoDataEngine: parsed ${result.countryGeometries.length} country and ${result.stateGeometries.length} state/province boundaries for point-in-polygon (Web Worker)`);
388
+ return;
389
+ }
390
+ catch (err) {
391
+ LogStatus(`GeoDataEngine: Web Worker failed (${err instanceof Error ? err.message : String(err)}), falling back to main thread`);
392
+ }
393
+ }
394
+ // Fallback: synchronous parsing on main thread
395
+ this.buildGeometryCachesSync();
396
+ }
397
+ /**
398
+ * Offload GeoJSON parsing to an inline Web Worker.
399
+ * Returns a promise that resolves with the parsed geometry arrays.
400
+ */
401
+ parseInWorker() {
402
+ return new Promise((resolve, reject) => {
403
+ const blob = new Blob([GeoDataEngine.GEO_WORKER_SOURCE], { type: 'application/javascript' });
404
+ const url = URL.createObjectURL(blob);
405
+ const worker = new Worker(url);
406
+ // Timeout — if the worker takes longer than 30s, fall back
407
+ const timeout = setTimeout(() => {
408
+ worker.terminate();
409
+ URL.revokeObjectURL(url);
410
+ reject(new Error('Worker timeout'));
411
+ }, 30000);
412
+ worker.onmessage = (e) => {
413
+ clearTimeout(timeout);
414
+ worker.terminate();
415
+ URL.revokeObjectURL(url);
416
+ resolve(e.data);
417
+ };
418
+ worker.onerror = (e) => {
419
+ clearTimeout(timeout);
420
+ worker.terminate();
421
+ URL.revokeObjectURL(url);
422
+ reject(new Error(e.message));
423
+ };
424
+ // Send raw data to the worker — only the fields needed for parsing
425
+ const countries = this._countries.map(c => ({
426
+ id: c.ID,
427
+ boundaryGeoJSON: c.BoundaryGeoJSON
428
+ }));
429
+ const stateProvinces = this._stateProvinces.map(s => ({
430
+ id: s.ID,
431
+ countryId: s.CountryID,
432
+ boundaryGeoJSON: s.BoundaryGeoJSON
433
+ }));
434
+ worker.postMessage({ countries, stateProvinces });
435
+ });
436
+ }
437
+ /**
438
+ * Index state geometries by country for fast lookup.
439
+ * Used after both worker and sync parsing paths.
440
+ */
441
+ indexStateGeometries(stateGeometries) {
442
+ this._stateGeometries = [];
443
+ this._stateGeometriesByCountry.clear();
444
+ for (const geom of stateGeometries) {
445
+ this._stateGeometries.push(geom);
446
+ const countryKey = geom._countryId || '';
447
+ let arr = this._stateGeometriesByCountry.get(countryKey);
448
+ if (!arr) {
449
+ arr = [];
450
+ this._stateGeometriesByCountry.set(countryKey, arr);
451
+ }
452
+ arr.push(geom);
453
+ delete geom._countryId; // Clean up the temporary field
454
+ }
455
+ }
456
+ /**
457
+ * Synchronous fallback for environments without Web Workers (e.g., Node.js, SSR).
458
+ */
459
+ buildGeometryCachesSync() {
296
460
  let countryParsed = 0;
297
461
  let stateParsed = 0;
298
- // Parse country boundaries
299
462
  for (const country of this._countries) {
300
463
  const geom = this.parseEntityBoundary(country.ID, country.BoundaryGeoJSON);
301
464
  if (geom) {
@@ -303,27 +466,23 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
303
466
  countryParsed++;
304
467
  }
305
468
  }
306
- // Parse state/province boundaries, indexed by country
469
+ const stateGeoms = [];
307
470
  for (const state of this._stateProvinces) {
308
471
  const geom = this.parseEntityBoundary(state.ID, state.BoundaryGeoJSON);
309
472
  if (geom) {
310
- this._stateGeometries.push(geom);
473
+ geom._countryId = state.CountryID.toLowerCase();
474
+ stateGeoms.push(geom);
311
475
  stateParsed++;
312
- const countryKey = state.CountryID.toLowerCase();
313
- let arr = this._stateGeometriesByCountry.get(countryKey);
314
- if (!arr) {
315
- arr = [];
316
- this._stateGeometriesByCountry.set(countryKey, arr);
317
- }
318
- arr.push(geom);
319
476
  }
320
477
  }
321
- LogStatus(`GeoDataEngine: parsed ${countryParsed} country and ${stateParsed} state/province boundaries for point-in-polygon`);
478
+ this.indexStateGeometries(stateGeoms);
479
+ LogStatus(`GeoDataEngine: parsed ${countryParsed} country and ${stateParsed} state/province boundaries for point-in-polygon (main thread)`);
322
480
  }
323
481
  /**
324
482
  * Parse a BoundaryGeoJSON value into a CachedGeometry.
325
483
  * Supports GeoJSON Feature, Polygon, and MultiPolygon types.
326
484
  * Returns null if the boundary is missing or unparseable.
485
+ * Used by the synchronous fallback path.
327
486
  */
328
487
  parseEntityBoundary(entityId, boundaryGeoJSON) {
329
488
  if (!boundaryGeoJSON)
@@ -348,7 +507,6 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
348
507
  }
349
508
  if (polygons.length === 0)
350
509
  return null;
351
- // Compute overall bounding box across all polygons
352
510
  const overallBbox = [
353
511
  Math.min(...polygons.map(p => p.bbox[0])),
354
512
  Math.min(...polygons.map(p => p.bbox[1])),
@@ -365,6 +523,7 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
365
523
  * Parse a single Polygon's coordinate rings and compute its bounding box.
366
524
  * GeoJSON Polygon coordinates: [ outerRing, ...holeRings ]
367
525
  * Each ring is an array of [lng, lat] pairs.
526
+ * Used by the synchronous fallback path.
368
527
  */
369
528
  parsePolygonCoordinates(coordinates) {
370
529
  if (!coordinates || coordinates.length === 0)
@@ -417,9 +576,5 @@ let GeoDataEngine = class GeoDataEngine extends BaseEngine {
417
576
  this._statesById.set(s.ID.toLowerCase(), s);
418
577
  }
419
578
  }
420
- };
421
- GeoDataEngine = __decorate([
422
- RegisterForStartup()
423
- ], GeoDataEngine);
424
- export { GeoDataEngine };
579
+ }
425
580
  //# sourceMappingURL=GeoDataEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeoDataEngine.js","sourceRoot":"","sources":["../../src/engines/GeoDataEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoDataEngine.js","sourceRoot":"","sources":["../../src/engines/GeoDataEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { BaseEngine, IMetadataProvider, NormalizedPermission, PermissionAction, PermissionAuditEntry, PermissionAuditFilter, PermissionCheckResult, PermissionProviderBase, UserInfo } from '@memberjunction/core';
2
+ import { MJPermissionDomainEntity } from '../generated/entity_subclasses.js';
3
+ /**
4
+ * Canonical Font Awesome class for each permission domain. Exported so the admin
5
+ * Permissions app and the end-user Sharing Center render the same glyph for each
6
+ * domain without drifting. Consumers should call
7
+ * {@link PermissionEngine.DomainIconFor} rather than reading the map directly so
8
+ * unknown domains get the lock fallback.
9
+ */
10
+ export declare const PERMISSION_DOMAIN_ICONS: Record<string, string>;
11
+ /** Fallback icon used when a domain isn't in the catalog (e.g., a Phase-3 provider). */
12
+ export declare const PERMISSION_DOMAIN_ICON_FALLBACK = "fa-solid fa-lock";
13
+ /**
14
+ * PermissionEngine is the unified entry point for permission queries across every registered
15
+ * permission subsystem. At startup it loads the {@link MJPermissionDomainEntity} catalog, then
16
+ * instantiates each active domain's provider via ClassFactory (keyed on `ProviderClassName`).
17
+ *
18
+ * Typical usage:
19
+ * ```typescript
20
+ * // "Can this user read entity X?"
21
+ * const result = PermissionEngine.Instance.CheckPermission(
22
+ * user, 'Entity Permissions', 'Users', null, 'Read'
23
+ * );
24
+ *
25
+ * // "Show me everything this user has access to"
26
+ * const all = PermissionEngine.Instance.GetAllUserPermissions(user);
27
+ *
28
+ * // "Who has access to this resource?"
29
+ * const rows = PermissionEngine.Instance.GetResourcePermissions(
30
+ * 'Dashboard Permissions', 'Dashboards', dashboardId
31
+ * );
32
+ * ```
33
+ *
34
+ * Priority 15 so it configures after default-priority engines (e.g., UserInfoEngine at 10);
35
+ * providers lazy-resolve their backing engines on first use, so even if a backing engine
36
+ * has not been configured yet at provider construction time, permission checks still work
37
+ * once the backing engine comes online.
38
+ */
39
+ export declare class PermissionEngine extends BaseEngine<PermissionEngine> {
40
+ static get Instance(): PermissionEngine;
41
+ private _domains;
42
+ private _providers;
43
+ Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
44
+ /**
45
+ * Walks the loaded domain catalog and instantiates each active provider via ClassFactory.
46
+ * Called on every `Config()` so a `forceRefresh` re-wires the provider map.
47
+ */
48
+ private instantiateProviders;
49
+ /**
50
+ * Check whether a user has a specific permission on a specific resource within a domain.
51
+ * Returns `{Allowed: false, Reason: 'Unknown domain'}` if the domain is not registered
52
+ * (either because no catalog row exists or because its provider failed to load).
53
+ */
54
+ CheckPermission(user: UserInfo, domainName: string, resourceType: string, resourceId: string | null, action: PermissionAction): Promise<PermissionCheckResult>;
55
+ /**
56
+ * Aggregate every resource the user has access to across all registered providers.
57
+ * Providers are queried in parallel; failures from individual providers are logged and skipped.
58
+ * Powers the Sharing Center "User Access Report" view.
59
+ */
60
+ GetAllUserPermissions(user: UserInfo): Promise<NormalizedPermission[]>;
61
+ /**
62
+ * Aggregate every permission this user has granted to *other* users across all
63
+ * registered providers. Powers the end-user Sharing Center's "Shared by me" tab.
64
+ *
65
+ * Role-only providers (Entity Permissions, Application Roles, AI Agent Permissions,
66
+ * Query Permissions) contribute nothing — their base-class default returns `[]`.
67
+ * Providers are queried in parallel; failures are logged and skipped.
68
+ */
69
+ GetPermissionsGrantedByUser(grantor: UserInfo): Promise<NormalizedPermission[]>;
70
+ /**
71
+ * Aggregate every permission where this user is the grantee AND someone else is the
72
+ * grantor — the "shared with me" view. Excludes self-owned resources and role-inherited
73
+ * access. Providers are queried in parallel; failures are logged and skipped.
74
+ */
75
+ GetPermissionsSharedWithUser(grantee: UserInfo): Promise<NormalizedPermission[]>;
76
+ /**
77
+ * Get every grantee's permissions on a specific resource within a domain.
78
+ * Powers the Sharing Center "Resource Access Report" view.
79
+ */
80
+ GetResourcePermissions(domainName: string, resourceType: string, resourceId: string): Promise<NormalizedPermission[]>;
81
+ /** All active, loaded domain catalog records. */
82
+ get Domains(): MJPermissionDomainEntity[];
83
+ /** Look up the provider for a specific domain by name; returns undefined when not loaded. */
84
+ GetProvider(domainName: string): PermissionProviderBase | undefined;
85
+ /**
86
+ * The resource type names supported by the given permission domain — sourced
87
+ * from the provider's `GetResourceTypes()`. Returns `[]` when the domain is
88
+ * unknown or the provider doesn't enumerate its types. Used by admin UIs
89
+ * (e.g., the Resource Access Report) to populate the Resource Type picker
90
+ * after a Domain is selected.
91
+ */
92
+ GetResourceTypes(domainName: string): string[];
93
+ /**
94
+ * Font Awesome class for a permission domain, with a lock fallback for
95
+ * unknown domains. Drives the icon shown next to domain groups in both the
96
+ * admin Permissions app and the end-user Sharing Center.
97
+ */
98
+ static DomainIconFor(domainName: string): string;
99
+ /** For unit tests: swap the provider map with a caller-supplied one. */
100
+ _SetProvidersForTesting(providers: Map<string, PermissionProviderBase>): void;
101
+ /**
102
+ * Convenience wrapper around {@link CheckPermission} that throws a typed
103
+ * {@link PermissionDeniedError} when the action is not permitted. Intended for
104
+ * programmatic callers — Actions, AI Agents, custom server code — that want
105
+ * "fail loudly on denial" semantics instead of branching on a boolean result.
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * await PermissionEngine.Instance.AuthorizeOrThrow(
110
+ * user, 'Dashboard Permissions', 'Dashboards', dashboardId, 'Share'
111
+ * );
112
+ * // If we reach this line, the user can share the dashboard.
113
+ * ```
114
+ *
115
+ * @throws {@link PermissionDeniedError} when the provider returns `Allowed: false`
116
+ * or when the domain is not registered.
117
+ */
118
+ AuthorizeOrThrow(user: UserInfo, domainName: string, resourceType: string, resourceId: string | null, action: PermissionAction): Promise<void>;
119
+ /**
120
+ * Query RecordChange for audit events against every permission-backing entity.
121
+ * Supports filtering by domain, date range, changed-by user, or a specific
122
+ * record. Results are sorted newest-first and capped at `filter.MaxRows`
123
+ * (default 500).
124
+ *
125
+ * Relies on each permission entity having `TrackRecordChanges=1` in its
126
+ * Entity metadata row. Domains whose backing entities do not track changes
127
+ * contribute nothing to the timeline.
128
+ */
129
+ GetAuditTimeline(filter?: PermissionAuditFilter): Promise<PermissionAuditEntry[]>;
130
+ /**
131
+ * Map a domain-name filter to the set of backing entity names to query.
132
+ * When no filter is given, every known permission entity is included.
133
+ */
134
+ private resolveAuditEntityNames;
135
+ /**
136
+ * Reverse lookup: given a backing entity name, return the owning domain.
137
+ * Falls back to the entity name itself when we can't resolve (e.g., a
138
+ * caller added a new permission entity to the map but no provider yet).
139
+ */
140
+ private resolveDomainForEntity;
141
+ }
142
+ //# sourceMappingURL=PermissionEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/PermissionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EAEV,iBAAiB,EAGjB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EAErB,sBAAsB,EAGtB,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAmB1E;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU1D,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,gBAAiB,SAAQ,UAAU,CAAC,gBAAgB,CAAC;IAC9D,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAED,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAkD;IAEvD,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAchH;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;OAIG;IACU,eAAe,CACxB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAYjC;;;;OAIG;IACU,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAgBnF;;;;;;;OAOG;IACU,2BAA2B,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkB5F;;;;OAIG;IACU,4BAA4B,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkB7F;;;OAGG;IACU,sBAAsB,CAC/B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAMlC,iDAAiD;IACjD,IAAW,OAAO,IAAI,wBAAwB,EAAE,CAE/C;IAED,6FAA6F;IACtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAI1E;;;;;;OAMG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAIrD;;;;OAIG;WACW,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIvD,wEAAwE;IACjE,uBAAuB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,IAAI;IAIpF;;;;;;;;;;;;;;;;OAgBG;IACU,gBAAgB,CACzB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;;OASG;IACU,gBAAgB,CAAC,MAAM,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkDlG;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAMjC"}