@memberjunction/core 1.7.1 → 1.8.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 (34) hide show
  1. package/dist/generic/baseEngine.d.ts +104 -6
  2. package/dist/generic/baseEngine.d.ts.map +1 -1
  3. package/dist/generic/baseEngine.js +173 -13
  4. package/dist/generic/baseEngine.js.map +1 -1
  5. package/dist/generic/baseEntity.d.ts.map +1 -1
  6. package/dist/generic/baseEntity.js +24 -8
  7. package/dist/generic/baseEntity.js.map +1 -1
  8. package/dist/generic/baseInfo.d.ts +0 -3
  9. package/dist/generic/baseInfo.d.ts.map +1 -1
  10. package/dist/generic/baseInfo.js +3 -34
  11. package/dist/generic/baseInfo.js.map +1 -1
  12. package/dist/generic/compositeKey.d.ts +35 -4
  13. package/dist/generic/compositeKey.d.ts.map +1 -1
  14. package/dist/generic/compositeKey.js +62 -12
  15. package/dist/generic/compositeKey.js.map +1 -1
  16. package/dist/generic/entityInfo.d.ts +44 -15
  17. package/dist/generic/entityInfo.d.ts.map +1 -1
  18. package/dist/generic/entityInfo.js +60 -18
  19. package/dist/generic/entityInfo.js.map +1 -1
  20. package/dist/generic/logging.d.ts +28 -32
  21. package/dist/generic/logging.d.ts.map +1 -1
  22. package/dist/generic/logging.js +65 -36
  23. package/dist/generic/logging.js.map +1 -1
  24. package/dist/generic/providerBase.d.ts +15 -0
  25. package/dist/generic/providerBase.d.ts.map +1 -1
  26. package/dist/generic/securityInfo.d.ts +12 -12
  27. package/dist/generic/securityInfo.d.ts.map +1 -1
  28. package/dist/generic/securityInfo.js +12 -12
  29. package/dist/generic/securityInfo.js.map +1 -1
  30. package/dist/generic/util.d.ts +25 -0
  31. package/dist/generic/util.d.ts.map +1 -1
  32. package/dist/generic/util.js +66 -1
  33. package/dist/generic/util.js.map +1 -1
  34. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseInfo = void 0;
4
+ const util_1 = require("./util");
4
5
  class BaseInfo {
5
6
  constructor() {
6
7
  /**
@@ -20,10 +21,8 @@ class BaseInfo {
20
21
  // strip parens from default value from the DB, if they exist, for example defaults might be ((1)) or (getdate())
21
22
  // could also be something like (('Pending')) in which case we'll want to remove the SYMMETRIC parens
22
23
  const initialValue = initData[keys[j]];
23
- const noParens = this.stripContainingParens(initialValue);
24
- const unicodeStripped = this.stripUnicodePrefix(noParens);
25
- const finalValue = this.stripSingleQuotes(unicodeStripped);
26
- this[keys[j]] = finalValue;
24
+ const trueDefault = (0, util_1.ExtractActualDefaultValue)(initialValue);
25
+ this[keys[j]] = trueDefault;
27
26
  }
28
27
  else
29
28
  this[keys[j]] = initData[keys[j]];
@@ -31,36 +30,6 @@ class BaseInfo {
31
30
  }
32
31
  }
33
32
  }
34
- stripUnicodePrefix(value) {
35
- if (!value) {
36
- return value;
37
- }
38
- value = value.trim(); // trim it first
39
- // check to see if the first character is an N and if the character after
40
- // that as well as the last character are single quotes, if so, strip all of those out
41
- if (value && value.toUpperCase().startsWith('N') &&
42
- value.length > 1 && value.charAt(1) === '\'' &&
43
- value.charAt(value.length - 1) === '\'') {
44
- return value.substring(2, value.length - 1); // strip out the N and the single quotes for example N'Active' becomes Active
45
- }
46
- return value;
47
- }
48
- stripSingleQuotes(value) {
49
- if (!value)
50
- return value;
51
- const val = value.trim(); // trim it first
52
- // now check for symmetrical single quotes and remove them
53
- // this is for cases like 'Pending' or 'Active' which are stored in the DB as ('Pending') or ('Active')
54
- return val.startsWith("'") && val.endsWith("'") ? val.substring(1, val.length - 1) : val;
55
- }
56
- stripContainingParens(value) {
57
- if (value.startsWith('(') && value.endsWith(')')) {
58
- // recursive call so if we have ((0)) we keep stripping parens until we get to inner value
59
- // could be something like (getdate()) in which case we'll only strip the SYMMENTRIC parens
60
- return this.stripContainingParens(value.substring(1, value.length - 1));
61
- }
62
- return value;
63
- }
64
33
  }
65
34
  exports.BaseInfo = BaseInfo;
66
35
  //# sourceMappingURL=baseInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseInfo.js","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseInfo.js","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":";;;AAAA,iCAAmD;AAEnD,MAAsB,QAAQ;IAA9B;QACI;;WAEG;QACH,OAAE,GAAW,IAAI,CAAA;IAwBrB,CAAC;IAtBa,YAAY,CAAC,QAAa;QAChC,IAAI,QAAQ,EAAE,CAAC;YACX,uFAAuF;YACvF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,sEAAsE;gBACtE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvE,oHAAoH;wBACpH,qGAAqG;wBACrG,MAAM,YAAY,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,MAAM,WAAW,GAAW,IAAA,gCAAyB,EAAC,YAAY,CAAC,CAAC;wBACpE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;oBAChC,CAAC;;wBAEG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CAEJ;AA5BD,4BA4BC"}
@@ -71,13 +71,44 @@ export declare class FieldValueCollection {
71
71
  * @example ["ID=1", "Name=John"]
72
72
  */
73
73
  LoadFromList(list: string[], delimiter?: string): void;
74
+ /**
75
+ * Utility to generate a string representation of the key value pairs in the format "Field1|Value1||Field2|Value2" etc.
76
+ * The field delimiter defaults to '||' and the value delimiter defaults to '|'
77
+ * @param fieldDelimiter
78
+ * @param valueDelimiter
79
+ * @returns
80
+ */
81
+ ToConcatenatedString(fieldDelimiter?: string, valueDelimiter?: string): string;
82
+ /**
83
+ * Utility to load the object from a string representation of the key value pairs in the format "Field1|Value1||Field2|Value2" etc.
84
+ * The delimiters between the fields default to '||' and the values default to '|', but can be anything desired.
85
+ * @param concatenatedString
86
+ * @param fieldDelimiter
87
+ * @param valueDelimiter
88
+ */
89
+ LoadFromConcatenatedString(concatenatedString: string, fieldDelimiter?: string, valueDelimiter?: string): void;
90
+ /**
91
+ * For URL segments, we use | and || as the standard delimiters for field and value respectively in order to avoid
92
+ * conflicts with the standard URL delimiters like = and &. This method converts the key value pairs to a URL segment
93
+ * @param segment
94
+ * @returns
95
+ */
74
96
  ToURLSegment(segment?: string): string;
75
- private readonly _field_delimiter;
76
- private readonly _value_delimiter;
97
+ private static readonly _field_delimiter;
98
+ private static readonly _value_delimiter;
99
+ /**
100
+ * Default delimiter for separating fields in a string that represents a key value pair within the composite key
101
+ */
102
+ static get DefaultFieldDelimiter(): string;
103
+ /**
104
+ * Default delimiter for separating values from field names in a string that represents a key value pair within the composite key
105
+ */
106
+ static get DefaultValueDelimiter(): string;
77
107
  /**
78
- * Parses a provided routeSegment using the provided delimiter and loads the key value pairs from it
108
+ * Parses a provided url segment using the provided delimiter and loads the key value pairs from it. If the segment just contains a single
109
+ * value and no delimiter, it will assume the field name is the primary key field name of the entity and load that way.
79
110
  */
80
- LoadFromURLSegment(entity: EntityInfo, routeSegment: string): void;
111
+ LoadFromURLSegment(entity: EntityInfo, urlSegment: string): void;
81
112
  /**
82
113
  * Parses the provided routeSegment and assumes the field names are included in the segment
83
114
  * @param urlSegment
@@ -1 +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"}
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;;;;;;OAMG;IACH,oBAAoB,CAAC,cAAc,GAAE,MAAa,EAAE,cAAc,GAAE,MAAY,GAAG,MAAM;IAMzF;;;;;;OAMG;IACH,0BAA0B,CAAC,kBAAkB,EAAE,MAAM,EAAE,cAAc,GAAE,MAAa,EAAE,cAAc,GAAE,MAAY,GAAG,IAAI;IAgBzH;;;;;OAKG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAItC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAC/C;;OAEG;IACH,WAAkB,qBAAqB,IAAI,MAAM,CAEhD;IACD;;OAEG;IACH,WAAkB,qBAAqB,IAAI,MAAM,CAEhD;IAED;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAUhE;;;;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"}
@@ -12,8 +12,6 @@ exports.KeyValuePair = KeyValuePair;
12
12
  */
13
13
  class FieldValueCollection {
14
14
  constructor(keyValuePairs) {
15
- this._field_delimiter = '||';
16
- this._value_delimiter = '|';
17
15
  if (keyValuePairs && Array.isArray(keyValuePairs)) {
18
16
  if (keyValuePairs.length > 0) {
19
17
  let kvp = keyValuePairs[0];
@@ -142,21 +140,71 @@ class FieldValueCollection {
142
140
  return;
143
141
  });
144
142
  }
145
- ToURLSegment(segment) {
143
+ /**
144
+ * Utility to generate a string representation of the key value pairs in the format "Field1|Value1||Field2|Value2" etc.
145
+ * The field delimiter defaults to '||' and the value delimiter defaults to '|'
146
+ * @param fieldDelimiter
147
+ * @param valueDelimiter
148
+ * @returns
149
+ */
150
+ ToConcatenatedString(fieldDelimiter = '||', valueDelimiter = '|') {
146
151
  return this.KeyValuePairs.map((pk) => {
147
- return `${pk.FieldName}|${pk.Value}`;
148
- }).join(segment || "||");
152
+ return `${pk.FieldName}${valueDelimiter}${pk.Value}`;
153
+ }).join(fieldDelimiter);
154
+ }
155
+ /**
156
+ * Utility to load the object from a string representation of the key value pairs in the format "Field1|Value1||Field2|Value2" etc.
157
+ * The delimiters between the fields default to '||' and the values default to '|', but can be anything desired.
158
+ * @param concatenatedString
159
+ * @param fieldDelimiter
160
+ * @param valueDelimiter
161
+ */
162
+ LoadFromConcatenatedString(concatenatedString, fieldDelimiter = '||', valueDelimiter = '|') {
163
+ if (concatenatedString.includes(valueDelimiter)) {
164
+ const parts = concatenatedString.split(fieldDelimiter);
165
+ const pkVals = [];
166
+ for (let p of parts) {
167
+ const kv = p.split(valueDelimiter);
168
+ pkVals.push({ FieldName: kv[0], Value: kv[1] });
169
+ }
170
+ this.KeyValuePairs = pkVals;
171
+ }
172
+ else {
173
+ // do nothing
174
+ }
175
+ }
176
+ /**
177
+ * For URL segments, we use | and || as the standard delimiters for field and value respectively in order to avoid
178
+ * conflicts with the standard URL delimiters like = and &. This method converts the key value pairs to a URL segment
179
+ * @param segment
180
+ * @returns
181
+ */
182
+ ToURLSegment(segment) {
183
+ return this.ToConcatenatedString(segment || CompositeKey.DefaultFieldDelimiter, CompositeKey.DefaultValueDelimiter);
184
+ }
185
+ /**
186
+ * Default delimiter for separating fields in a string that represents a key value pair within the composite key
187
+ */
188
+ static get DefaultFieldDelimiter() {
189
+ return this._field_delimiter;
190
+ }
191
+ /**
192
+ * Default delimiter for separating values from field names in a string that represents a key value pair within the composite key
193
+ */
194
+ static get DefaultValueDelimiter() {
195
+ return this._value_delimiter;
149
196
  }
150
197
  /**
151
- * Parses a provided routeSegment using the provided delimiter and loads the key value pairs from it
198
+ * Parses a provided url segment using the provided delimiter and loads the key value pairs from it. If the segment just contains a single
199
+ * value and no delimiter, it will assume the field name is the primary key field name of the entity and load that way.
152
200
  */
153
- LoadFromURLSegment(entity, routeSegment) {
154
- if (!routeSegment.includes('|')) {
201
+ LoadFromURLSegment(entity, urlSegment) {
202
+ if (!urlSegment.includes('|')) {
155
203
  // If not, return a single element array with a default field name
156
- this.KeyValuePairs = [{ FieldName: entity.FirstPrimaryKey.Name, Value: routeSegment }];
204
+ this.KeyValuePairs = [{ FieldName: entity.FirstPrimaryKey.Name, Value: urlSegment }];
157
205
  }
158
206
  else {
159
- this.SimpleLoadFromURLSegment(routeSegment);
207
+ this.SimpleLoadFromURLSegment(urlSegment);
160
208
  }
161
209
  }
162
210
  /**
@@ -165,8 +213,8 @@ class FieldValueCollection {
165
213
  * @param delimiter
166
214
  */
167
215
  SimpleLoadFromURLSegment(urlSegment) {
168
- if (urlSegment.includes(this._value_delimiter)) {
169
- const parts = urlSegment.split(this._field_delimiter);
216
+ if (urlSegment.includes(CompositeKey.DefaultValueDelimiter)) {
217
+ const parts = urlSegment.split(CompositeKey.DefaultFieldDelimiter);
170
218
  const pkVals = [];
171
219
  for (let p of parts) {
172
220
  const kv = p.split('|');
@@ -207,6 +255,8 @@ class FieldValueCollection {
207
255
  }
208
256
  }
209
257
  exports.FieldValueCollection = FieldValueCollection;
258
+ FieldValueCollection._field_delimiter = '||';
259
+ FieldValueCollection._value_delimiter = '|';
210
260
  /**
211
261
  * Composite keys are used to represent database keys and can include one or more key value pairs.
212
262
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compositeKey.js","sourceRoot":"","sources":["../../src/generic/compositeKey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compositeKey.js","sourceRoot":"","sources":["../../src/generic/compositeKey.ts"],"names":[],"mappings":"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"}
@@ -45,10 +45,15 @@ export declare class EntityRelationshipInfo extends BaseInfo {
45
45
  JoinEntityJoinField: string;
46
46
  JoinEntityInverseJoinField: string;
47
47
  DisplayInForm: boolean;
48
+ DisplayLocation: 'After Field Tabs' | 'Before Field Tabs';
48
49
  DisplayName: string;
50
+ DisplayIconType: 'Related Entity Icon' | 'Custom' | 'None';
51
+ DisplayIcon: string;
49
52
  DisplayUserViewGUID: string;
50
- CreatedAt: Date;
51
- UpdatedAt: Date;
53
+ DisplayComponentID: number;
54
+ DisplayComponentConfiguration: string;
55
+ __mj_CreatedAt: Date;
56
+ __mj_UpdatedAt: Date;
52
57
  Entity: string;
53
58
  EntityBaseTable: string;
54
59
  EntityBaseView: string;
@@ -60,6 +65,7 @@ export declare class EntityRelationshipInfo extends BaseInfo {
60
65
  RelatedEntityBaseTableCodeName: string;
61
66
  DisplayUserViewName: string;
62
67
  DisplayUserViewID: number;
68
+ DisplayComponent: string;
63
69
  constructor(initData: any);
64
70
  }
65
71
  export declare const EntityPermissionType: {
@@ -88,8 +94,8 @@ export declare class EntityPermissionInfo extends BaseInfo {
88
94
  CreateRLSFilterID: number;
89
95
  UpdateRLSFilterID: number;
90
96
  DeleteRLSFilterID: number;
91
- CreatedAt: Date;
92
- UpdatedAt: Date;
97
+ __mj_CreatedAt: Date;
98
+ __mj_UpdatedAt: Date;
93
99
  Entity: string;
94
100
  RoleSQLName: string;
95
101
  ReadRLSFilter: string;
@@ -131,8 +137,8 @@ export declare class EntityFieldValueInfo extends BaseInfo {
131
137
  Value: string;
132
138
  Code: string;
133
139
  Description: string;
134
- CreatedAt: Date;
135
- UpdatedAt: Date;
140
+ __mj_CreatedAt: Date;
141
+ __mj_UpdatedAt: Date;
136
142
  constructor(initData: any);
137
143
  }
138
144
  export declare const GeneratedFormSectionType: {
@@ -194,8 +200,8 @@ export declare class EntityFieldInfo extends BaseInfo {
194
200
  RelatedEntityFieldName: string;
195
201
  IncludeRelatedEntityNameFieldInBaseView: boolean;
196
202
  RelatedEntityNameFieldMap: string;
197
- CreatedAt: Date;
198
- UpdatedAt: Date;
203
+ __mj_CreatedAt: Date;
204
+ __mj_UpdatedAt: Date;
199
205
  Entity: string;
200
206
  SchemaName: string;
201
207
  BaseTable: string;
@@ -242,15 +248,28 @@ export declare class EntityFieldInfo extends BaseInfo {
242
248
  get SQLFullType(): string;
243
249
  get MaxLength(): number;
244
250
  get ReadOnly(): boolean;
251
+ /**
252
+ * Helper method that returns true if the field is one of the special reserved MJ date fields for tracking CreatedAt and UpdatedAt timestamps. This is only used when the
253
+ * entity has TrackRecordChanges=1
254
+ */
255
+ get IsSpecialDateField(): boolean;
256
+ /**
257
+ * Returns true if the field is the CreatedAt field, a special field that is used to track the creation date of a record. This is only used when the entity has TrackRecordChanges=1
258
+ */
259
+ get IsCreatedAtField(): boolean;
260
+ /**
261
+ * Returns true if the field is the UpdatedAt field, a special field that is used to track the last update date of a record. This is only used when the entity has TrackRecordChanges=1
262
+ */
263
+ get IsUpdatedAtField(): boolean;
245
264
  /**
246
265
  * Returns true if the field is a "special" field (see list below) and is handled inside the DB layer and should be ignored in validation by the BaseEntity architecture
247
- * Special fields are: CreatedAt, UpdatedAt, ID
248
266
  * Also, we skip validation if we have a field that is:
249
267
  * - the primary key
250
268
  * - a uniqueidentifier
251
269
  * - an autoincrement field
252
270
  * - the field is virtual
253
271
  * - the field is readonly
272
+ * - the field is a special date field
254
273
  */
255
274
  get SkipValidation(): boolean;
256
275
  /**
@@ -275,8 +294,8 @@ export declare class EntityFieldInfo extends BaseInfo {
275
294
  export declare class EntityDocumentTypeInfo extends BaseInfo {
276
295
  Name: string;
277
296
  Description: string;
278
- CreatedAt: Date;
279
- UpdatedAt: Date;
297
+ __mj_CreatedAt: Date;
298
+ __mj_UpdatedAt: Date;
280
299
  constructor(initData?: any);
281
300
  }
282
301
  /**
@@ -287,8 +306,8 @@ export declare class EntitySettingInfo extends BaseInfo {
287
306
  Name: string;
288
307
  Value: string;
289
308
  Comments: string;
290
- CreatedAt: Date;
291
- UpdatedAt: Date;
309
+ __mj_CreatedAt: Date;
310
+ __mj_UpdatedAt: Date;
292
311
  constructor(initData?: any);
293
312
  }
294
313
  /**
@@ -339,8 +358,8 @@ export declare class EntityInfo extends BaseInfo {
339
358
  EntityObjectSubclassImport: string;
340
359
  PreferredCommunicationField: string;
341
360
  Icon: string;
342
- CreatedAt: Date;
343
- UpdatedAt: Date;
361
+ __mj_CreatedAt: Date;
362
+ __mj_UpdatedAt: Date;
344
363
  /**
345
364
  * CodeName is a unique name that can be used for various programatic purposes, singular version of the entity name but modified from entity name in some cases to remove whitespace and prefix with _ in the event that the entity name begins with a number or other non-alpha character
346
365
  */
@@ -374,6 +393,16 @@ export declare class EntityInfo extends BaseInfo {
374
393
  get RelatedEntities(): EntityRelationshipInfo[];
375
394
  get Permissions(): EntityPermissionInfo[];
376
395
  get Settings(): EntitySettingInfo[];
396
+ private static __createdAtFieldName;
397
+ private static __updatedAtFieldName;
398
+ /**
399
+ * Returns the name of the special reserved field that is used to store the CreatedAt timestamp across all of MJ. This is only used when an entity has TrackRecordChanges turned on
400
+ */
401
+ static get CreatedAtFieldName(): string;
402
+ /**
403
+ * Returns the name of the special reserved field that is used to store the UpdatedAt timestamp across all of MJ. This is only used when an entity has TrackRecordChanges turned on
404
+ */
405
+ static get UpdatedAtFieldName(): string;
377
406
  /**
378
407
  * @returns The BaseTable but with spaces inbetween capital letters
379
408
  * */
@@ -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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"}
@@ -58,10 +58,15 @@ class EntityRelationshipInfo extends baseInfo_1.BaseInfo {
58
58
  this.JoinEntityJoinField = null;
59
59
  this.JoinEntityInverseJoinField = null;
60
60
  this.DisplayInForm = null;
61
+ this.DisplayLocation = 'After Field Tabs';
61
62
  this.DisplayName = null;
63
+ this.DisplayIconType = 'Related Entity Icon';
64
+ this.DisplayIcon = null;
62
65
  this.DisplayUserViewGUID = null;
63
- this.CreatedAt = null;
64
- this.UpdatedAt = null;
66
+ this.DisplayComponentID = null;
67
+ this.DisplayComponentConfiguration = null;
68
+ this.__mj_CreatedAt = null;
69
+ this.__mj_UpdatedAt = null;
65
70
  // virtual fields - returned by the database VIEW
66
71
  this.Entity = null;
67
72
  this.EntityBaseTable = null;
@@ -74,6 +79,7 @@ class EntityRelationshipInfo extends baseInfo_1.BaseInfo {
74
79
  this.RelatedEntityBaseTableCodeName = null;
75
80
  this.DisplayUserViewName = null;
76
81
  this.DisplayUserViewID = null;
82
+ this.DisplayComponent = null;
77
83
  this.copyInitData(initData);
78
84
  }
79
85
  }
@@ -131,8 +137,8 @@ class EntityPermissionInfo extends baseInfo_1.BaseInfo {
131
137
  this.CreateRLSFilterID = null;
132
138
  this.UpdateRLSFilterID = null;
133
139
  this.DeleteRLSFilterID = null;
134
- this.CreatedAt = null;
135
- this.UpdatedAt = null;
140
+ this.__mj_CreatedAt = null;
141
+ this.__mj_UpdatedAt = null;
136
142
  // virtual fields - returned by the database VIEW
137
143
  this.Entity = null;
138
144
  this.RoleSQLName = null;
@@ -171,8 +177,8 @@ class EntityFieldValueInfo extends baseInfo_1.BaseInfo {
171
177
  this.Value = null;
172
178
  this.Code = null;
173
179
  this.Description = null;
174
- this.CreatedAt = null;
175
- this.UpdatedAt = null;
180
+ this.__mj_CreatedAt = null;
181
+ this.__mj_UpdatedAt = null;
176
182
  this.copyInitData(initData);
177
183
  }
178
184
  }
@@ -283,22 +289,44 @@ class EntityFieldInfo extends baseInfo_1.BaseInfo {
283
289
  return (0, util_1.SQLMaxLength)(this.Type, this.Length);
284
290
  }
285
291
  get ReadOnly() {
286
- return this.IsVirtual || !this.AllowUpdateAPI || this.IsPrimaryKey || this.Type.toLowerCase() === 'uniqueidentifier';
292
+ return this.IsVirtual ||
293
+ !this.AllowUpdateAPI ||
294
+ this.IsPrimaryKey ||
295
+ this.Type.toLowerCase() === 'uniqueidentifier' ||
296
+ this.IsSpecialDateField;
297
+ }
298
+ /**
299
+ * Helper method that returns true if the field is one of the special reserved MJ date fields for tracking CreatedAt and UpdatedAt timestamps. This is only used when the
300
+ * entity has TrackRecordChanges=1
301
+ */
302
+ get IsSpecialDateField() {
303
+ return this.IsCreatedAtField || this.IsUpdatedAtField;
304
+ }
305
+ /**
306
+ * Returns true if the field is the CreatedAt field, a special field that is used to track the creation date of a record. This is only used when the entity has TrackRecordChanges=1
307
+ */
308
+ get IsCreatedAtField() {
309
+ return this.Name.trim().toLowerCase() === EntityInfo.CreatedAtFieldName.trim().toLowerCase();
310
+ }
311
+ /**
312
+ * Returns true if the field is the UpdatedAt field, a special field that is used to track the last update date of a record. This is only used when the entity has TrackRecordChanges=1
313
+ */
314
+ get IsUpdatedAtField() {
315
+ return this.Name.trim().toLowerCase() === EntityInfo.UpdatedAtFieldName.trim().toLowerCase();
287
316
  }
288
317
  /**
289
318
  * Returns true if the field is a "special" field (see list below) and is handled inside the DB layer and should be ignored in validation by the BaseEntity architecture
290
- * Special fields are: CreatedAt, UpdatedAt, ID
291
319
  * Also, we skip validation if we have a field that is:
292
320
  * - the primary key
293
321
  * - a uniqueidentifier
294
322
  * - an autoincrement field
295
323
  * - the field is virtual
296
324
  * - the field is readonly
325
+ * - the field is a special date field
297
326
  */
298
327
  get SkipValidation() {
299
328
  const name = this.Name.toLowerCase().trim();
300
- return name === 'createdat' ||
301
- name === 'updatedat' ||
329
+ return this.IsSpecialDateField ||
302
330
  this.IsPrimaryKey ||
303
331
  this.Type.trim().toLowerCase() === 'uniqueidentifier' ||
304
332
  this.AutoIncrement === true ||
@@ -374,8 +402,8 @@ class EntityFieldInfo extends baseInfo_1.BaseInfo {
374
402
  this.RelatedEntityFieldName = null;
375
403
  this.IncludeRelatedEntityNameFieldInBaseView = null;
376
404
  this.RelatedEntityNameFieldMap = null;
377
- this.CreatedAt = null;
378
- this.UpdatedAt = null;
405
+ this.__mj_CreatedAt = null;
406
+ this.__mj_UpdatedAt = null;
379
407
  // virtual fields - returned by the database VIEW
380
408
  this.Entity = null;
381
409
  this.SchemaName = null;
@@ -417,8 +445,8 @@ class EntityDocumentTypeInfo extends baseInfo_1.BaseInfo {
417
445
  super();
418
446
  this.Name = null;
419
447
  this.Description = null;
420
- this.CreatedAt = null;
421
- this.UpdatedAt = null;
448
+ this.__mj_CreatedAt = null;
449
+ this.__mj_UpdatedAt = null;
422
450
  this.copyInitData(initData);
423
451
  }
424
452
  }
@@ -433,8 +461,8 @@ class EntitySettingInfo extends baseInfo_1.BaseInfo {
433
461
  this.Name = null;
434
462
  this.Value = null;
435
463
  this.Comments = null;
436
- this.CreatedAt = null;
437
- this.UpdatedAt = null;
464
+ this.__mj_CreatedAt = null;
465
+ this.__mj_UpdatedAt = null;
438
466
  this.copyInitData(initData);
439
467
  }
440
468
  }
@@ -474,6 +502,18 @@ class EntityInfo extends baseInfo_1.BaseInfo {
474
502
  get Settings() {
475
503
  return this._Settings;
476
504
  }
505
+ /**
506
+ * Returns the name of the special reserved field that is used to store the CreatedAt timestamp across all of MJ. This is only used when an entity has TrackRecordChanges turned on
507
+ */
508
+ static get CreatedAtFieldName() {
509
+ return EntityInfo.__createdAtFieldName;
510
+ }
511
+ /**
512
+ * Returns the name of the special reserved field that is used to store the UpdatedAt timestamp across all of MJ. This is only used when an entity has TrackRecordChanges turned on
513
+ */
514
+ static get UpdatedAtFieldName() {
515
+ return EntityInfo.__updatedAtFieldName;
516
+ }
477
517
  /**
478
518
  * @returns The BaseTable but with spaces inbetween capital letters
479
519
  * */
@@ -729,8 +769,8 @@ class EntityInfo extends baseInfo_1.BaseInfo {
729
769
  this.EntityObjectSubclassImport = null;
730
770
  this.PreferredCommunicationField = null;
731
771
  this.Icon = null;
732
- this.CreatedAt = null;
733
- this.UpdatedAt = null;
772
+ this.__mj_CreatedAt = null;
773
+ this.__mj_UpdatedAt = null;
734
774
  // virtual fields - returned by the database VIEW
735
775
  /**
736
776
  * CodeName is a unique name that can be used for various programatic purposes, singular version of the entity name but modified from entity name in some cases to remove whitespace and prefix with _ in the event that the entity name begins with a number or other non-alpha character
@@ -835,6 +875,8 @@ class EntityInfo extends baseInfo_1.BaseInfo {
835
875
  }
836
876
  }
837
877
  exports.EntityInfo = EntityInfo;
878
+ EntityInfo.__createdAtFieldName = '__mj_CreatedAt';
879
+ EntityInfo.__updatedAtFieldName = '__mj_UpdatedAt';
838
880
  exports.ValidationErrorType = {
839
881
  Failure: 'Failure',
840
882
  Warning: 'Warning',