@memberjunction/global 5.0.0 → 5.2.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 (138) hide show
  1. package/README.md +19 -3
  2. package/dist/DynamicPackageLoader.d.ts +61 -0
  3. package/dist/DynamicPackageLoader.d.ts.map +1 -0
  4. package/dist/DynamicPackageLoader.js +56 -0
  5. package/dist/DynamicPackageLoader.js.map +1 -0
  6. package/dist/SQLExpressionValidator.d.ts +31 -4
  7. package/dist/SQLExpressionValidator.d.ts.map +1 -1
  8. package/dist/SQLExpressionValidator.js +107 -22
  9. package/dist/SQLExpressionValidator.js.map +1 -1
  10. package/dist/__tests__/SQLExpressionValidator.security.test.d.ts +2 -0
  11. package/dist/__tests__/SQLExpressionValidator.security.test.d.ts.map +1 -0
  12. package/dist/__tests__/SQLExpressionValidator.security.test.js +328 -0
  13. package/dist/__tests__/SQLExpressionValidator.security.test.js.map +1 -0
  14. package/dist/__tests__/SQLExpressionValidator.test.d.ts +2 -0
  15. package/dist/__tests__/SQLExpressionValidator.test.d.ts.map +1 -0
  16. package/dist/__tests__/SQLExpressionValidator.test.js +350 -0
  17. package/dist/__tests__/SQLExpressionValidator.test.js.map +1 -0
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/package.json +1 -1
  23. package/dist/Core.d.ts +0 -29
  24. package/dist/Core.d.ts.map +0 -1
  25. package/dist/Core.js +0 -58
  26. package/dist/Core.js.map +0 -1
  27. package/dist/generic/QueryCache.d.ts +0 -85
  28. package/dist/generic/QueryCache.d.ts.map +0 -1
  29. package/dist/generic/QueryCache.js +0 -198
  30. package/dist/generic/QueryCache.js.map +0 -1
  31. package/dist/generic/QueryCacheConfig.d.ts +0 -72
  32. package/dist/generic/QueryCacheConfig.d.ts.map +0 -1
  33. package/dist/generic/QueryCacheConfig.js +0 -3
  34. package/dist/generic/QueryCacheConfig.js.map +0 -1
  35. package/dist/generic/applicationInfo.d.ts +0 -138
  36. package/dist/generic/applicationInfo.d.ts.map +0 -1
  37. package/dist/generic/applicationInfo.js +0 -177
  38. package/dist/generic/applicationInfo.js.map +0 -1
  39. package/dist/generic/authEvaluator.d.ts +0 -25
  40. package/dist/generic/authEvaluator.d.ts.map +0 -1
  41. package/dist/generic/authEvaluator.js +0 -49
  42. package/dist/generic/authEvaluator.js.map +0 -1
  43. package/dist/generic/authTypes.d.ts +0 -193
  44. package/dist/generic/authTypes.d.ts.map +0 -1
  45. package/dist/generic/authTypes.js +0 -19
  46. package/dist/generic/authTypes.js.map +0 -1
  47. package/dist/generic/baseEngine.d.ts +0 -260
  48. package/dist/generic/baseEngine.d.ts.map +0 -1
  49. package/dist/generic/baseEngine.js +0 -510
  50. package/dist/generic/baseEngine.js.map +0 -1
  51. package/dist/generic/baseEntity.d.ts +0 -691
  52. package/dist/generic/baseEntity.d.ts.map +0 -1
  53. package/dist/generic/baseEntity.js +0 -1688
  54. package/dist/generic/baseEntity.js.map +0 -1
  55. package/dist/generic/baseInfo.d.ts +0 -24
  56. package/dist/generic/baseInfo.d.ts.map +0 -1
  57. package/dist/generic/baseInfo.js +0 -53
  58. package/dist/generic/baseInfo.js.map +0 -1
  59. package/dist/generic/compositeKey.d.ts +0 -206
  60. package/dist/generic/compositeKey.d.ts.map +0 -1
  61. package/dist/generic/compositeKey.js +0 -412
  62. package/dist/generic/compositeKey.js.map +0 -1
  63. package/dist/generic/databaseProviderBase.d.ts +0 -46
  64. package/dist/generic/databaseProviderBase.d.ts.map +0 -1
  65. package/dist/generic/databaseProviderBase.js +0 -14
  66. package/dist/generic/databaseProviderBase.js.map +0 -1
  67. package/dist/generic/entityInfo.d.ts +0 -983
  68. package/dist/generic/entityInfo.d.ts.map +0 -1
  69. package/dist/generic/entityInfo.js +0 -1401
  70. package/dist/generic/entityInfo.js.map +0 -1
  71. package/dist/generic/explorerNavigationItem.d.ts +0 -20
  72. package/dist/generic/explorerNavigationItem.d.ts.map +0 -1
  73. package/dist/generic/explorerNavigationItem.js +0 -29
  74. package/dist/generic/explorerNavigationItem.js.map +0 -1
  75. package/dist/generic/interfaces.d.ts +0 -610
  76. package/dist/generic/interfaces.d.ts.map +0 -1
  77. package/dist/generic/interfaces.js +0 -211
  78. package/dist/generic/interfaces.js.map +0 -1
  79. package/dist/generic/libraryInfo.d.ts +0 -40
  80. package/dist/generic/libraryInfo.d.ts.map +0 -1
  81. package/dist/generic/libraryInfo.js +0 -56
  82. package/dist/generic/libraryInfo.js.map +0 -1
  83. package/dist/generic/logging.d.ts +0 -179
  84. package/dist/generic/logging.d.ts.map +0 -1
  85. package/dist/generic/logging.js +0 -382
  86. package/dist/generic/logging.js.map +0 -1
  87. package/dist/generic/metadata.d.ts +0 -305
  88. package/dist/generic/metadata.d.ts.map +0 -1
  89. package/dist/generic/metadata.js +0 -454
  90. package/dist/generic/metadata.js.map +0 -1
  91. package/dist/generic/metadataUtil.d.ts +0 -8
  92. package/dist/generic/metadataUtil.d.ts.map +0 -1
  93. package/dist/generic/metadataUtil.js +0 -36
  94. package/dist/generic/metadataUtil.js.map +0 -1
  95. package/dist/generic/providerBase.d.ts +0 -546
  96. package/dist/generic/providerBase.d.ts.map +0 -1
  97. package/dist/generic/providerBase.js +0 -999
  98. package/dist/generic/providerBase.js.map +0 -1
  99. package/dist/generic/queryInfo.d.ts +0 -460
  100. package/dist/generic/queryInfo.d.ts.map +0 -1
  101. package/dist/generic/queryInfo.js +0 -633
  102. package/dist/generic/queryInfo.js.map +0 -1
  103. package/dist/generic/querySQLFilters.d.ts +0 -54
  104. package/dist/generic/querySQLFilters.d.ts.map +0 -1
  105. package/dist/generic/querySQLFilters.js +0 -84
  106. package/dist/generic/querySQLFilters.js.map +0 -1
  107. package/dist/generic/runQuery.d.ts +0 -96
  108. package/dist/generic/runQuery.d.ts.map +0 -1
  109. package/dist/generic/runQuery.js +0 -66
  110. package/dist/generic/runQuery.js.map +0 -1
  111. package/dist/generic/runQuerySQLFilterImplementations.d.ts +0 -51
  112. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +0 -1
  113. package/dist/generic/runQuerySQLFilterImplementations.js +0 -238
  114. package/dist/generic/runQuerySQLFilterImplementations.js.map +0 -1
  115. package/dist/generic/runReport.d.ts +0 -25
  116. package/dist/generic/runReport.d.ts.map +0 -1
  117. package/dist/generic/runReport.js +0 -42
  118. package/dist/generic/runReport.js.map +0 -1
  119. package/dist/generic/securityInfo.d.ts +0 -355
  120. package/dist/generic/securityInfo.d.ts.map +0 -1
  121. package/dist/generic/securityInfo.js +0 -425
  122. package/dist/generic/securityInfo.js.map +0 -1
  123. package/dist/generic/transactionGroup.d.ts +0 -184
  124. package/dist/generic/transactionGroup.d.ts.map +0 -1
  125. package/dist/generic/transactionGroup.js +0 -357
  126. package/dist/generic/transactionGroup.js.map +0 -1
  127. package/dist/generic/util.d.ts +0 -81
  128. package/dist/generic/util.d.ts.map +0 -1
  129. package/dist/generic/util.js +0 -301
  130. package/dist/generic/util.js.map +0 -1
  131. package/dist/views/runView.d.ts +0 -150
  132. package/dist/views/runView.d.ts.map +0 -1
  133. package/dist/views/runView.js +0 -100
  134. package/dist/views/runView.js.map +0 -1
  135. package/dist/views/viewInfo.d.ts +0 -121
  136. package/dist/views/viewInfo.d.ts.map +0 -1
  137. package/dist/views/viewInfo.js +0 -182
  138. package/dist/views/viewInfo.js.map +0 -1
@@ -1,198 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryCache = void 0;
4
- const logging_1 = require("./logging.js");
5
- /**
6
- * LRU (Least Recently Used) cache implementation for query results with TTL support.
7
- * This cache provides efficient storage and retrieval of query results with automatic
8
- * expiration based on time-to-live settings and size limits.
9
- */
10
- class QueryCache {
11
- constructor() {
12
- this.cache = new Map();
13
- this.accessOrder = [];
14
- this.DEFAULT_MAX_SIZE = 1000;
15
- this.DEFAULT_TTL_MINUTES = 60;
16
- /**
17
- * Performance statistics for cache monitoring
18
- */
19
- this.stats = {
20
- hits: 0,
21
- misses: 0,
22
- evictions: 0,
23
- expirations: 0
24
- };
25
- }
26
- /**
27
- * Generate a deterministic cache key from query ID and parameters.
28
- * The key is created by sorting parameter keys and creating a stable JSON representation.
29
- *
30
- * @param queryId - The unique query identifier
31
- * @param params - The query parameters
32
- * @returns A stable cache key string
33
- */
34
- getCacheKey(queryId, params) {
35
- const sortedParams = Object.keys(params).sort().reduce((acc, key) => {
36
- acc[key] = params[key];
37
- return acc;
38
- }, {});
39
- return `${queryId}:${JSON.stringify(sortedParams)}`;
40
- }
41
- /**
42
- * Get cached results if available and not expired.
43
- * Updates access order for LRU tracking and increments hit counter.
44
- *
45
- * @param queryId - The query identifier
46
- * @param params - The query parameters
47
- * @param config - Cache configuration settings
48
- * @returns The cached entry if valid, null otherwise
49
- */
50
- get(queryId, params, config) {
51
- if (!config.enabled)
52
- return null;
53
- const key = this.getCacheKey(queryId, params);
54
- const entry = this.cache.get(key);
55
- if (!entry) {
56
- this.stats.misses++;
57
- return null;
58
- }
59
- const now = Date.now();
60
- const expiryTime = entry.timestamp + (entry.ttlMinutes * 60 * 1000);
61
- if (now > expiryTime) {
62
- // Entry has expired
63
- this.cache.delete(key);
64
- this.removeFromAccessOrder(key);
65
- this.stats.expirations++;
66
- this.stats.misses++;
67
- return null;
68
- }
69
- // Update access order for LRU
70
- this.updateAccessOrder(key);
71
- entry.hitCount++;
72
- this.stats.hits++;
73
- return entry;
74
- }
75
- /**
76
- * Cache query results with TTL and LRU eviction.
77
- * Evicts least recently used entries when at capacity.
78
- *
79
- * @param queryId - The query identifier
80
- * @param params - The query parameters
81
- * @param results - The query results to cache
82
- * @param config - Cache configuration settings
83
- */
84
- set(queryId, params, results, config) {
85
- if (!config.enabled)
86
- return;
87
- const key = this.getCacheKey(queryId, params);
88
- const maxSize = config.maxCacheSize || this.DEFAULT_MAX_SIZE;
89
- // Evict LRU entries if at capacity
90
- if (this.cache.size >= maxSize && !this.cache.has(key)) {
91
- const lruKey = this.accessOrder.shift();
92
- if (lruKey) {
93
- this.cache.delete(lruKey);
94
- this.stats.evictions++;
95
- (0, logging_1.LogStatus)(`Cache eviction: Removed LRU entry for key ${lruKey}`);
96
- }
97
- }
98
- const entry = {
99
- queryId,
100
- parameters: params,
101
- results,
102
- timestamp: Date.now(),
103
- ttlMinutes: config.ttlMinutes || this.DEFAULT_TTL_MINUTES,
104
- hitCount: 0
105
- };
106
- this.cache.set(key, entry);
107
- this.updateAccessOrder(key);
108
- }
109
- /**
110
- * Clear cache for specific query or all queries.
111
- *
112
- * @param queryId - Optional query ID to clear specific query cache
113
- */
114
- clear(queryId) {
115
- if (queryId) {
116
- // Clear all entries for specific query
117
- const keysToDelete = Array.from(this.cache.keys())
118
- .filter(key => key.startsWith(`${queryId}:`));
119
- keysToDelete.forEach(key => {
120
- this.cache.delete(key);
121
- this.removeFromAccessOrder(key);
122
- });
123
- (0, logging_1.LogStatus)(`Cleared ${keysToDelete.length} cache entries for query ${queryId}`);
124
- }
125
- else {
126
- // Clear entire cache
127
- const size = this.cache.size;
128
- this.cache.clear();
129
- this.accessOrder = [];
130
- (0, logging_1.LogStatus)(`Cleared entire query cache (${size} entries)`);
131
- }
132
- }
133
- /**
134
- * Update the access order for LRU tracking.
135
- * Moves the accessed key to the end of the array (most recently used).
136
- *
137
- * @param key - The cache key that was accessed
138
- */
139
- updateAccessOrder(key) {
140
- const index = this.accessOrder.indexOf(key);
141
- if (index > -1) {
142
- this.accessOrder.splice(index, 1);
143
- }
144
- this.accessOrder.push(key);
145
- }
146
- /**
147
- * Remove a key from the access order tracking.
148
- *
149
- * @param key - The cache key to remove
150
- */
151
- removeFromAccessOrder(key) {
152
- const index = this.accessOrder.indexOf(key);
153
- if (index > -1) {
154
- this.accessOrder.splice(index, 1);
155
- }
156
- }
157
- /**
158
- * Get cache statistics for monitoring and debugging.
159
- *
160
- * @returns Object containing cache performance metrics
161
- */
162
- getStats() {
163
- const total = this.stats.hits + this.stats.misses;
164
- const hitRate = total > 0 ? this.stats.hits / total : 0;
165
- return {
166
- size: this.cache.size,
167
- hits: this.stats.hits,
168
- misses: this.stats.misses,
169
- hitRate: Math.round(hitRate * 100) / 100,
170
- evictions: this.stats.evictions,
171
- expirations: this.stats.expirations
172
- };
173
- }
174
- /**
175
- * Clean up expired entries from the cache.
176
- * This can be called periodically to free up memory.
177
- *
178
- * @returns Number of expired entries removed
179
- */
180
- cleanupExpired() {
181
- const now = Date.now();
182
- let cleaned = 0;
183
- for (const [key, entry] of this.cache.entries()) {
184
- const expiryTime = entry.timestamp + (entry.ttlMinutes * 60 * 1000);
185
- if (now > expiryTime) {
186
- this.cache.delete(key);
187
- this.removeFromAccessOrder(key);
188
- cleaned++;
189
- }
190
- }
191
- if (cleaned > 0) {
192
- (0, logging_1.LogStatus)(`Cleaned up ${cleaned} expired cache entries`);
193
- }
194
- return cleaned;
195
- }
196
- }
197
- exports.QueryCache = QueryCache;
198
- //# sourceMappingURL=QueryCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../../src/generic/QueryCache.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Configuration interface for query result caching with TTL-based expiration
3
- */
4
- export interface QueryCacheConfig {
5
- /**
6
- * Whether caching is enabled for this query
7
- */
8
- enabled: boolean;
9
- /**
10
- * Time-to-live in minutes for cached results
11
- */
12
- ttlMinutes: number;
13
- /**
14
- * Maximum number of cached result sets for this query
15
- */
16
- maxCacheSize?: number;
17
- /**
18
- * Cache key strategy - exact parameter matching vs. pattern matching
19
- */
20
- cacheKey?: 'exact' | 'fuzzy';
21
- /**
22
- * Whether to inherit settings from parent category
23
- */
24
- inheritFromCategory?: boolean;
25
- }
26
- /**
27
- * Represents a cached query result entry with metadata
28
- */
29
- export interface QueryCacheEntry {
30
- /**
31
- * The query ID this cache entry belongs to
32
- */
33
- queryId: string;
34
- /**
35
- * The parameters used for this specific query execution
36
- */
37
- parameters: Record<string, any>;
38
- /**
39
- * The cached query results
40
- */
41
- results: any[];
42
- /**
43
- * Timestamp when this entry was cached
44
- */
45
- timestamp: number;
46
- /**
47
- * TTL in minutes for this specific cache entry
48
- */
49
- ttlMinutes: number;
50
- /**
51
- * Number of times this cache entry has been accessed
52
- */
53
- hitCount: number;
54
- }
55
- /**
56
- * Result type extended with cache information
57
- */
58
- export interface CachedRunQueryResult {
59
- /**
60
- * Whether this result was served from cache
61
- */
62
- CacheHit?: boolean;
63
- /**
64
- * Cache key used for this query
65
- */
66
- CacheKey?: string;
67
- /**
68
- * Time until cache expiration in milliseconds
69
- */
70
- CacheTTLRemaining?: number;
71
- }
72
- //# sourceMappingURL=QueryCacheConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCacheConfig.d.ts","sourceRoot":"","sources":["../../src/generic/QueryCacheConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=QueryCacheConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCacheConfig.js","sourceRoot":"","sources":["../../src/generic/QueryCacheConfig.ts"],"names":[],"mappings":""}
@@ -1,138 +0,0 @@
1
- import { BaseInfo } from './baseInfo.js';
2
- import { EntityInfo } from './entityInfo.js';
3
- import { IMetadataProvider } from './interfaces.js';
4
- /**
5
- * Stores configuration settings and preferences for applications, including key-value pairs for runtime parameters and user-specific customizations.
6
- */
7
- export declare class ApplicationSettingInfo extends BaseInfo {
8
- /**
9
- * Unique identifier for the application setting
10
- */
11
- ID: string;
12
- /**
13
- * Name of the application this setting belongs to
14
- */
15
- ApplicationName: string;
16
- /**
17
- * Name of the setting
18
- */
19
- Name: string;
20
- /**
21
- * The setting value, can be simple text, numbers, booleans, or JSON for complex configuration objects
22
- */
23
- Value: string;
24
- /**
25
- * Additional comments about the setting
26
- */
27
- Comments: string;
28
- /**
29
- * Timestamp when the record was created
30
- */
31
- __mj_CreatedAt: Date;
32
- /**
33
- * Timestamp when the record was last updated
34
- */
35
- __mj_UpdatedAt: Date;
36
- constructor(initData?: any);
37
- }
38
- /**
39
- * List of entities within each application. An application can have any number of entities and an entity can be part of any number of applications.
40
- */
41
- export declare class ApplicationEntityInfo extends BaseInfo {
42
- /**
43
- * Unique identifier for the application entity relationship
44
- */
45
- ID: string;
46
- /**
47
- * Name of the application
48
- */
49
- ApplicationName: string;
50
- /**
51
- * ID of the entity linked to this application
52
- */
53
- EntityID: string;
54
- /**
55
- * Display order of this entity within the application, lower numbers appear first in navigation and menus
56
- */
57
- Sequence: number;
58
- /**
59
- * When set to true, the entity will be included by default for a new user when they first access the application in question
60
- */
61
- DefaultForNewUser: boolean;
62
- /**
63
- * Application name (denormalized field)
64
- */
65
- Application: string;
66
- /**
67
- * Entity name (denormalized field)
68
- */
69
- Entity: string;
70
- /**
71
- * Base table name of the entity
72
- */
73
- EntityBaseTable: string;
74
- /**
75
- * Code-friendly name of the entity
76
- */
77
- EntityCodeName: string;
78
- /**
79
- * Class name of the entity
80
- */
81
- EntityClassName: string;
82
- /**
83
- * Code-friendly name of the entity's base table
84
- */
85
- EntityBaseTableCodeName: string;
86
- private _EntityInfo;
87
- /**
88
- * Gets the full entity metadata for the entity linked to this application.
89
- * @returns {EntityInfo} The entity information object
90
- */
91
- get EntityInfo(): EntityInfo;
92
- _setEntity(entity: EntityInfo): void;
93
- constructor(initData?: any);
94
- }
95
- /**
96
- * Applications are used to group entities in the user interface for ease of user access.
97
- * Provides organizational structure for presenting entities to users.
98
- */
99
- export declare class ApplicationInfo extends BaseInfo {
100
- /**
101
- * Unique identifier for the application
102
- */
103
- ID: string;
104
- /**
105
- * Name of the application
106
- */
107
- Name: string;
108
- /**
109
- * Description of the application
110
- */
111
- Description: string;
112
- /**
113
- * CSS class information for the display icon for each application
114
- */
115
- Icon: string;
116
- /**
117
- * If turned on, when a new user first uses the MJ Explorer app, the application records with this turned on will have this application included in their selected application list
118
- */
119
- DefaultForNewUser: boolean;
120
- /**
121
- * Comma-delimited list of schema names where entities will be automatically added to the application when created in those schemas
122
- */
123
- SchemaAutoAddNewEntities: string;
124
- private _ApplicationEntities;
125
- /**
126
- * Gets the list of entities that belong to this application with their display sequence.
127
- * @returns {ApplicationEntityInfo[]} Array of application entity mappings
128
- */
129
- get ApplicationEntities(): ApplicationEntityInfo[];
130
- private _ApplicationSettings;
131
- /**
132
- * Gets the configuration settings for this application.
133
- * @returns {ApplicationSettingInfo[]} Array of key-value settings
134
- */
135
- get ApplicationSettings(): ApplicationSettingInfo[];
136
- constructor(initData: any, md: IMetadataProvider);
137
- }
138
- //# sourceMappingURL=applicationInfo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applicationInfo.d.ts","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,QAAQ;IAChD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAO;IAEnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAO;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAO;IAEvB;;OAEG;IACH,cAAc,EAAE,IAAI,CAAO;IAE3B;;OAEG;IACH,cAAc,EAAE,IAAI,CAAO;gBAEd,QAAQ,GAAE,GAAU;CAIpC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IAC/C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAO;IAEvB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAO;IAEvB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAO;IAEjC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAO;IAE1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAO;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAO;IAE7B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAO;IAEtC,OAAO,CAAC,WAAW,CAAmB;IACtC;;;OAGG;IACH,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,UAAU,CAAC,MAAM,EAAE,UAAU;gBAIhB,QAAQ,GAAE,GAAU;CAIpC;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAO;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAO;IAE1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAO;IAEnB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAO;IAEjC;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAO;IAEvC,OAAO,CAAC,oBAAoB,CAA8B;IAC1D;;;OAGG;IACH,IAAW,mBAAmB,IAAI,qBAAqB,EAAE,CAExD;IAED,OAAO,CAAC,oBAAoB,CAA+B;IAC3D;;;OAGG;IACH,IAAW,mBAAmB,IAAI,sBAAsB,EAAE,CAEzD;gBAEY,QAAQ,EAAE,GAAU,EAAE,EAAE,EAAE,iBAAiB;CAyB3D"}
@@ -1,177 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationInfo = exports.ApplicationEntityInfo = exports.ApplicationSettingInfo = void 0;
4
- const baseInfo_1 = require("./baseInfo.js");
5
- /**
6
- * Stores configuration settings and preferences for applications, including key-value pairs for runtime parameters and user-specific customizations.
7
- */
8
- class ApplicationSettingInfo extends baseInfo_1.BaseInfo {
9
- constructor(initData = null) {
10
- super();
11
- /**
12
- * Unique identifier for the application setting
13
- */
14
- this.ID = null;
15
- /**
16
- * Name of the application this setting belongs to
17
- */
18
- this.ApplicationName = null;
19
- /**
20
- * Name of the setting
21
- */
22
- this.Name = null;
23
- /**
24
- * The setting value, can be simple text, numbers, booleans, or JSON for complex configuration objects
25
- */
26
- this.Value = null;
27
- /**
28
- * Additional comments about the setting
29
- */
30
- this.Comments = null;
31
- /**
32
- * Timestamp when the record was created
33
- */
34
- this.__mj_CreatedAt = null;
35
- /**
36
- * Timestamp when the record was last updated
37
- */
38
- this.__mj_UpdatedAt = null;
39
- this.copyInitData(initData);
40
- }
41
- }
42
- exports.ApplicationSettingInfo = ApplicationSettingInfo;
43
- /**
44
- * List of entities within each application. An application can have any number of entities and an entity can be part of any number of applications.
45
- */
46
- class ApplicationEntityInfo extends baseInfo_1.BaseInfo {
47
- /**
48
- * Gets the full entity metadata for the entity linked to this application.
49
- * @returns {EntityInfo} The entity information object
50
- */
51
- get EntityInfo() {
52
- return this._EntityInfo;
53
- }
54
- _setEntity(entity) {
55
- this._EntityInfo = entity;
56
- }
57
- constructor(initData = null) {
58
- super();
59
- /**
60
- * Unique identifier for the application entity relationship
61
- */
62
- this.ID = null;
63
- /**
64
- * Name of the application
65
- */
66
- this.ApplicationName = null;
67
- /**
68
- * ID of the entity linked to this application
69
- */
70
- this.EntityID = null;
71
- /**
72
- * Display order of this entity within the application, lower numbers appear first in navigation and menus
73
- */
74
- this.Sequence = null;
75
- /**
76
- * When set to true, the entity will be included by default for a new user when they first access the application in question
77
- */
78
- this.DefaultForNewUser = null;
79
- /**
80
- * Application name (denormalized field)
81
- */
82
- this.Application = null;
83
- /**
84
- * Entity name (denormalized field)
85
- */
86
- this.Entity = null;
87
- /**
88
- * Base table name of the entity
89
- */
90
- this.EntityBaseTable = null;
91
- /**
92
- * Code-friendly name of the entity
93
- */
94
- this.EntityCodeName = null;
95
- /**
96
- * Class name of the entity
97
- */
98
- this.EntityClassName = null;
99
- /**
100
- * Code-friendly name of the entity's base table
101
- */
102
- this.EntityBaseTableCodeName = null;
103
- this._EntityInfo = null;
104
- this.copyInitData(initData);
105
- }
106
- }
107
- exports.ApplicationEntityInfo = ApplicationEntityInfo;
108
- /**
109
- * Applications are used to group entities in the user interface for ease of user access.
110
- * Provides organizational structure for presenting entities to users.
111
- */
112
- class ApplicationInfo extends baseInfo_1.BaseInfo {
113
- /**
114
- * Gets the list of entities that belong to this application with their display sequence.
115
- * @returns {ApplicationEntityInfo[]} Array of application entity mappings
116
- */
117
- get ApplicationEntities() {
118
- return this._ApplicationEntities;
119
- }
120
- /**
121
- * Gets the configuration settings for this application.
122
- * @returns {ApplicationSettingInfo[]} Array of key-value settings
123
- */
124
- get ApplicationSettings() {
125
- return this._ApplicationSettings;
126
- }
127
- constructor(initData = null, md) {
128
- super();
129
- /**
130
- * Unique identifier for the application
131
- */
132
- this.ID = null;
133
- /**
134
- * Name of the application
135
- */
136
- this.Name = null;
137
- /**
138
- * Description of the application
139
- */
140
- this.Description = null;
141
- /**
142
- * CSS class information for the display icon for each application
143
- */
144
- this.Icon = null;
145
- /**
146
- * If turned on, when a new user first uses the MJ Explorer app, the application records with this turned on will have this application included in their selected application list
147
- */
148
- this.DefaultForNewUser = null;
149
- /**
150
- * Comma-delimited list of schema names where entities will be automatically added to the application when created in those schemas
151
- */
152
- this.SchemaAutoAddNewEntities = null;
153
- this._ApplicationEntities = [];
154
- this._ApplicationSettings = [];
155
- this.copyInitData(initData);
156
- if (initData) {
157
- let ae = initData.ApplicationEntities || initData._ApplicationEntities;
158
- if (ae) {
159
- const mdEntities = md.Entities;
160
- this._ApplicationEntities = [];
161
- for (let i = 0; i < ae.length; i++) {
162
- //
163
- const aei = new ApplicationEntityInfo(ae[i]);
164
- this._ApplicationEntities.push(aei);
165
- const match = mdEntities.find(e => e.ID == ae[i].EntityID);
166
- if (match)
167
- aei._setEntity(match);
168
- }
169
- }
170
- let as = initData.ApplicationSettings || initData._ApplicationSettings;
171
- if (as)
172
- this._ApplicationSettings = as.map(s => new ApplicationSettingInfo(s));
173
- }
174
- }
175
- }
176
- exports.ApplicationInfo = ApplicationInfo;
177
- //# sourceMappingURL=applicationInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { AuthorizationInfo, UserInfo } from "./securityInfo.js";
2
- /**
3
- * This class handles the execution of various types of authorization evaluations and contains utility methods as well.
4
- */
5
- export declare class AuthorizationEvaluator {
6
- /**
7
- * Determines if the current user can execute actions under the provided authorization.
8
- * @param auth
9
- * @returns
10
- */
11
- CurrentUserCanExecute(auth: AuthorizationInfo): boolean;
12
- /**
13
- * Determines if a given user can execute actions under the provided authorization.
14
- *
15
- * @param {AuthorizationInfo} auth - The authorization to check for execution rights.
16
- * @param {UserInfo} user - The user to check for execution rights.
17
- * @returns {boolean} True if the user can execute actions under the authorization, otherwise false.
18
- */
19
- UserCanExecute(auth: AuthorizationInfo, user: UserInfo): boolean;
20
- /**
21
- * Returns an array of authorizations that a given user can execute based on their roles.
22
- */
23
- GetUserAuthorizations(user: UserInfo): AuthorizationInfo[];
24
- }
25
- //# sourceMappingURL=authEvaluator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authEvaluator.d.ts","sourceRoot":"","sources":["../../src/generic/authEvaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;GAEG;AACH,qBAAa,sBAAsB;IAC/B;;;;OAIG;IACI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB;IAQpD;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IAIvE;;OAEG;IACI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,EAAE;CAcpE"}