@memberjunction/data-context 3.4.0 → 4.1.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/index.d.ts +1 -1
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/types.js +31 -37
- package/dist/types.js.map +1 -1
- package/package.json +7 -6
- package/readme.md +314 -164
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './types';
|
|
1
|
+
export * from './types.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./types"), exports);
|
|
1
|
+
export * from './types.js';
|
|
18
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
package/dist/types.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.DataContext = exports.DataContextItem = exports.DataContextFieldInfo = void 0;
|
|
4
|
-
const core_1 = require("@memberjunction/core");
|
|
5
|
-
const global_1 = require("@memberjunction/global");
|
|
1
|
+
import { LogError, Metadata, RunQuery, RunView, CompositeKey } from "@memberjunction/core";
|
|
2
|
+
import { MJGlobal } from "@memberjunction/global";
|
|
6
3
|
/**
|
|
7
4
|
* Utility class for storing field info from within a DataContextItem object
|
|
8
5
|
*/
|
|
9
|
-
class DataContextFieldInfo {
|
|
6
|
+
export class DataContextFieldInfo {
|
|
10
7
|
}
|
|
11
|
-
exports.DataContextFieldInfo = DataContextFieldInfo;
|
|
12
8
|
/**
|
|
13
9
|
* Base class and the default implementation for the DataContextItem object, other implementations (sub-classes) can be registered as well with higher priorities to take over for this particular class.
|
|
14
10
|
*/
|
|
15
|
-
class DataContextItem {
|
|
11
|
+
export class DataContextItem {
|
|
16
12
|
constructor() {
|
|
17
13
|
/*
|
|
18
14
|
* The fields in the view, query, or entity
|
|
@@ -168,7 +164,7 @@ class DataContextItem {
|
|
|
168
164
|
}
|
|
169
165
|
}
|
|
170
166
|
catch (e) {
|
|
171
|
-
|
|
167
|
+
LogError(`Error in DataContextItem.Load: ${e && e.message ? e.message : ''}`);
|
|
172
168
|
return false;
|
|
173
169
|
}
|
|
174
170
|
}
|
|
@@ -224,7 +220,7 @@ class DataContextItem {
|
|
|
224
220
|
*/
|
|
225
221
|
async LoadFromView(contextUser) {
|
|
226
222
|
try {
|
|
227
|
-
const rv = new
|
|
223
|
+
const rv = new RunView();
|
|
228
224
|
const viewParams = { IgnoreMaxRows: true }; // ignore max rows for both types
|
|
229
225
|
viewParams.Fields = this.ViewEntity.ViewEntityInfo.Fields.map((f) => f.Name); // include all fields
|
|
230
226
|
viewParams.ViewID = this.ViewID;
|
|
@@ -235,12 +231,12 @@ class DataContextItem {
|
|
|
235
231
|
}
|
|
236
232
|
else {
|
|
237
233
|
this.DataLoadingError = `Error running view. View Params: ${JSON.stringify(viewParams)}`;
|
|
238
|
-
|
|
234
|
+
LogError(this.DataLoadingError);
|
|
239
235
|
return false;
|
|
240
236
|
}
|
|
241
237
|
}
|
|
242
238
|
catch (e) {
|
|
243
|
-
|
|
239
|
+
LogError(`Error in DataContextItem.LoadFromView: ${e && e.message ? e.message : ''}`);
|
|
244
240
|
return false;
|
|
245
241
|
}
|
|
246
242
|
}
|
|
@@ -251,8 +247,8 @@ class DataContextItem {
|
|
|
251
247
|
*/
|
|
252
248
|
async LoadFromFullEntity(contextUser) {
|
|
253
249
|
try {
|
|
254
|
-
const md = new
|
|
255
|
-
const rv = new
|
|
250
|
+
const md = new Metadata();
|
|
251
|
+
const rv = new RunView();
|
|
256
252
|
const viewParams = { IgnoreMaxRows: true }; // ignore max rows for both types
|
|
257
253
|
const e = md.Entities.find((e) => e.ID === this.EntityID);
|
|
258
254
|
viewParams.EntityName = e.Name;
|
|
@@ -263,12 +259,12 @@ class DataContextItem {
|
|
|
263
259
|
}
|
|
264
260
|
else {
|
|
265
261
|
this.DataLoadingError = `Error running view. View Params: ${JSON.stringify(viewParams)}`;
|
|
266
|
-
|
|
262
|
+
LogError(this.DataLoadingError);
|
|
267
263
|
return false;
|
|
268
264
|
}
|
|
269
265
|
}
|
|
270
266
|
catch (e) {
|
|
271
|
-
|
|
267
|
+
LogError(`Error in DataContextItem.LoadFromFullEntity: ${e && e.message ? e.message : ''}`);
|
|
272
268
|
return false;
|
|
273
269
|
}
|
|
274
270
|
}
|
|
@@ -279,7 +275,7 @@ class DataContextItem {
|
|
|
279
275
|
*/
|
|
280
276
|
async LoadFromSingleRecord(contextUser, includeRelatedEntityData, maxRecordsPerRelationship) {
|
|
281
277
|
try {
|
|
282
|
-
const md = new
|
|
278
|
+
const md = new Metadata();
|
|
283
279
|
const record = await md.GetEntityObject(this.EntityName, contextUser);
|
|
284
280
|
const pkeyVals = [];
|
|
285
281
|
const ei = md.Entities.find((e) => e.ID === this.EntityID);
|
|
@@ -289,7 +285,7 @@ class DataContextItem {
|
|
|
289
285
|
const v = rawVals[i];
|
|
290
286
|
pkeyVals.push({ FieldName: pk.Name, Value: v });
|
|
291
287
|
}
|
|
292
|
-
let compositeKey = new
|
|
288
|
+
let compositeKey = new CompositeKey();
|
|
293
289
|
compositeKey.KeyValuePairs = pkeyVals;
|
|
294
290
|
if (await record.InnerLoad(compositeKey)) {
|
|
295
291
|
const dataObject = await record.GetDataObject({
|
|
@@ -305,13 +301,13 @@ class DataContextItem {
|
|
|
305
301
|
}
|
|
306
302
|
else {
|
|
307
303
|
this.DataLoadingError = `Error loading single record: ${this.RecordName}`;
|
|
308
|
-
|
|
304
|
+
LogError(this.DataLoadingError);
|
|
309
305
|
return false;
|
|
310
306
|
}
|
|
311
307
|
}
|
|
312
308
|
catch (e) {
|
|
313
309
|
this.DataLoadingError = `Error in DataContextItem.LoadFromSingleRecord: ${e && e.message ? e.message : ''}`;
|
|
314
|
-
|
|
310
|
+
LogError(this.DataLoadingError);
|
|
315
311
|
return false;
|
|
316
312
|
}
|
|
317
313
|
}
|
|
@@ -330,7 +326,7 @@ class DataContextItem {
|
|
|
330
326
|
*/
|
|
331
327
|
async LoadFromQuery(contextUser) {
|
|
332
328
|
try {
|
|
333
|
-
const rq = new
|
|
329
|
+
const rq = new RunQuery();
|
|
334
330
|
const queryResult = await rq.RunQuery({ QueryID: this.QueryID }, contextUser);
|
|
335
331
|
if (queryResult && queryResult.Success) {
|
|
336
332
|
this.Data = queryResult.Results;
|
|
@@ -338,13 +334,13 @@ class DataContextItem {
|
|
|
338
334
|
}
|
|
339
335
|
else {
|
|
340
336
|
this.DataLoadingError = `Error running query ${this.RecordName}`;
|
|
341
|
-
|
|
337
|
+
LogError(this.DataLoadingError);
|
|
342
338
|
return false;
|
|
343
339
|
}
|
|
344
340
|
}
|
|
345
341
|
catch (e) {
|
|
346
342
|
this.DataLoadingError = `Error in DataContextItem.LoadFromQuery: ${e && e.message ? e.message : ''}`;
|
|
347
|
-
|
|
343
|
+
LogError(this.DataLoadingError);
|
|
348
344
|
return false;
|
|
349
345
|
}
|
|
350
346
|
}
|
|
@@ -362,13 +358,13 @@ class DataContextItem {
|
|
|
362
358
|
}
|
|
363
359
|
else {
|
|
364
360
|
this.DataLoadingError = `Error loading - data is null or undefined`;
|
|
365
|
-
|
|
361
|
+
LogError(this.DataLoadingError);
|
|
366
362
|
return false;
|
|
367
363
|
}
|
|
368
364
|
}
|
|
369
365
|
catch (e) {
|
|
370
366
|
this.DataLoadingError = `Error in DataContextItem.LoadFromDataObject: ${e && e.message ? e.message : ''}`;
|
|
371
|
-
|
|
367
|
+
LogError(this.DataLoadingError);
|
|
372
368
|
return false;
|
|
373
369
|
}
|
|
374
370
|
}
|
|
@@ -426,11 +422,10 @@ class DataContextItem {
|
|
|
426
422
|
return item;
|
|
427
423
|
}
|
|
428
424
|
}
|
|
429
|
-
exports.DataContextItem = DataContextItem;
|
|
430
425
|
/**
|
|
431
426
|
* Base class and the default implementation for the DataContext object, other implementations can be registered as well with higher priorities
|
|
432
427
|
**/
|
|
433
|
-
class DataContext {
|
|
428
|
+
export class DataContext {
|
|
434
429
|
constructor() {
|
|
435
430
|
/**
|
|
436
431
|
* The items in the data context
|
|
@@ -488,7 +483,7 @@ class DataContext {
|
|
|
488
483
|
try {
|
|
489
484
|
if (!DataContextID || DataContextID.length === 0)
|
|
490
485
|
throw new Error(`Data Context ID not set or invalid`);
|
|
491
|
-
const p = provider ? provider :
|
|
486
|
+
const p = provider ? provider : Metadata.Provider;
|
|
492
487
|
const rv = p;
|
|
493
488
|
const dciEntityInfo = p.Entities.find((e) => e.Name === 'Data Context Items');
|
|
494
489
|
if (!dciEntityInfo)
|
|
@@ -512,7 +507,7 @@ class DataContext {
|
|
|
512
507
|
return true;
|
|
513
508
|
}
|
|
514
509
|
catch (ex) {
|
|
515
|
-
|
|
510
|
+
LogError(`Error in DataContext.LoadMetadata: ${ex && ex.message ? ex.message : ''}`);
|
|
516
511
|
return false;
|
|
517
512
|
}
|
|
518
513
|
}
|
|
@@ -543,7 +538,7 @@ class DataContext {
|
|
|
543
538
|
try {
|
|
544
539
|
if (!this.ID || this.ID.length === 0)
|
|
545
540
|
throw new Error(`Data Context ID not set or invalid`);
|
|
546
|
-
const md = new
|
|
541
|
+
const md = new Metadata();
|
|
547
542
|
const tg = await md.CreateTransactionGroup();
|
|
548
543
|
const itemsArray = this.Items.map((item) => {
|
|
549
544
|
return {
|
|
@@ -600,7 +595,7 @@ class DataContext {
|
|
|
600
595
|
return false;
|
|
601
596
|
}
|
|
602
597
|
catch (e) {
|
|
603
|
-
|
|
598
|
+
LogError(`Error in DataContext.SaveItems: ${e && e.message ? e.message : ''}`);
|
|
604
599
|
return false;
|
|
605
600
|
}
|
|
606
601
|
}
|
|
@@ -620,7 +615,7 @@ class DataContext {
|
|
|
620
615
|
* NOTE: this method does NOT add the newly created DataContextItem to the data context, you must do that yourself if you use this method directly.
|
|
621
616
|
*/
|
|
622
617
|
static CreateDataContextItem() {
|
|
623
|
-
const item =
|
|
618
|
+
const item = MJGlobal.Instance.ClassFactory.CreateInstance(DataContextItem);
|
|
624
619
|
return item;
|
|
625
620
|
}
|
|
626
621
|
/**
|
|
@@ -642,7 +637,7 @@ class DataContext {
|
|
|
642
637
|
return results.every(r => r); // return true only if all items loaded successfully, otherwise return false
|
|
643
638
|
}
|
|
644
639
|
catch (e) {
|
|
645
|
-
|
|
640
|
+
LogError(`Error in DataContext.LoadData: ${e && e.message ? e.message : ''}`);
|
|
646
641
|
return false;
|
|
647
642
|
}
|
|
648
643
|
}
|
|
@@ -671,7 +666,7 @@ class DataContext {
|
|
|
671
666
|
}
|
|
672
667
|
}
|
|
673
668
|
catch (e) {
|
|
674
|
-
|
|
669
|
+
LogError(e);
|
|
675
670
|
return false;
|
|
676
671
|
}
|
|
677
672
|
}
|
|
@@ -714,7 +709,7 @@ class DataContext {
|
|
|
714
709
|
*/
|
|
715
710
|
static async Clone(context, includeData = false, contextUser = undefined) {
|
|
716
711
|
try {
|
|
717
|
-
const md = new
|
|
712
|
+
const md = new Metadata();
|
|
718
713
|
// first, clone the data context itself at the top level
|
|
719
714
|
const currentContext = await md.GetEntityObject('Data Contexts', contextUser);
|
|
720
715
|
await currentContext.Load(context.ID);
|
|
@@ -749,10 +744,9 @@ class DataContext {
|
|
|
749
744
|
}
|
|
750
745
|
}
|
|
751
746
|
catch (e) {
|
|
752
|
-
|
|
747
|
+
LogError(`Error in DataContext.Clone: ${e && e.message ? e.message : ''}`);
|
|
753
748
|
return null;
|
|
754
749
|
}
|
|
755
750
|
}
|
|
756
751
|
}
|
|
757
|
-
exports.DataContext = DataContext;
|
|
758
752
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/data-context",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "4.1.0",
|
|
4
5
|
"description": "This library provides a set of objects that handle run-time loading of data contexts as well as types to be able to use across application tiers for interacting with data contexts.",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
@@ -9,19 +10,19 @@
|
|
|
9
10
|
],
|
|
10
11
|
"scripts": {
|
|
11
12
|
"start": "ts-node-dev src/index.ts",
|
|
12
|
-
"build": "tsc",
|
|
13
|
+
"build": "tsc && tsc-alias -f",
|
|
13
14
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
14
15
|
},
|
|
15
16
|
"author": "MemberJunction.com",
|
|
16
17
|
"license": "ISC",
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"ts-node-dev": "^2.0.0",
|
|
19
|
-
"typescript": "^5.
|
|
20
|
+
"typescript": "^5.9.3"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@memberjunction/global": "
|
|
23
|
-
"@memberjunction/core-entities": "
|
|
24
|
-
"@memberjunction/core": "
|
|
23
|
+
"@memberjunction/global": "4.1.0",
|
|
24
|
+
"@memberjunction/core-entities": "4.1.0",
|
|
25
|
+
"@memberjunction/core": "4.1.0"
|
|
25
26
|
},
|
|
26
27
|
"repository": {
|
|
27
28
|
"type": "git",
|
package/readme.md
CHANGED
|
@@ -1,15 +1,49 @@
|
|
|
1
1
|
# @memberjunction/data-context
|
|
2
2
|
|
|
3
|
-
The `@memberjunction/data-context` library provides a
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
The `@memberjunction/data-context` library provides a metadata-driven framework for managing collections of related data items in MemberJunction applications. It enables developers to define, load, persist, and manipulate data from multiple sources -- views, queries, entities, single records, and raw SQL -- through a unified, type-safe API that works across both client and server tiers.
|
|
4
|
+
|
|
5
|
+
## Architecture Overview
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
graph TD
|
|
9
|
+
subgraph Consumer["Consumer Code"]
|
|
10
|
+
style Consumer fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
11
|
+
A["Application / Agent / Workflow"]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
subgraph DataContextPkg["@memberjunction/data-context"]
|
|
15
|
+
style DataContextPkg fill:#7c5295,stroke:#563a6b,color:#fff
|
|
16
|
+
DC["DataContext"]
|
|
17
|
+
DCI["DataContextItem"]
|
|
18
|
+
DCFI["DataContextFieldInfo"]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
subgraph Sources["Data Sources"]
|
|
22
|
+
style Sources fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
23
|
+
V["Views (RunView)"]
|
|
24
|
+
Q["Queries (RunQuery)"]
|
|
25
|
+
E["Full Entities"]
|
|
26
|
+
SR["Single Records"]
|
|
27
|
+
SQL["SQL Statements"]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
subgraph Persistence["Persistence Layer"]
|
|
31
|
+
style Persistence fill:#b8762f,stroke:#8a5722,color:#fff
|
|
32
|
+
DCE["DataContextEntity"]
|
|
33
|
+
DCIE["DataContextItemEntity"]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
A --> DC
|
|
37
|
+
DC -->|"manages"| DCI
|
|
38
|
+
DCI -->|"field metadata"| DCFI
|
|
39
|
+
DCI -->|"loads from"| V
|
|
40
|
+
DCI -->|"loads from"| Q
|
|
41
|
+
DCI -->|"loads from"| E
|
|
42
|
+
DCI -->|"loads from"| SR
|
|
43
|
+
DCI -->|"loads from"| SQL
|
|
44
|
+
DC -->|"persists via"| DCE
|
|
45
|
+
DC -->|"persists items via"| DCIE
|
|
46
|
+
```
|
|
13
47
|
|
|
14
48
|
## Installation
|
|
15
49
|
|
|
@@ -17,54 +51,167 @@ A Data Context in MemberJunction represents a collection of data items that can
|
|
|
17
51
|
npm install @memberjunction/data-context
|
|
18
52
|
```
|
|
19
53
|
|
|
20
|
-
## Key
|
|
54
|
+
## Key Concepts
|
|
55
|
+
|
|
56
|
+
A **Data Context** is a named collection of **Data Context Items**, each of which represents a distinct data source. An item can be one of five types:
|
|
57
|
+
|
|
58
|
+
| Type | Description | Required Fields |
|
|
59
|
+
|-----------------|--------------------------------------------------|----------------------------------|
|
|
60
|
+
| `view` | A saved MemberJunction User View | `ViewID`, `EntityID` |
|
|
61
|
+
| `query` | A registered MemberJunction Query | `QueryID` |
|
|
62
|
+
| `full_entity` | All records from an entity | `EntityID` |
|
|
63
|
+
| `single_record` | One record, optionally with related entity data | `EntityID`, `RecordID` |
|
|
64
|
+
| `sql` | A raw SQL statement (server-side only) | `SQL` |
|
|
65
|
+
|
|
66
|
+
## Class Hierarchy
|
|
67
|
+
|
|
68
|
+
```mermaid
|
|
69
|
+
classDiagram
|
|
70
|
+
class DataContext {
|
|
71
|
+
+ID: string
|
|
72
|
+
+DataContextEntity: DataContextEntity
|
|
73
|
+
+Items: DataContextItem[]
|
|
74
|
+
+LoadMetadata(id, contextUser, provider) Promise~boolean~
|
|
75
|
+
+LoadData(dataSource, forceRefresh, ...) Promise~boolean~
|
|
76
|
+
+Load(id, dataSource, ...) Promise~boolean~
|
|
77
|
+
+SaveItems(contextUser, persistItemData) Promise~boolean~
|
|
78
|
+
+AddDataContextItem() DataContextItem
|
|
79
|
+
+ValidateDataExists(ignoreFailedLoadItems) boolean
|
|
80
|
+
+ConvertToSimpleObject(itemPrefix, includeFailedLoadItems) object
|
|
81
|
+
+CreateSimpleObjectTypeDefinition(itemPrefix, includeFailedLoadItems) string
|
|
82
|
+
+LoadDataFromObject(data) boolean
|
|
83
|
+
+Clone(context, includeData, contextUser)$ Promise~DataContext~
|
|
84
|
+
+FromRawData(rawData)$ Promise~DataContext~
|
|
85
|
+
+CreateDataContextItem()$ DataContextItem
|
|
86
|
+
+MapEntityFieldsToDataContextFields(entity)$ DataContextFieldInfo[]
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
class DataContextItem {
|
|
90
|
+
+Type: ItemType
|
|
91
|
+
+RecordID: string
|
|
92
|
+
+EntityID: string
|
|
93
|
+
+ViewID: string
|
|
94
|
+
+QueryID: string
|
|
95
|
+
+RecordName: string
|
|
96
|
+
+SQL: string
|
|
97
|
+
+CodeName: string
|
|
98
|
+
+EntityName: string
|
|
99
|
+
+Fields: DataContextFieldInfo[]
|
|
100
|
+
+DataContextItemID: string
|
|
101
|
+
+Data: object[]
|
|
102
|
+
+DataLoaded: boolean
|
|
103
|
+
+DataLoadingError: string
|
|
104
|
+
+Description: string
|
|
105
|
+
+AdditionalDescription: string
|
|
106
|
+
+LoadData(dataSource, ...) Promise~boolean~
|
|
107
|
+
+LoadDataFromObject(data) boolean
|
|
108
|
+
+ValidateDataExists(ignoreFailedLoad) boolean
|
|
109
|
+
+FromViewEntity(viewEntity)$ DataContextItem
|
|
110
|
+
+FromSingleRecord(record)$ DataContextItem
|
|
111
|
+
+FromQuery(query)$ DataContextItem
|
|
112
|
+
+FromFullEntity(entity)$ DataContextItem
|
|
113
|
+
+FromRawItem(rawItem)$ DataContextItem
|
|
114
|
+
#LoadFromView(contextUser) Promise~boolean~
|
|
115
|
+
#LoadFromFullEntity(contextUser) Promise~boolean~
|
|
116
|
+
#LoadFromSingleRecord(contextUser, ...) Promise~boolean~
|
|
117
|
+
#LoadFromQuery(contextUser) Promise~boolean~
|
|
118
|
+
#LoadFromSQL(dataSource, contextUser) Promise~boolean~
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
class DataContextFieldInfo {
|
|
122
|
+
+Name: string
|
|
123
|
+
+Type: string
|
|
124
|
+
+Description: string
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
class DataContextItemServer {
|
|
128
|
+
#LoadFromSQL(dataSource, contextUser) Promise~boolean~
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
DataContext "1" --> "*" DataContextItem : contains
|
|
132
|
+
DataContextItem "1" --> "*" DataContextFieldInfo : describes fields
|
|
133
|
+
DataContextItemServer --|> DataContextItem : extends
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Data Lifecycle
|
|
137
|
+
|
|
138
|
+
```mermaid
|
|
139
|
+
flowchart LR
|
|
140
|
+
subgraph Step1["1. Create"]
|
|
141
|
+
style Step1 fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
142
|
+
C1["new DataContext()"]
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
subgraph Step2["2. Load Metadata"]
|
|
146
|
+
style Step2 fill:#7c5295,stroke:#563a6b,color:#fff
|
|
147
|
+
C2["LoadMetadata(id)"]
|
|
148
|
+
end
|
|
21
149
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
150
|
+
subgraph Step3["3. Load Data"]
|
|
151
|
+
style Step3 fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
152
|
+
C3["LoadData(dataSource)"]
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
subgraph Step4["4. Process"]
|
|
156
|
+
style Step4 fill:#b8762f,stroke:#8a5722,color:#fff
|
|
157
|
+
C4["ValidateDataExists()\nConvertToSimpleObject()"]
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
subgraph Step5["5. Persist"]
|
|
161
|
+
style Step5 fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
162
|
+
C5["SaveItems(contextUser)"]
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
Step1 --> Step2 --> Step3 --> Step4 --> Step5
|
|
166
|
+
```
|
|
28
167
|
|
|
29
168
|
## Usage
|
|
30
169
|
|
|
31
|
-
###
|
|
170
|
+
### Loading an Existing Data Context
|
|
171
|
+
|
|
172
|
+
Use `Load()` to fetch both metadata and data in a single call:
|
|
32
173
|
|
|
33
174
|
```typescript
|
|
34
|
-
import { DataContext
|
|
35
|
-
import { Metadata } from '@memberjunction/core';
|
|
175
|
+
import { DataContext } from '@memberjunction/data-context';
|
|
36
176
|
|
|
37
|
-
// Create a new data context
|
|
38
177
|
const context = new DataContext();
|
|
39
|
-
|
|
40
|
-
// Load metadata and data for an existing data context
|
|
41
|
-
const dataContextID = 'your-data-context-id';
|
|
42
178
|
const loaded = await context.Load(
|
|
43
|
-
dataContextID,
|
|
44
|
-
dataSource,
|
|
45
|
-
false,
|
|
46
|
-
true,
|
|
47
|
-
10,
|
|
48
|
-
|
|
179
|
+
dataContextID, // ID of the data context record
|
|
180
|
+
dataSource, // Required only for SQL-type items (server-side)
|
|
181
|
+
false, // forceRefresh -- reload even if data is cached
|
|
182
|
+
true, // loadRelatedDataOnSingleRecords
|
|
183
|
+
10, // maxRecordsPerRelationship
|
|
184
|
+
contextUser // required on server-side
|
|
49
185
|
);
|
|
50
186
|
|
|
51
187
|
if (loaded) {
|
|
52
|
-
// Access the loaded data
|
|
53
188
|
context.Items.forEach(item => {
|
|
54
|
-
console.log(
|
|
55
|
-
console.log(`Data rows: ${item.Data?.length || 0}`);
|
|
189
|
+
console.log(`${item.Description}: ${item.Data?.length ?? 0} rows`);
|
|
56
190
|
});
|
|
57
191
|
}
|
|
58
192
|
```
|
|
59
193
|
|
|
60
|
-
|
|
194
|
+
Alternatively, call `LoadMetadata()` and `LoadData()` separately for finer control:
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
const context = new DataContext();
|
|
198
|
+
await context.LoadMetadata(dataContextID, contextUser);
|
|
199
|
+
|
|
200
|
+
// Inspect or modify items before loading data
|
|
201
|
+
console.log(`Items to load: ${context.Items.length}`);
|
|
202
|
+
|
|
203
|
+
await context.LoadData(dataSource, false, true, 10, contextUser);
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Creating Items Programmatically
|
|
207
|
+
|
|
208
|
+
Each item type has a dedicated static factory method.
|
|
61
209
|
|
|
62
210
|
#### From a View
|
|
63
211
|
|
|
64
212
|
```typescript
|
|
65
213
|
import { UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
66
214
|
|
|
67
|
-
// Assuming you have a view entity loaded
|
|
68
215
|
const viewEntity: UserViewEntityExtended = await md.GetEntityObject<UserViewEntityExtended>('User Views');
|
|
69
216
|
await viewEntity.Load(viewID);
|
|
70
217
|
|
|
@@ -77,7 +224,6 @@ context.Items.push(viewItem);
|
|
|
77
224
|
```typescript
|
|
78
225
|
import { BaseEntity } from '@memberjunction/core';
|
|
79
226
|
|
|
80
|
-
// Assuming you have an entity record loaded
|
|
81
227
|
const record: BaseEntity = await md.GetEntityObject('Customers');
|
|
82
228
|
await record.Load(recordID);
|
|
83
229
|
|
|
@@ -90,8 +236,7 @@ context.Items.push(recordItem);
|
|
|
90
236
|
```typescript
|
|
91
237
|
import { QueryInfo } from '@memberjunction/core';
|
|
92
238
|
|
|
93
|
-
|
|
94
|
-
const queryInfo = md.Queries.find(q => q.Name === 'My Query');
|
|
239
|
+
const queryInfo = md.Queries.find(q => q.Name === 'Monthly Revenue');
|
|
95
240
|
if (queryInfo) {
|
|
96
241
|
const queryItem = DataContextItem.FromQuery(queryInfo);
|
|
97
242
|
context.Items.push(queryItem);
|
|
@@ -103,7 +248,6 @@ if (queryInfo) {
|
|
|
103
248
|
```typescript
|
|
104
249
|
import { EntityInfo } from '@memberjunction/core';
|
|
105
250
|
|
|
106
|
-
// Get entity info from metadata
|
|
107
251
|
const entityInfo = md.Entities.find(e => e.Name === 'Products');
|
|
108
252
|
if (entityInfo) {
|
|
109
253
|
const entityItem = DataContextItem.FromFullEntity(entityInfo);
|
|
@@ -115,75 +259,85 @@ if (entityInfo) {
|
|
|
115
259
|
|
|
116
260
|
```typescript
|
|
117
261
|
// Load data for all items in the context
|
|
118
|
-
const
|
|
119
|
-
dataSource, //
|
|
262
|
+
const allLoaded = await context.LoadData(
|
|
263
|
+
dataSource, // required for SQL-type items
|
|
120
264
|
false, // forceRefresh
|
|
121
265
|
true, // loadRelatedDataOnSingleRecords
|
|
122
|
-
10
|
|
266
|
+
10 // maxRecordsPerRelationship
|
|
123
267
|
);
|
|
124
268
|
|
|
125
|
-
// Or load data for a
|
|
269
|
+
// Or load data for a single item
|
|
126
270
|
const itemLoaded = await context.Items[0].LoadData(
|
|
127
|
-
dataSource,
|
|
128
|
-
false,
|
|
129
|
-
true,
|
|
130
|
-
10
|
|
271
|
+
dataSource, false, true, 10, contextUser
|
|
131
272
|
);
|
|
132
273
|
```
|
|
133
274
|
|
|
275
|
+
### Loading Pre-fetched Data
|
|
276
|
+
|
|
277
|
+
If you already have the data available (for example, from a cache or external API), load it directly:
|
|
278
|
+
|
|
279
|
+
```typescript
|
|
280
|
+
// Load into a single item
|
|
281
|
+
const item = context.Items[0];
|
|
282
|
+
item.LoadDataFromObject(myDataArray);
|
|
283
|
+
|
|
284
|
+
// Load into all items at once (2D array, one sub-array per item in order)
|
|
285
|
+
context.LoadDataFromObject([
|
|
286
|
+
rowsForItem0,
|
|
287
|
+
rowsForItem1,
|
|
288
|
+
rowsForItem2
|
|
289
|
+
]);
|
|
290
|
+
```
|
|
291
|
+
|
|
134
292
|
### Saving Data Context Items
|
|
135
293
|
|
|
136
294
|
```typescript
|
|
137
|
-
// Save all items in the context to the database
|
|
138
295
|
const saved = await context.SaveItems(
|
|
139
|
-
|
|
140
|
-
true
|
|
296
|
+
contextUser, // context user for server-side operations
|
|
297
|
+
true // persistItemData -- also save loaded data as JSON
|
|
141
298
|
);
|
|
142
299
|
|
|
143
300
|
if (saved) {
|
|
144
|
-
console.log('Data context items saved successfully');
|
|
145
301
|
// Each item now has a DataContextItemID populated
|
|
302
|
+
context.Items.forEach(item => {
|
|
303
|
+
console.log(`Saved item ${item.DataContextItemID}`);
|
|
304
|
+
});
|
|
146
305
|
}
|
|
147
306
|
```
|
|
148
307
|
|
|
149
|
-
|
|
308
|
+
Items are saved in a single transaction group -- either all succeed or none are committed.
|
|
309
|
+
|
|
310
|
+
### Working with Loaded Data
|
|
150
311
|
|
|
151
312
|
```typescript
|
|
152
|
-
// Validate
|
|
313
|
+
// Validate all items have data
|
|
153
314
|
if (context.ValidateDataExists()) {
|
|
154
|
-
// Convert to a
|
|
155
|
-
const
|
|
315
|
+
// Convert to a flat keyed object
|
|
316
|
+
const simpleObj = context.ConvertToSimpleObject('item_', false);
|
|
156
317
|
// Result: { item_0: [...], item_1: [...], ... }
|
|
157
|
-
|
|
158
|
-
//
|
|
318
|
+
|
|
319
|
+
// Generate a TypeScript-style type definition string
|
|
159
320
|
const typeDef = context.CreateSimpleObjectTypeDefinition('item_');
|
|
160
|
-
console.log(typeDef);
|
|
161
321
|
// Output: {item_0: []; // View: Customer List, From Entity: Customers\n...}
|
|
162
322
|
}
|
|
163
323
|
|
|
164
|
-
//
|
|
324
|
+
// Check individual items for errors
|
|
165
325
|
context.Items.forEach(item => {
|
|
166
326
|
if (item.DataLoaded && item.Data) {
|
|
167
327
|
console.log(`${item.Description}: ${item.Data.length} rows`);
|
|
168
|
-
|
|
169
|
-
// Process the data
|
|
170
|
-
item.Data.forEach(row => {
|
|
171
|
-
// Work with row data
|
|
172
|
-
});
|
|
173
328
|
} else if (item.DataLoadingError) {
|
|
174
|
-
console.error(`
|
|
329
|
+
console.error(`Failed: ${item.DataLoadingError}`);
|
|
175
330
|
}
|
|
176
331
|
});
|
|
177
332
|
```
|
|
178
333
|
|
|
179
|
-
### Cloning Data
|
|
334
|
+
### Cloning a Data Context
|
|
180
335
|
|
|
181
336
|
```typescript
|
|
182
|
-
// Clone an existing data context
|
|
183
337
|
const clonedContext = await DataContext.Clone(
|
|
184
338
|
originalContext,
|
|
185
|
-
true,
|
|
186
|
-
|
|
339
|
+
true, // includeData -- copy loaded data into the clone
|
|
340
|
+
contextUser
|
|
187
341
|
);
|
|
188
342
|
|
|
189
343
|
if (clonedContext) {
|
|
@@ -191,116 +345,112 @@ if (clonedContext) {
|
|
|
191
345
|
}
|
|
192
346
|
```
|
|
193
347
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
### DataContext Class
|
|
197
|
-
|
|
198
|
-
#### Properties
|
|
199
|
-
|
|
200
|
-
- `ID: string` - The unique identifier of the data context
|
|
201
|
-
- `DataContextEntity: DataContextEntity` - The metadata entity for the data context
|
|
202
|
-
- `Items: DataContextItem[]` - Array of data context items
|
|
203
|
-
|
|
204
|
-
#### Methods
|
|
205
|
-
|
|
206
|
-
- `async LoadMetadata(DataContextID: string, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<boolean>`
|
|
207
|
-
- Loads only the metadata for the data context and its items
|
|
208
|
-
|
|
209
|
-
- `async LoadData(dataSource: any, forceRefresh?: boolean, loadRelatedDataOnSingleRecords?: boolean, maxRecordsPerRelationship?: number, contextUser?: UserInfo): Promise<boolean>`
|
|
210
|
-
- Loads data for all items in the context
|
|
211
|
-
|
|
212
|
-
- `async Load(DataContextID: string, dataSource: any, forceRefresh?: boolean, loadRelatedDataOnSingleRecords?: boolean, maxRecordsPerRelationship?: number, contextUser?: UserInfo): Promise<boolean>`
|
|
213
|
-
- Loads both metadata and data in one operation
|
|
214
|
-
|
|
215
|
-
- `async SaveItems(contextUser?: UserInfo, persistItemData?: boolean): Promise<boolean>`
|
|
216
|
-
- Saves all data context items to the database
|
|
217
|
-
|
|
218
|
-
- `AddDataContextItem(): DataContextItem`
|
|
219
|
-
- Creates and adds a new item to the context
|
|
220
|
-
|
|
221
|
-
- `ValidateDataExists(ignoreFailedLoadItems?: boolean): boolean`
|
|
222
|
-
- Checks if all items have data loaded
|
|
223
|
-
|
|
224
|
-
- `ConvertToSimpleObject(itemPrefix?: string, includeFailedLoadItems?: boolean): any`
|
|
225
|
-
- Converts the context to a simple object structure
|
|
348
|
+
### Reconstructing from Raw Data
|
|
226
349
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
- Loads pre-fetched data into the context
|
|
232
|
-
|
|
233
|
-
- `static async Clone(context: DataContext, includeData?: boolean, contextUser?: UserInfo): Promise<DataContext>`
|
|
234
|
-
- Creates a deep copy of a data context
|
|
235
|
-
|
|
236
|
-
- `static async FromRawData(rawData: any): Promise<DataContext>`
|
|
237
|
-
- Creates a context from raw data object
|
|
238
|
-
|
|
239
|
-
### DataContextItem Class
|
|
240
|
-
|
|
241
|
-
#### Properties
|
|
242
|
-
|
|
243
|
-
- `Type: 'view' | 'query' | 'full_entity' | 'sql' | 'single_record'` - The type of data item
|
|
244
|
-
- `RecordID: string` - Primary key for single_record types
|
|
245
|
-
- `EntityID?: string` - Entity identifier
|
|
246
|
-
- `ViewID?: string` - View identifier
|
|
247
|
-
- `QueryID?: string` - Query identifier
|
|
248
|
-
- `RecordName: string` - Name of the view, query, or entity
|
|
249
|
-
- `SQL?: string` - SQL statement for 'sql' type
|
|
250
|
-
- `EntityName?: string` - Name of the entity
|
|
251
|
-
- `Fields: DataContextFieldInfo[]` - Field metadata
|
|
252
|
-
- `Data: any[]` - The loaded data
|
|
253
|
-
- `DataLoaded: boolean` - Indicates if data has been loaded
|
|
254
|
-
- `DataLoadingError?: string` - Error message if loading failed
|
|
255
|
-
- `Description: string` - Auto-generated description
|
|
256
|
-
- `AdditionalDescription?: string` - Optional custom description
|
|
257
|
-
|
|
258
|
-
#### Methods
|
|
259
|
-
|
|
260
|
-
- `async LoadData(dataSource: any, forceRefresh?: boolean, loadRelatedDataOnSingleRecords?: boolean, maxRecordsPerRelationship?: number, contextUser?: UserInfo): Promise<boolean>`
|
|
261
|
-
- Loads data for this specific item
|
|
350
|
+
```typescript
|
|
351
|
+
const context = await DataContext.FromRawData(rawObject);
|
|
352
|
+
// rawObject should have { ID, Items: [ { Type, RecordID, ... }, ... ] }
|
|
353
|
+
```
|
|
262
354
|
|
|
263
|
-
-
|
|
264
|
-
- Loads pre-fetched data into the item
|
|
355
|
+
## Server-Side SQL Support
|
|
265
356
|
|
|
266
|
-
|
|
267
|
-
- Validates that data has been loaded
|
|
357
|
+
The base `DataContextItem` class throws an error when `LoadFromSQL()` is called because raw SQL execution is inherently a server-side operation. The companion package `@memberjunction/data-context-server` provides `DataContextItemServer`, which overrides this method using an `mssql` connection pool:
|
|
268
358
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
359
|
+
```mermaid
|
|
360
|
+
flowchart TD
|
|
361
|
+
subgraph Client["Client Tier"]
|
|
362
|
+
style Client fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
363
|
+
DCI_C["DataContextItem\n(base class)"]
|
|
364
|
+
end
|
|
274
365
|
|
|
275
|
-
|
|
366
|
+
subgraph Server["Server Tier"]
|
|
367
|
+
style Server fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
368
|
+
DCI_S["DataContextItemServer\n(@RegisterClass override)"]
|
|
369
|
+
MSSQL["mssql ConnectionPool"]
|
|
370
|
+
end
|
|
276
371
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
Type: string;
|
|
281
|
-
Description?: string;
|
|
282
|
-
}
|
|
372
|
+
DCI_C -->|"LoadFromSQL() throws error"| X["Not supported client-side"]
|
|
373
|
+
DCI_S -->|"LoadFromSQL() executes via"| MSSQL
|
|
374
|
+
DCI_S -.->|"extends"| DCI_C
|
|
283
375
|
```
|
|
284
376
|
|
|
285
|
-
|
|
377
|
+
`DataContextItemServer` is registered via `@RegisterClass` with a higher priority, so the MemberJunction class factory automatically returns the server variant when the server package is included. No code changes are needed -- just include `@memberjunction/data-context-server` in your server project's dependencies.
|
|
378
|
+
|
|
379
|
+
## API Reference
|
|
286
380
|
|
|
287
|
-
|
|
381
|
+
### DataContext
|
|
382
|
+
|
|
383
|
+
| Method | Returns | Description |
|
|
384
|
+
|--------|---------|-------------|
|
|
385
|
+
| `LoadMetadata(id, contextUser?, provider?)` | `Promise<boolean>` | Loads metadata for the context and all its items from the database |
|
|
386
|
+
| `LoadData(dataSource, forceRefresh?, loadRelated?, maxRecords?, contextUser?)` | `Promise<boolean>` | Loads data for all items; must call `LoadMetadata()` first |
|
|
387
|
+
| `Load(id, dataSource, forceRefresh?, loadRelated?, maxRecords?, contextUser?)` | `Promise<boolean>` | Combined metadata + data load in one call |
|
|
388
|
+
| `SaveItems(contextUser?, persistItemData?)` | `Promise<boolean>` | Persists all items to the database in a single transaction |
|
|
389
|
+
| `AddDataContextItem()` | `DataContextItem` | Creates a new item and adds it to `Items` |
|
|
390
|
+
| `ValidateDataExists(ignoreFailedLoadItems?)` | `boolean` | Returns true if all items have their `Data` property set |
|
|
391
|
+
| `ConvertToSimpleObject(itemPrefix?, includeFailedLoadItems?)` | `object` | Converts context to a flat keyed object |
|
|
392
|
+
| `CreateSimpleObjectTypeDefinition(itemPrefix?, includeFailedLoadItems?)` | `string` | Generates a type definition string for the simple object |
|
|
393
|
+
| `LoadDataFromObject(data)` | `boolean` | Loads pre-fetched data as a 2D array mapped by item index |
|
|
394
|
+
| `Clone(context, includeData?, contextUser?)` (static) | `Promise<DataContext>` | Deep-clones a context and its items into new database records |
|
|
395
|
+
| `FromRawData(rawData)` (static) | `Promise<DataContext>` | Reconstructs a `DataContext` from a plain object |
|
|
396
|
+
| `CreateDataContextItem()` (static) | `DataContextItem` | Creates a new item via the class factory (does not add to context) |
|
|
397
|
+
| `MapEntityFieldsToDataContextFields(entity)` (static) | `DataContextFieldInfo[]` | Maps `EntityInfo` fields to simplified field info objects |
|
|
398
|
+
|
|
399
|
+
### DataContextItem
|
|
400
|
+
|
|
401
|
+
| Property | Type | Description |
|
|
402
|
+
|----------|------|-------------|
|
|
403
|
+
| `Type` | `'view' \| 'query' \| 'full_entity' \| 'sql' \| 'single_record'` | The data source type |
|
|
404
|
+
| `RecordID` | `string` | Primary key for `single_record` items (comma-separated for composite keys) |
|
|
405
|
+
| `EntityID` | `string` | Entity identifier (not used for `query` or `sql` types) |
|
|
406
|
+
| `ViewID` | `string` | View identifier (only for `view` type) |
|
|
407
|
+
| `QueryID` | `string` | Query identifier (only for `query` type) |
|
|
408
|
+
| `RecordName` | `string` | Display name of the view, query, or entity |
|
|
409
|
+
| `SQL` | `string` | SQL statement (only for `sql` type) |
|
|
410
|
+
| `CodeName` | `string` | System-generated unique code name within the context |
|
|
411
|
+
| `EntityName` | `string` | Entity name (not used for `query` or `sql` types) |
|
|
412
|
+
| `Fields` | `DataContextFieldInfo[]` | Field metadata for the item |
|
|
413
|
+
| `DataContextItemID` | `string` | Database record ID (populated after save) |
|
|
414
|
+
| `Data` | `object[]` | The loaded data rows |
|
|
415
|
+
| `DataLoaded` | `boolean` | Whether data has been successfully loaded |
|
|
416
|
+
| `DataLoadingError` | `string` | Error message if loading failed |
|
|
417
|
+
| `Description` | `string` (readonly) | Auto-generated description based on type |
|
|
418
|
+
| `AdditionalDescription` | `string` | Optional supplementary description |
|
|
419
|
+
|
|
420
|
+
| Static Factory Method | Description |
|
|
421
|
+
|----------------------|-------------|
|
|
422
|
+
| `FromViewEntity(viewEntity)` | Creates an item from a `UserViewEntityExtended` |
|
|
423
|
+
| `FromSingleRecord(record)` | Creates an item from a `BaseEntity` instance |
|
|
424
|
+
| `FromQuery(query)` | Creates an item from a `QueryInfo` |
|
|
425
|
+
| `FromFullEntity(entity)` | Creates an item from an `EntityInfo` |
|
|
426
|
+
| `FromRawItem(rawItem)` | Creates an item from a plain object |
|
|
427
|
+
|
|
428
|
+
### DataContextFieldInfo
|
|
429
|
+
|
|
430
|
+
| Property | Type | Description |
|
|
431
|
+
|----------|------|-------------|
|
|
432
|
+
| `Name` | `string` | Field name |
|
|
433
|
+
| `Type` | `string` | Field data type |
|
|
434
|
+
| `Description` | `string` (optional) | Field description |
|
|
288
435
|
|
|
289
436
|
## Dependencies
|
|
290
437
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
438
|
+
| Package | Purpose |
|
|
439
|
+
|---------|---------|
|
|
440
|
+
| `@memberjunction/global` | Class factory and `@RegisterClass` decorator |
|
|
441
|
+
| `@memberjunction/core` | Core framework: `Metadata`, `RunView`, `RunQuery`, `BaseEntity`, `EntityInfo`, `UserInfo` |
|
|
442
|
+
| `@memberjunction/core-entities` | Generated entity classes: `DataContextEntity`, `DataContextItemEntity`, `UserViewEntityExtended` |
|
|
294
443
|
|
|
295
444
|
## Best Practices
|
|
296
445
|
|
|
297
|
-
1. **Always load metadata before data
|
|
298
|
-
2. **
|
|
299
|
-
3. **
|
|
300
|
-
4. **
|
|
301
|
-
5. **Validate before
|
|
302
|
-
6. **
|
|
446
|
+
1. **Always load metadata before data.** Use `LoadMetadata()` then `LoadData()`, or use the combined `Load()` method.
|
|
447
|
+
2. **Check `DataLoaded` and `DataLoadingError`** on each item after loading. `LoadData()` does not throw exceptions for individual item failures -- it returns `false` and populates the error properties.
|
|
448
|
+
3. **Pass `contextUser` on the server side.** Server code serves multiple users concurrently and must include the context user for proper security and audit tracking.
|
|
449
|
+
4. **Use `maxRecordsPerRelationship`** to limit the amount of related data loaded for `single_record` items, especially in production environments.
|
|
450
|
+
5. **Validate before processing.** Call `ValidateDataExists()` before working with data to ensure all items are ready.
|
|
451
|
+
6. **Leverage transactions.** `SaveItems()` automatically wraps all item saves in a transaction group for atomicity.
|
|
452
|
+
7. **Include `@memberjunction/data-context-server`** in server projects if any items use the `sql` type. The class factory handles the override automatically.
|
|
303
453
|
|
|
304
454
|
## License
|
|
305
455
|
|
|
306
|
-
ISC
|
|
456
|
+
ISC
|