@memberjunction/core 5.28.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 (40) hide show
  1. package/dist/generic/RegisterForStartup.d.ts.map +1 -1
  2. package/dist/generic/RegisterForStartup.js +10 -1
  3. package/dist/generic/RegisterForStartup.js.map +1 -1
  4. package/dist/generic/baseEngine.d.ts +37 -1
  5. package/dist/generic/baseEngine.d.ts.map +1 -1
  6. package/dist/generic/baseEngine.js +30 -4
  7. package/dist/generic/baseEngine.js.map +1 -1
  8. package/dist/generic/column-descriptors.d.ts +72 -0
  9. package/dist/generic/column-descriptors.d.ts.map +1 -0
  10. package/dist/generic/column-descriptors.js +70 -0
  11. package/dist/generic/column-descriptors.js.map +1 -0
  12. package/dist/generic/data-snapshot.d.ts +63 -0
  13. package/dist/generic/data-snapshot.d.ts.map +1 -0
  14. package/dist/generic/data-snapshot.js +78 -0
  15. package/dist/generic/data-snapshot.js.map +1 -0
  16. package/dist/generic/data-table.d.ts +103 -0
  17. package/dist/generic/data-table.d.ts.map +1 -0
  18. package/dist/generic/data-table.js +35 -0
  19. package/dist/generic/data-table.js.map +1 -0
  20. package/dist/generic/entityInfo.d.ts +27 -3
  21. package/dist/generic/entityInfo.d.ts.map +1 -1
  22. package/dist/generic/entityInfo.js +41 -15
  23. package/dist/generic/entityInfo.js.map +1 -1
  24. package/dist/generic/permissionInterfaces.d.ts +306 -0
  25. package/dist/generic/permissionInterfaces.d.ts.map +1 -0
  26. package/dist/generic/permissionInterfaces.js +175 -0
  27. package/dist/generic/permissionInterfaces.js.map +1 -0
  28. package/dist/generic/providerBase.d.ts +48 -4
  29. package/dist/generic/providerBase.d.ts.map +1 -1
  30. package/dist/generic/providerBase.js +236 -47
  31. package/dist/generic/providerBase.js.map +1 -1
  32. package/dist/generic/securityInfo.d.ts +8 -2
  33. package/dist/generic/securityInfo.d.ts.map +1 -1
  34. package/dist/generic/securityInfo.js +31 -11
  35. package/dist/generic/securityInfo.js.map +1 -1
  36. package/dist/index.d.ts +4 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +4 -0
  39. package/dist/index.js.map +1 -1
  40. package/package.json +2 -2
@@ -0,0 +1,78 @@
1
+ import { DataTable } from './data-table.js';
2
+ /**
3
+ * A point-in-time snapshot of one or more datasets with context.
4
+ *
5
+ * This is the universal data exchange format between components,
6
+ * artifact viewers, agents, and persistence.
7
+ *
8
+ * Per-table state (sorting, filters, computations, paging, selection)
9
+ * lives on each DataTable — not here. DataSnapshot holds only
10
+ * component-level state that spans all tables.
11
+ */
12
+ export class DataSnapshot {
13
+ // ─── GETTERS ───
14
+ /** Check whether this snapshot has multiple tables */
15
+ get IsMultiTable() {
16
+ return !!(this.tables && this.tables.length > 1);
17
+ }
18
+ // ─── FACTORY METHODS ───
19
+ /** Create from a single DataTable */
20
+ static FromTable(table, title) {
21
+ const snap = new DataSnapshot();
22
+ snap.tables = [table];
23
+ snap.title = title;
24
+ return snap;
25
+ }
26
+ /** Create from multiple DataTables */
27
+ static FromTables(tables, title) {
28
+ const snap = new DataSnapshot();
29
+ snap.tables = tables;
30
+ snap.title = title;
31
+ return snap;
32
+ }
33
+ }
34
+ /**
35
+ * Normalize any DataSnapshot (or legacy artifact JSON) to always use the `tables[]` array format.
36
+ *
37
+ * - Multi-table snapshots: returns the tables array as-is
38
+ * - Legacy single-table JSON (from Query Builder): wraps root-level fields into a single DataTable
39
+ * - Empty snapshots: returns []
40
+ */
41
+ export function NormalizeToTables(snap, defaultTableName = 'results') {
42
+ const s = snap;
43
+ // Multi-table: tables array is authoritative.
44
+ // Ensure each table has `rows: []` and `columns: []` defaults — downstream
45
+ // consumers (artifact tool handlers, exporters) assume these are arrays.
46
+ // A plain-JSON table with missing fields will crash `.length` / `.map` /
47
+ // `.filter` calls otherwise.
48
+ if (Array.isArray(s.tables) && s.tables.length > 0) {
49
+ return s.tables.map((t) => ({
50
+ ...t,
51
+ rows: Array.isArray(t.rows) ? t.rows : [],
52
+ columns: Array.isArray(t.columns) ? t.columns : [],
53
+ name: typeof t.name === 'string' ? t.name : defaultTableName,
54
+ }));
55
+ }
56
+ // Legacy single-table: wrap root-level fields via factory method
57
+ if (s.rows || s.columns || s.metadata?.sql) {
58
+ return [DataTable.FromLegacySpec(s, defaultTableName)];
59
+ }
60
+ // Empty (context-only snapshot)
61
+ return [];
62
+ }
63
+ /**
64
+ * Get the total row count across all tables in a snapshot.
65
+ */
66
+ export function TotalRowCount(snap) {
67
+ return NormalizeToTables(snap).reduce((sum, table) => sum + (table.metadata?.rowCount ?? table.rows.length), 0);
68
+ }
69
+ /**
70
+ * Get the total available row count across all tables
71
+ * (the full dataset size, not just the current page).
72
+ */
73
+ export function TotalAvailableRowCount(snap) {
74
+ return NormalizeToTables(snap).reduce((sum, table) => sum + (table.metadata?.totalAvailableRows ??
75
+ table.metadata?.rowCount ??
76
+ table.rows.length), 0);
77
+ }
78
+ //# sourceMappingURL=data-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-snapshot.js","sourceRoot":"","sources":["../../src/generic/data-snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { MJColumnDescriptor } from './column-descriptors.js';
2
+ /**
3
+ * A named, pre-computed aggregation or metric.
4
+ */
5
+ export interface DataComputation {
6
+ /** Display name: "Total Revenue", "Average Order Value" */
7
+ name: string;
8
+ /** Type of aggregation */
9
+ type: 'sum' | 'avg' | 'count' | 'min' | 'max' | 'median' | 'distinct_count' | 'custom';
10
+ /** Source field this computation operates on */
11
+ field?: string;
12
+ /** Which table this computation belongs to (for cross-table snapshots) */
13
+ table?: string;
14
+ /** The computed value */
15
+ value: number | string | boolean;
16
+ /** Human-formatted display value: "$1,234,567.89" */
17
+ formattedValue?: string;
18
+ /** Explanation of what this computation represents */
19
+ description?: string;
20
+ }
21
+ /**
22
+ * Metadata about how a DataTable's data was produced.
23
+ * Every field is optional — populate what's available.
24
+ */
25
+ export interface DataTableMetadata {
26
+ /** SQL that produced this data (if source is 'query') */
27
+ sql?: string;
28
+ /** MJ entity name (if source is 'view') */
29
+ entityName?: string;
30
+ /** Extra WHERE filter applied (if source is 'view') */
31
+ extraFilter?: string;
32
+ /** Query name in MJ (if from a stored query) */
33
+ queryName?: string;
34
+ /** Query category path in MJ (if from a stored query) */
35
+ queryCategoryPath?: string;
36
+ /** Query parameters used */
37
+ parameters?: Record<string, string | number | boolean>;
38
+ /** Number of rows in the `rows[]` array (this page of results) */
39
+ rowCount?: number;
40
+ /** Starting row index in the full result set (0-based) */
41
+ startRowIndex?: number;
42
+ /** Page size used for this result set */
43
+ pageSize?: number;
44
+ /** Total rows available from the query/view (not the entire table) */
45
+ totalAvailableRows?: number;
46
+ /** Time to execute the query/view in milliseconds */
47
+ executionTimeMs?: number;
48
+ /** When this data was fetched (UTC) */
49
+ fetchedAt?: Date;
50
+ /** For computed tables: how the data was derived */
51
+ computationDescription?: string;
52
+ }
53
+ /**
54
+ * A single named dataset: columns + rows + provenance + per-table state.
55
+ *
56
+ * This is the standard unit of tabular data in MemberJunction.
57
+ * Self-describing: given just this object, a consumer knows what the
58
+ * data is, where it came from, and how to interpret each column.
59
+ *
60
+ * Rows are flat `Record<string, unknown>[]` — same shape as RunView/RunQuery.
61
+ */
62
+ export declare class DataTable {
63
+ /** Unique name for this table within a collection */
64
+ name: string;
65
+ /** Human-readable description of what this table contains */
66
+ description?: string;
67
+ /** How this table's data was produced */
68
+ source?: 'query' | 'view' | 'computed' | 'static' | 'other';
69
+ /** Column definitions with type information and entity lineage */
70
+ columns: MJColumnDescriptor[];
71
+ /** The actual row data */
72
+ rows: Record<string, unknown>[];
73
+ /** How the data was produced, how much there is, how long it took */
74
+ metadata?: DataTableMetadata;
75
+ /** Pre-computed aggregations for this table's data */
76
+ computations?: DataComputation[];
77
+ /** Current sort state applied to this table */
78
+ sorting?: Array<{
79
+ field: string;
80
+ direction: 'asc' | 'desc';
81
+ }>;
82
+ /** Currently selected rows in this table */
83
+ selectedRows?: Array<{
84
+ rowIndex: number;
85
+ rowKey?: string;
86
+ rowData?: Record<string, unknown>;
87
+ }>;
88
+ /** Current page number (1-based) */
89
+ pageNumber?: number;
90
+ /** Create from a single-table DataSnapshot (legacy format) */
91
+ static FromLegacySpec(spec: {
92
+ source?: string;
93
+ columns?: MJColumnDescriptor[];
94
+ rows?: Record<string, unknown>[];
95
+ metadata?: DataTableMetadata;
96
+ entityName?: string;
97
+ extraFilter?: string;
98
+ queryName?: string;
99
+ queryCategoryPath?: string;
100
+ parameters?: Record<string, string | number | boolean>;
101
+ }, defaultName?: string): DataTable;
102
+ }
103
+ //# sourceMappingURL=data-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../src/generic/data-table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * A single named dataset: columns + rows + provenance + per-table state.
3
+ *
4
+ * This is the standard unit of tabular data in MemberJunction.
5
+ * Self-describing: given just this object, a consumer knows what the
6
+ * data is, where it came from, and how to interpret each column.
7
+ *
8
+ * Rows are flat `Record<string, unknown>[]` — same shape as RunView/RunQuery.
9
+ */
10
+ export class DataTable {
11
+ constructor() {
12
+ /** Column definitions with type information and entity lineage */
13
+ this.columns = [];
14
+ /** The actual row data */
15
+ this.rows = [];
16
+ }
17
+ /** Create from a single-table DataSnapshot (legacy format) */
18
+ static FromLegacySpec(spec, defaultName = 'results') {
19
+ const table = new DataTable();
20
+ table.name = defaultName;
21
+ table.source = spec.source;
22
+ table.columns = spec.columns ?? [];
23
+ table.rows = spec.rows ?? [];
24
+ table.metadata = spec.metadata ? {
25
+ ...spec.metadata,
26
+ entityName: spec.entityName,
27
+ extraFilter: spec.extraFilter,
28
+ queryName: spec.queryName,
29
+ queryCategoryPath: spec.queryCategoryPath,
30
+ parameters: spec.parameters,
31
+ } : undefined;
32
+ return table;
33
+ }
34
+ }
35
+ //# sourceMappingURL=data-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../src/generic/data-table.ts"],"names":[],"mappings":"AAuDA;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IAAtB;QAUI,kEAAkE;QAClE,YAAO,GAAyB,EAAE,CAAC;QAEnC,0BAA0B;QAC1B,SAAI,GAA8B,EAAE,CAAC;IA8CzC,CAAC;IA3BG,8DAA8D;IAC9D,MAAM,CAAC,cAAc,CAAC,IAUrB,EAAE,cAAsB,SAAS;QAC9B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAA6B,CAAC;QAClD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7B,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -171,6 +171,17 @@ export declare const EntityPermissionType: {
171
171
  readonly Delete: "Delete";
172
172
  };
173
173
  export type EntityPermissionType = typeof EntityPermissionType[keyof typeof EntityPermissionType];
174
+ /**
175
+ * Distinguishes an additive grant from an explicit refusal on an EntityPermission row.
176
+ * A matching Deny row overrides any Allow rows for the same action across all of the
177
+ * user's roles. Default is 'Allow' to preserve backwards compatibility for rows
178
+ * created before the Type column existed.
179
+ */
180
+ export declare const EntityPermissionEffect: {
181
+ readonly Allow: "Allow";
182
+ readonly Deny: "Deny";
183
+ };
184
+ export type EntityPermissionEffect = typeof EntityPermissionEffect[keyof typeof EntityPermissionEffect];
174
185
  export declare class EntityUserPermissionInfo {
175
186
  ID: string;
176
187
  Entity: EntityInfo;
@@ -188,6 +199,13 @@ export declare class EntityPermissionInfo extends BaseInfo {
188
199
  ID: string;
189
200
  EntityID: string;
190
201
  RoleID: string;
202
+ /**
203
+ * Allow (default) or Deny. Deny rows override matching Allow rows for the same action
204
+ * during `EntityInfo.GetUserPermisions()` aggregation. Added in Phase 2b of the unified
205
+ * permissions architecture; defaults to 'Allow' for backwards compatibility with rows
206
+ * materialized before the column existed.
207
+ */
208
+ Type: string;
191
209
  CanCreate: boolean;
192
210
  CanRead: boolean;
193
211
  CanUpdate: boolean;
@@ -1251,9 +1269,15 @@ export declare class EntityInfo extends BaseInfo {
1251
1269
  */
1252
1270
  get ParentEntityFieldNames(): Set<string>;
1253
1271
  /**
1254
- * Returns the Permissions for this entity for a given user, based on the roles the user is part of
1255
- * @param user
1256
- * @returns
1272
+ * Returns the Permissions for this entity for a given user, based on the roles the user is part of.
1273
+ *
1274
+ * Allow rows are OR-aggregated across all of the user's matching roles; any single
1275
+ * Allow on an action yields permission for that action. Deny rows from any matching
1276
+ * role then *subtract* from the aggregated Allow set — so a Deny on `CanDelete`
1277
+ * overrides a Delete grant that the user otherwise has from another role. This lets
1278
+ * administrators carve out specific role exclusions without restructuring the Allow
1279
+ * hierarchy. Rows with a missing/unknown Type default to Allow for backwards
1280
+ * compatibility with data written before the Type column existed (Phase 2b).
1257
1281
  */
1258
1282
  GetUserPermisions(user: UserInfo): EntityUserPermissionInfo;
1259
1283
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"entityInfo.d.ts","sourceRoot":"","sources":["../../src/generic/entityInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entityInfo.d.ts","sourceRoot":"","sources":["../../src/generic/entityInfo.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,16 @@ export const EntityPermissionType = {
214
214
  Update: 'Update',
215
215
  Delete: 'Delete',
216
216
  };
217
+ /**
218
+ * Distinguishes an additive grant from an explicit refusal on an EntityPermission row.
219
+ * A matching Deny row overrides any Allow rows for the same action across all of the
220
+ * user's roles. Default is 'Allow' to preserve backwards compatibility for rows
221
+ * created before the Type column existed.
222
+ */
223
+ export const EntityPermissionEffect = {
224
+ Allow: 'Allow',
225
+ Deny: 'Deny',
226
+ };
217
227
  export class EntityUserPermissionInfo {
218
228
  constructor() {
219
229
  this.ID = null;
@@ -260,6 +270,13 @@ export class EntityPermissionInfo extends BaseInfo {
260
270
  this.ID = null;
261
271
  this.EntityID = null;
262
272
  this.RoleID = null;
273
+ /**
274
+ * Allow (default) or Deny. Deny rows override matching Allow rows for the same action
275
+ * during `EntityInfo.GetUserPermisions()` aggregation. Added in Phase 2b of the unified
276
+ * permissions architecture; defaults to 'Allow' for backwards compatibility with rows
277
+ * materialized before the column existed.
278
+ */
279
+ this.Type = 'Allow';
263
280
  this.CanCreate = null;
264
281
  this.CanRead = null;
265
282
  this.CanUpdate = null;
@@ -1254,9 +1271,15 @@ export class EntityInfo extends BaseInfo {
1254
1271
  return this._parentEntityFieldNamesCache;
1255
1272
  }
1256
1273
  /**
1257
- * Returns the Permissions for this entity for a given user, based on the roles the user is part of
1258
- * @param user
1259
- * @returns
1274
+ * Returns the Permissions for this entity for a given user, based on the roles the user is part of.
1275
+ *
1276
+ * Allow rows are OR-aggregated across all of the user's matching roles; any single
1277
+ * Allow on an action yields permission for that action. Deny rows from any matching
1278
+ * role then *subtract* from the aggregated Allow set — so a Deny on `CanDelete`
1279
+ * overrides a Delete grant that the user otherwise has from another role. This lets
1280
+ * administrators carve out specific role exclusions without restructuring the Allow
1281
+ * hierarchy. Rows with a missing/unknown Type default to Allow for backwards
1282
+ * compatibility with data written before the Type column existed (Phase 2b).
1260
1283
  */
1261
1284
  GetUserPermisions(user) {
1262
1285
  try {
@@ -1267,19 +1290,22 @@ export class EntityInfo extends BaseInfo {
1267
1290
  if (roleMatch) // user has this role
1268
1291
  permissionList.push(ep);
1269
1292
  }
1270
- // now that we have matched any number of EntityPermissions to the current user, aggregate the permissions
1271
- const userPermission = new EntityUserPermissionInfo();
1272
- userPermission.CanCreate = false;
1273
- userPermission.CanDelete = false;
1274
- userPermission.CanRead = false;
1275
- userPermission.CanUpdate = false;
1276
- for (let j = 0; j < permissionList.length; j++) {
1277
- const ep = permissionList[j];
1278
- userPermission.CanCreate = userPermission.CanCreate || ep.CanCreate;
1279
- userPermission.CanRead = userPermission.CanRead || ep.CanRead;
1280
- userPermission.CanUpdate = userPermission.CanUpdate || ep.CanUpdate;
1281
- userPermission.CanDelete = userPermission.CanDelete || ep.CanDelete;
1293
+ // Aggregate Allow and Deny separately, then subtract Deny from Allow per action.
1294
+ const allow = { CanCreate: false, CanRead: false, CanUpdate: false, CanDelete: false };
1295
+ const deny = { CanCreate: false, CanRead: false, CanUpdate: false, CanDelete: false };
1296
+ for (const ep of permissionList) {
1297
+ const isDeny = (ep.Type || 'Allow').trim().toLowerCase() === 'deny';
1298
+ const bucket = isDeny ? deny : allow;
1299
+ bucket.CanCreate = bucket.CanCreate || !!ep.CanCreate;
1300
+ bucket.CanRead = bucket.CanRead || !!ep.CanRead;
1301
+ bucket.CanUpdate = bucket.CanUpdate || !!ep.CanUpdate;
1302
+ bucket.CanDelete = bucket.CanDelete || !!ep.CanDelete;
1282
1303
  }
1304
+ const userPermission = new EntityUserPermissionInfo();
1305
+ userPermission.CanCreate = allow.CanCreate && !deny.CanCreate;
1306
+ userPermission.CanRead = allow.CanRead && !deny.CanRead;
1307
+ userPermission.CanUpdate = allow.CanUpdate && !deny.CanUpdate;
1308
+ userPermission.CanDelete = allow.CanDelete && !deny.CanDelete;
1283
1309
  userPermission.Entity = this;
1284
1310
  userPermission.User = user;
1285
1311
  return userPermission;