@memberjunction/core 1.3.3 → 1.4.1
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/generic/applicationInfo.d.ts +15 -1
- package/dist/generic/applicationInfo.d.ts.map +1 -1
- package/dist/generic/applicationInfo.js +25 -2
- package/dist/generic/applicationInfo.js.map +1 -1
- package/dist/generic/baseEngine.d.ts +56 -0
- package/dist/generic/baseEngine.d.ts.map +1 -0
- package/dist/generic/baseEngine.js +82 -0
- package/dist/generic/baseEngine.js.map +1 -0
- package/dist/generic/baseEntity.d.ts +99 -9
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +178 -79
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/baseInfo.d.ts +2 -0
- package/dist/generic/baseInfo.d.ts.map +1 -1
- package/dist/generic/baseInfo.js +27 -3
- package/dist/generic/baseInfo.js.map +1 -1
- package/dist/generic/compositeKey.d.ts +133 -0
- package/dist/generic/compositeKey.d.ts.map +1 -0
- package/dist/generic/compositeKey.js +283 -0
- package/dist/generic/compositeKey.js.map +1 -0
- package/dist/generic/entityInfo.d.ts +33 -8
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +64 -19
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/interfaces.d.ts +35 -81
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js +32 -182
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/libraryInfo.d.ts +39 -0
- package/dist/generic/libraryInfo.d.ts.map +1 -0
- package/dist/generic/libraryInfo.js +55 -0
- package/dist/generic/libraryInfo.js.map +1 -0
- package/dist/generic/logging.d.ts +43 -0
- package/dist/generic/logging.d.ts.map +1 -1
- package/dist/generic/logging.js +73 -1
- package/dist/generic/logging.js.map +1 -1
- package/dist/generic/metadata.d.ts +28 -9
- package/dist/generic/metadata.d.ts.map +1 -1
- package/dist/generic/metadata.js +52 -16
- package/dist/generic/metadata.js.map +1 -1
- package/dist/generic/providerBase.d.ts +33 -28
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +119 -185
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/transactionGroup.d.ts +38 -1
- package/dist/generic/transactionGroup.d.ts.map +1 -1
- package/dist/generic/transactionGroup.js +38 -14
- package/dist/generic/transactionGroup.js.map +1 -1
- package/dist/generic/util.d.ts +4 -0
- package/dist/generic/util.d.ts.map +1 -1
- package/dist/generic/util.js +15 -1
- package/dist/generic/util.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +7 -1
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js +31 -1
- package/dist/views/runView.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { EntityField } from "./baseEntity";
|
|
2
|
+
import { EntityInfo } from "./entityInfo";
|
|
3
|
+
/**
|
|
4
|
+
* Used to a store a combination of a key and value pair for a variety of purposes including primary/foreign keys.
|
|
5
|
+
*/
|
|
6
|
+
export declare class KeyValuePair {
|
|
7
|
+
/**
|
|
8
|
+
* Field name of the key value pair
|
|
9
|
+
*/
|
|
10
|
+
FieldName: string;
|
|
11
|
+
/**
|
|
12
|
+
* Value of the key value pair
|
|
13
|
+
*/
|
|
14
|
+
Value: any;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Base class for tracking a collection of field name(key)/value pair combinations with utility methods for working with them.
|
|
18
|
+
*/
|
|
19
|
+
export declare class FieldValueCollection {
|
|
20
|
+
KeyValuePairs: KeyValuePair[];
|
|
21
|
+
constructor(keyValuePairs?: KeyValuePair[]);
|
|
22
|
+
/**
|
|
23
|
+
* returns the value of the key value pair for the specified field name
|
|
24
|
+
* @param fieldName the field name to get the value for
|
|
25
|
+
* @returns the value of the key value pair for the specified field name
|
|
26
|
+
*/
|
|
27
|
+
GetValueByFieldName(fieldName: string): any;
|
|
28
|
+
/**
|
|
29
|
+
* returns the value of the key value pair at the specified index
|
|
30
|
+
* @param index the index of the key value pair to get the value for
|
|
31
|
+
* @returns the value of the key value pair at the specified index
|
|
32
|
+
*/
|
|
33
|
+
GetValueByIndex(index: number): any;
|
|
34
|
+
/**
|
|
35
|
+
* @returns a string representation of the primary key values in the format "FieldName=Value"
|
|
36
|
+
* @example "ID=1 AND Name=John"
|
|
37
|
+
* @param useIsNull if true, will return "FieldName IS NULL" for any key value pair that has a null or undefined value
|
|
38
|
+
*/
|
|
39
|
+
ToString(useIsNull?: boolean): string;
|
|
40
|
+
/**
|
|
41
|
+
* @returns a copy of the KeyValuePairs array but with the Value properties as type string
|
|
42
|
+
*/
|
|
43
|
+
ValuesAsString(): KeyValuePair[];
|
|
44
|
+
/**
|
|
45
|
+
* Utility function to return a copy of the CompositeKey with the Value properties as string
|
|
46
|
+
* @returns a copy of the KeyValuePairs array but with the Value properties as string
|
|
47
|
+
*/
|
|
48
|
+
Copy(): CompositeKey;
|
|
49
|
+
/**
|
|
50
|
+
* @returns the KeyValuePairs as a list of strings in the format "FieldName=Value"
|
|
51
|
+
* @param delimiter the delimiter to use between the field name and value. Defaults to '='
|
|
52
|
+
* @example ["ID=1", "Name=John"]
|
|
53
|
+
*/
|
|
54
|
+
ToList(delimiter?: string): string[];
|
|
55
|
+
/**
|
|
56
|
+
* @returns the value of each key value pair in the format "Value1, Value2, Value3"
|
|
57
|
+
* @param delimiter - the delimiter to use between the values. Defaults to ', '
|
|
58
|
+
* @example "1, John"
|
|
59
|
+
*/
|
|
60
|
+
Values(delimiter?: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Utility function to check if the composite key has any values set
|
|
63
|
+
*/
|
|
64
|
+
get HasValue(): boolean;
|
|
65
|
+
LoadFromEntityFields(fields: EntityField[]): void;
|
|
66
|
+
LoadFromEntityInfoAndRecord(entity: EntityInfo, entityRecord: any): void;
|
|
67
|
+
/**
|
|
68
|
+
* Loads the KeyValuePairs from a list of strings in the format "FieldName=Value"
|
|
69
|
+
* @param list - the list of strings to load from
|
|
70
|
+
* @param delimiter - the delimiter to use between the field name and value. Defaults to '='
|
|
71
|
+
* @example ["ID=1", "Name=John"]
|
|
72
|
+
*/
|
|
73
|
+
LoadFromList(list: string[], delimiter?: string): void;
|
|
74
|
+
ToURLSegment(segment?: string): string;
|
|
75
|
+
private readonly _field_delimiter;
|
|
76
|
+
private readonly _value_delimiter;
|
|
77
|
+
/**
|
|
78
|
+
* Parses a provided routeSegment using the provided delimiter and loads the key value pairs from it
|
|
79
|
+
*/
|
|
80
|
+
LoadFromURLSegment(entity: EntityInfo, routeSegment: string): void;
|
|
81
|
+
/**
|
|
82
|
+
* Parses the provided routeSegment and assumes the field names are included in the segment
|
|
83
|
+
* @param urlSegment
|
|
84
|
+
* @param delimiter
|
|
85
|
+
*/
|
|
86
|
+
SimpleLoadFromURLSegment(urlSegment: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* Loads the key from a single key value pair
|
|
89
|
+
* @param fieldName
|
|
90
|
+
* @param value
|
|
91
|
+
*/
|
|
92
|
+
LoadFromSingleKeyValuePair(fieldName: string, value: any): void;
|
|
93
|
+
/**
|
|
94
|
+
* Loads from a simple object by extracting the key value pairs from the object
|
|
95
|
+
* @param obj
|
|
96
|
+
*/
|
|
97
|
+
LoadFromSimpleObject(obj: any): void;
|
|
98
|
+
/**
|
|
99
|
+
* Static helper method to instantiate a FieldValueCollection from a simple object
|
|
100
|
+
* @param obj
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
static FromObject(obj: any): FieldValueCollection;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Composite keys are used to represent database keys and can include one or more key value pairs.
|
|
107
|
+
*/
|
|
108
|
+
export declare class CompositeKey extends FieldValueCollection {
|
|
109
|
+
/**
|
|
110
|
+
* Utility function to compare this composite key to another
|
|
111
|
+
* @param compositeKey the composite key to compare against
|
|
112
|
+
* @returns true if the primary key values are the same, false if they are different
|
|
113
|
+
*/
|
|
114
|
+
Equals(compositeKey: CompositeKey): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Helper method to check if the underlying key value pairs are valid or not
|
|
117
|
+
* i.e. if any of the key value pairs are null or undefined
|
|
118
|
+
* @param entity If provided, this method will validate that the composite key is valid for the given entity as a primary key or alternate key.
|
|
119
|
+
* @param primaryKey If set to true, and entity is provided, this method will validate that the composite key is valid as the primary key for the given entity.
|
|
120
|
+
* @returns true if all key value pairs are valid, false if any are null or undefined
|
|
121
|
+
*/
|
|
122
|
+
Validate(entity?: EntityInfo, primaryKey?: boolean): {
|
|
123
|
+
IsValid: boolean;
|
|
124
|
+
ErrorMessage: string;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Utility function to compare the key primary key of this object to another sets to see if they are the same or not
|
|
128
|
+
* @param kvPairs the primary key values to compare against
|
|
129
|
+
* @returns true if the primary key values are the same, false if they are different
|
|
130
|
+
*/
|
|
131
|
+
EqualsKey(kvPairs: KeyValuePair[]): boolean;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=compositeKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositeKey.d.ts","sourceRoot":"","sources":["../../src/generic/compositeKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;GAEG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;gBAElB,aAAa,CAAC,EAAE,YAAY,EAAE;IAc1C;;;;OAIG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAQ3C;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAQnC;;;;MAIE;IACF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM;IAUrC;;MAEE;IACF,cAAc,IAAI,YAAY,EAAE;IAShC;;;OAGG;IACH,IAAI,IAAI,YAAY;IAMpB;;;;MAIE;IACF,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAMpC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAMlC;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAItB;IAED,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;IASjD,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,GAAG,IAAI;IASxE;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAatD,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAMtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAExC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAUlE;;;;OAIG;IACH,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAelD;;;;OAIG;IACH,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAI/D;;;OAGG;IACH,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMpC;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,oBAAoB;CAK3D;AAGD;;GAEG;AACH,qBAAa,YAAa,SAAQ,oBAAoB;IAClD;;;;MAIE;IACF,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAS3C;;;;;;OAMG;IACI,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,GAAE,OAAc,GAAG;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC;IAgC1G;;;;MAIE;IACF,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO;CAkB9C"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompositeKey = exports.FieldValueCollection = exports.KeyValuePair = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Used to a store a combination of a key and value pair for a variety of purposes including primary/foreign keys.
|
|
6
|
+
*/
|
|
7
|
+
class KeyValuePair {
|
|
8
|
+
}
|
|
9
|
+
exports.KeyValuePair = KeyValuePair;
|
|
10
|
+
/**
|
|
11
|
+
* Base class for tracking a collection of field name(key)/value pair combinations with utility methods for working with them.
|
|
12
|
+
*/
|
|
13
|
+
class FieldValueCollection {
|
|
14
|
+
constructor(keyValuePairs) {
|
|
15
|
+
this._field_delimiter = '||';
|
|
16
|
+
this._value_delimiter = '|';
|
|
17
|
+
if (keyValuePairs && Array.isArray(keyValuePairs)) {
|
|
18
|
+
if (keyValuePairs.length > 0) {
|
|
19
|
+
let kvp = keyValuePairs[0];
|
|
20
|
+
if (kvp.FieldName && kvp.Value) {
|
|
21
|
+
this.KeyValuePairs = keyValuePairs;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
this.KeyValuePairs = [];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* returns the value of the key value pair for the specified field name
|
|
30
|
+
* @param fieldName the field name to get the value for
|
|
31
|
+
* @returns the value of the key value pair for the specified field name
|
|
32
|
+
*/
|
|
33
|
+
GetValueByFieldName(fieldName) {
|
|
34
|
+
let key = this.KeyValuePairs.find((keyValue) => {
|
|
35
|
+
return keyValue.FieldName === fieldName;
|
|
36
|
+
});
|
|
37
|
+
return key ? key.Value : null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* returns the value of the key value pair at the specified index
|
|
41
|
+
* @param index the index of the key value pair to get the value for
|
|
42
|
+
* @returns the value of the key value pair at the specified index
|
|
43
|
+
*/
|
|
44
|
+
GetValueByIndex(index) {
|
|
45
|
+
if (index >= 0 && index < this.KeyValuePairs.length) {
|
|
46
|
+
return this.KeyValuePairs[index].Value;
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @returns a string representation of the primary key values in the format "FieldName=Value"
|
|
52
|
+
* @example "ID=1 AND Name=John"
|
|
53
|
+
* @param useIsNull if true, will return "FieldName IS NULL" for any key value pair that has a null or undefined value
|
|
54
|
+
*/
|
|
55
|
+
ToString(useIsNull) {
|
|
56
|
+
return this.KeyValuePairs.map((keyValue) => {
|
|
57
|
+
if (useIsNull && (keyValue.Value === null || keyValue.Value === undefined)) {
|
|
58
|
+
return `${keyValue.FieldName} IS NULL`;
|
|
59
|
+
}
|
|
60
|
+
return `${keyValue.FieldName}=${keyValue.Value}`;
|
|
61
|
+
}).join(" AND ");
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @returns a copy of the KeyValuePairs array but with the Value properties as type string
|
|
65
|
+
*/
|
|
66
|
+
ValuesAsString() {
|
|
67
|
+
return this.KeyValuePairs.map((keyValue) => {
|
|
68
|
+
return {
|
|
69
|
+
FieldName: keyValue.FieldName,
|
|
70
|
+
Value: keyValue.Value ? keyValue.Value.toString() : ""
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Utility function to return a copy of the CompositeKey with the Value properties as string
|
|
76
|
+
* @returns a copy of the KeyValuePairs array but with the Value properties as string
|
|
77
|
+
*/
|
|
78
|
+
Copy() {
|
|
79
|
+
let copy = new CompositeKey();
|
|
80
|
+
copy.KeyValuePairs = this.ValuesAsString();
|
|
81
|
+
return copy;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @returns the KeyValuePairs as a list of strings in the format "FieldName=Value"
|
|
85
|
+
* @param delimiter the delimiter to use between the field name and value. Defaults to '='
|
|
86
|
+
* @example ["ID=1", "Name=John"]
|
|
87
|
+
*/
|
|
88
|
+
ToList(delimiter) {
|
|
89
|
+
return this.KeyValuePairs.map((pk) => {
|
|
90
|
+
return delimiter ? `${pk.FieldName}${delimiter}${pk.Value}` : `${pk.FieldName}=${pk.Value}`;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @returns the value of each key value pair in the format "Value1, Value2, Value3"
|
|
95
|
+
* @param delimiter - the delimiter to use between the values. Defaults to ', '
|
|
96
|
+
* @example "1, John"
|
|
97
|
+
*/
|
|
98
|
+
Values(delimiter) {
|
|
99
|
+
return this.KeyValuePairs.map((keyValue) => {
|
|
100
|
+
return keyValue.Value;
|
|
101
|
+
}).join(delimiter || ", ");
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Utility function to check if the composite key has any values set
|
|
105
|
+
*/
|
|
106
|
+
get HasValue() {
|
|
107
|
+
return this.KeyValuePairs.some((keyValue) => {
|
|
108
|
+
return keyValue.Value !== null && keyValue.Value !== undefined && keyValue.Value !== "";
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
LoadFromEntityFields(fields) {
|
|
112
|
+
this.KeyValuePairs = fields.map((field) => {
|
|
113
|
+
return {
|
|
114
|
+
FieldName: field.Name,
|
|
115
|
+
Value: field.Value
|
|
116
|
+
};
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
LoadFromEntityInfoAndRecord(entity, entityRecord) {
|
|
120
|
+
this.KeyValuePairs = entity.PrimaryKeys.map((pk) => {
|
|
121
|
+
return {
|
|
122
|
+
FieldName: pk.Name,
|
|
123
|
+
Value: entityRecord[pk.Name]
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Loads the KeyValuePairs from a list of strings in the format "FieldName=Value"
|
|
129
|
+
* @param list - the list of strings to load from
|
|
130
|
+
* @param delimiter - the delimiter to use between the field name and value. Defaults to '='
|
|
131
|
+
* @example ["ID=1", "Name=John"]
|
|
132
|
+
*/
|
|
133
|
+
LoadFromList(list, delimiter) {
|
|
134
|
+
this.KeyValuePairs = list.map((pk) => {
|
|
135
|
+
let keyValue = delimiter ? pk.split(delimiter) : pk.split("=");
|
|
136
|
+
if (keyValue.length === 2) {
|
|
137
|
+
let keyValuePair = new KeyValuePair();
|
|
138
|
+
keyValuePair.FieldName = keyValue[0];
|
|
139
|
+
keyValuePair.Value = keyValue[1];
|
|
140
|
+
return keyValuePair;
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
ToURLSegment(segment) {
|
|
146
|
+
return this.KeyValuePairs.map((pk) => {
|
|
147
|
+
return `${pk.FieldName}|${pk.Value}`;
|
|
148
|
+
}).join(segment || "||");
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Parses a provided routeSegment using the provided delimiter and loads the key value pairs from it
|
|
152
|
+
*/
|
|
153
|
+
LoadFromURLSegment(entity, routeSegment) {
|
|
154
|
+
if (!routeSegment.includes('|')) {
|
|
155
|
+
// If not, return a single element array with a default field name
|
|
156
|
+
this.KeyValuePairs = [{ FieldName: entity.FirstPrimaryKey.Name, Value: routeSegment }];
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
this.SimpleLoadFromURLSegment(routeSegment);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Parses the provided routeSegment and assumes the field names are included in the segment
|
|
164
|
+
* @param urlSegment
|
|
165
|
+
* @param delimiter
|
|
166
|
+
*/
|
|
167
|
+
SimpleLoadFromURLSegment(urlSegment) {
|
|
168
|
+
if (urlSegment.includes(this._value_delimiter)) {
|
|
169
|
+
const parts = urlSegment.split(this._field_delimiter);
|
|
170
|
+
const pkVals = [];
|
|
171
|
+
for (let p of parts) {
|
|
172
|
+
const kv = p.split('|');
|
|
173
|
+
pkVals.push({ FieldName: kv[0], Value: kv[1] });
|
|
174
|
+
}
|
|
175
|
+
this.KeyValuePairs = pkVals;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
// do nothing
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Loads the key from a single key value pair
|
|
183
|
+
* @param fieldName
|
|
184
|
+
* @param value
|
|
185
|
+
*/
|
|
186
|
+
LoadFromSingleKeyValuePair(fieldName, value) {
|
|
187
|
+
this.KeyValuePairs = [{ FieldName: fieldName, Value: value }];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Loads from a simple object by extracting the key value pairs from the object
|
|
191
|
+
* @param obj
|
|
192
|
+
*/
|
|
193
|
+
LoadFromSimpleObject(obj) {
|
|
194
|
+
this.KeyValuePairs = Object.keys(obj).map((key) => {
|
|
195
|
+
return { FieldName: key, Value: obj[key] };
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Static helper method to instantiate a FieldValueCollection from a simple object
|
|
200
|
+
* @param obj
|
|
201
|
+
* @returns
|
|
202
|
+
*/
|
|
203
|
+
static FromObject(obj) {
|
|
204
|
+
let fvc = new FieldValueCollection();
|
|
205
|
+
fvc.LoadFromSimpleObject(obj);
|
|
206
|
+
return fvc;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.FieldValueCollection = FieldValueCollection;
|
|
210
|
+
/**
|
|
211
|
+
* Composite keys are used to represent database keys and can include one or more key value pairs.
|
|
212
|
+
*/
|
|
213
|
+
class CompositeKey extends FieldValueCollection {
|
|
214
|
+
/**
|
|
215
|
+
* Utility function to compare this composite key to another
|
|
216
|
+
* @param compositeKey the composite key to compare against
|
|
217
|
+
* @returns true if the primary key values are the same, false if they are different
|
|
218
|
+
*/
|
|
219
|
+
Equals(compositeKey) {
|
|
220
|
+
if (!compositeKey) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
return this.EqualsKey(compositeKey.KeyValuePairs);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Helper method to check if the underlying key value pairs are valid or not
|
|
227
|
+
* i.e. if any of the key value pairs are null or undefined
|
|
228
|
+
* @param entity If provided, this method will validate that the composite key is valid for the given entity as a primary key or alternate key.
|
|
229
|
+
* @param primaryKey If set to true, and entity is provided, this method will validate that the composite key is valid as the primary key for the given entity.
|
|
230
|
+
* @returns true if all key value pairs are valid, false if any are null or undefined
|
|
231
|
+
*/
|
|
232
|
+
Validate(entity, primaryKey = true) {
|
|
233
|
+
try {
|
|
234
|
+
// make sure that KeyValuePairs is an array of 1+ objects, and that each object has a FieldName and Value property and that the FieldName is a valid field on the entity that has IsPrimaryKey set to true
|
|
235
|
+
if (!this.KeyValuePairs || this.KeyValuePairs.length === 0)
|
|
236
|
+
throw new Error('KeyValuePairs cannot be null or empty');
|
|
237
|
+
else {
|
|
238
|
+
// now loop through the array and make sure each object has a FieldName and Value property
|
|
239
|
+
// and that the field name is a valid field on the entity that has IsPrimaryKey set to true
|
|
240
|
+
for (let i = 0; i < this.KeyValuePairs.length; i++) {
|
|
241
|
+
const pk = this.KeyValuePairs[i];
|
|
242
|
+
if (!pk.FieldName || pk.FieldName.trim().length === 0)
|
|
243
|
+
throw new Error(`KeyValuePairs[${i}].FieldName cannot be null, empty, or whitespace`);
|
|
244
|
+
if (pk.Value === null || pk.Value === undefined)
|
|
245
|
+
throw new Error(`KeyValuePairs[${i}].Value cannot be null or undefined`);
|
|
246
|
+
if (entity) {
|
|
247
|
+
const field = entity.Fields.find(f => f.Name.trim().toLowerCase() === pk.FieldName.trim().toLowerCase());
|
|
248
|
+
if (!field)
|
|
249
|
+
throw new Error(`KeyValuePairs[${i}].FieldName of ${pk.FieldName} does not exist on ${entity.Name}`);
|
|
250
|
+
if (primaryKey && !field.IsPrimaryKey)
|
|
251
|
+
throw new Error(`KeyValuePairs[${i}].FieldName of ${pk.FieldName} is not a primary key field on ${entity.Name}`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return { IsValid: true, ErrorMessage: null };
|
|
256
|
+
}
|
|
257
|
+
catch (e) {
|
|
258
|
+
return { IsValid: false, ErrorMessage: e.message };
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Utility function to compare the key primary key of this object to another sets to see if they are the same or not
|
|
263
|
+
* @param kvPairs the primary key values to compare against
|
|
264
|
+
* @returns true if the primary key values are the same, false if they are different
|
|
265
|
+
*/
|
|
266
|
+
EqualsKey(kvPairs) {
|
|
267
|
+
if (!kvPairs || kvPairs.length === 0) {
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
270
|
+
if (kvPairs.length !== this.KeyValuePairs.length) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
for (const [index, kvPair] of kvPairs.entries()) {
|
|
274
|
+
const sourcekvPair = this.KeyValuePairs[index];
|
|
275
|
+
if (kvPair.FieldName !== sourcekvPair.FieldName || kvPair.Value !== sourcekvPair.Value) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
exports.CompositeKey = CompositeKey;
|
|
283
|
+
//# sourceMappingURL=compositeKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositeKey.js","sourceRoot":"","sources":["../../src/generic/compositeKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { BaseInfo } from "./baseInfo";
|
|
|
2
2
|
import { RunViewParams } from "../views/runView";
|
|
3
3
|
import { BaseEntity } from "./baseEntity";
|
|
4
4
|
import { RowLevelSecurityFilterInfo, UserInfo } from "./securityInfo";
|
|
5
|
-
import { CompositeKey } from "./
|
|
5
|
+
import { CompositeKey } from "./compositeKey";
|
|
6
6
|
/**
|
|
7
7
|
* The possible status values for a record change
|
|
8
8
|
*/
|
|
@@ -269,13 +269,27 @@ export declare class EntityFieldInfo extends BaseInfo {
|
|
|
269
269
|
FormatValue(value: any, decimals?: number, currency?: string, maxLength?: number, trailingChars?: string): string;
|
|
270
270
|
constructor(initData?: any);
|
|
271
271
|
}
|
|
272
|
-
export declare function CodeNameFromString(input: string): string;
|
|
273
272
|
/**
|
|
274
|
-
*
|
|
273
|
+
* Entity Document Type Info object has information about the document types that exist across all entities. When Entity Documents are created they are associated with a document type.
|
|
275
274
|
*/
|
|
276
|
-
export declare class
|
|
277
|
-
|
|
278
|
-
|
|
275
|
+
export declare class EntityDocumentTypeInfo extends BaseInfo {
|
|
276
|
+
Name: string;
|
|
277
|
+
Description: string;
|
|
278
|
+
CreatedAt: Date;
|
|
279
|
+
UpdatedAt: Date;
|
|
280
|
+
constructor(initData?: any);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Settings allow you to store key/value pairs of information that can be used to configure the behavior of the entity.
|
|
284
|
+
*/
|
|
285
|
+
export declare class EntitySettingInfo extends BaseInfo {
|
|
286
|
+
EntityID: number;
|
|
287
|
+
Name: string;
|
|
288
|
+
Value: string;
|
|
289
|
+
Comments: string;
|
|
290
|
+
CreatedAt: Date;
|
|
291
|
+
UpdatedAt: Date;
|
|
292
|
+
constructor(initData?: any);
|
|
279
293
|
}
|
|
280
294
|
/**
|
|
281
295
|
* Metadata about an entity
|
|
@@ -337,16 +351,17 @@ export declare class EntityInfo extends BaseInfo {
|
|
|
337
351
|
private _Fields;
|
|
338
352
|
private _RelatedEntities;
|
|
339
353
|
private _Permissions;
|
|
354
|
+
private _Settings;
|
|
340
355
|
_hasIdField: boolean;
|
|
341
356
|
_virtualCount: number;
|
|
342
357
|
_manyToManyCount: number;
|
|
343
358
|
_oneToManyCount: number;
|
|
344
359
|
_floatCount: number;
|
|
345
360
|
/**
|
|
346
|
-
* Returns the primary key for the entity. For entities with a composite primary key, use the PrimaryKeys property which returns all.
|
|
361
|
+
* Returns the primary key field for the entity. For entities with a composite primary key, use the PrimaryKeys property which returns all.
|
|
347
362
|
* In the case of a composite primary key, the PrimaryKey property will return the first field in the sequence of the primary key fields.
|
|
348
363
|
*/
|
|
349
|
-
get
|
|
364
|
+
get FirstPrimaryKey(): EntityFieldInfo;
|
|
350
365
|
/**
|
|
351
366
|
* Returns an array of all fields that are part of the primary key for the entity. If the entity has a single primary key, the array will have a single element.
|
|
352
367
|
*/
|
|
@@ -356,6 +371,11 @@ export declare class EntityInfo extends BaseInfo {
|
|
|
356
371
|
get Fields(): EntityFieldInfo[];
|
|
357
372
|
get RelatedEntities(): EntityRelationshipInfo[];
|
|
358
373
|
get Permissions(): EntityPermissionInfo[];
|
|
374
|
+
get Settings(): EntitySettingInfo[];
|
|
375
|
+
/**
|
|
376
|
+
* @returns The BaseTable but with spaces inbetween capital letters
|
|
377
|
+
* */
|
|
378
|
+
get DisplayName(): string;
|
|
359
379
|
/**
|
|
360
380
|
* Returns the EntityField object for the Field that has IsNameField set to true. If multiple fields have IsNameField on, the function will return the first field (by sequence) that matches.
|
|
361
381
|
* If no fields match, if there is a field called "Name", that is returned. If there is no field called "Name", null is returned.
|
|
@@ -397,6 +417,11 @@ export declare class EntityInfo extends BaseInfo {
|
|
|
397
417
|
* @returns
|
|
398
418
|
*/
|
|
399
419
|
static BuildRelationshipViewParams(record: BaseEntity, relationship: EntityRelationshipInfo, filter?: string, maxRecords?: number): RunViewParams;
|
|
420
|
+
/**
|
|
421
|
+
* Builds a simple javascript object that will pre-populate a new record in the related entity with values that link back to the specified record.
|
|
422
|
+
* This is useful, for example, when creating a new contact from an account, we want to pre-populate the account ID in the new contact record
|
|
423
|
+
*/
|
|
424
|
+
static BuildRelationshipNewRecordValues(record: BaseEntity, relationship: EntityRelationshipInfo): any;
|
|
400
425
|
constructor(initData?: any);
|
|
401
426
|
private prepareSpecialFields;
|
|
402
427
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityInfo.d.ts","sourceRoot":"","sources":["../../src/generic/entityInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAA;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"entityInfo.d.ts","sourceRoot":"","sources":["../../src/generic/entityInfo.ts"],"names":[],"mappings":"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"}
|