@memberjunction/core-entities 2.128.0 → 2.129.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/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -1
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +14 -4
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -1
- package/dist/engines/EncryptionEngineBase.d.ts +246 -0
- package/dist/engines/EncryptionEngineBase.d.ts.map +1 -0
- package/dist/engines/EncryptionEngineBase.js +355 -0
- package/dist/engines/EncryptionEngineBase.js.map +1 -0
- package/dist/engines/TypeTablesCache.d.ts.map +1 -1
- package/dist/engines/TypeTablesCache.js +2 -1
- package/dist/engines/TypeTablesCache.js.map +1 -1
- package/dist/engines/UserInfoEngine.d.ts +228 -0
- package/dist/engines/UserInfoEngine.d.ts.map +1 -0
- package/dist/engines/UserInfoEngine.js +599 -0
- package/dist/engines/UserInfoEngine.js.map +1 -0
- package/dist/engines/artifacts.d.ts.map +1 -1
- package/dist/engines/artifacts.js +2 -1
- package/dist/engines/artifacts.js.map +1 -1
- package/dist/engines/component-metadata.d.ts.map +1 -1
- package/dist/engines/component-metadata.js +10 -5
- package/dist/engines/component-metadata.js.map +1 -1
- package/dist/engines/dashboards.d.ts.map +1 -1
- package/dist/engines/dashboards.js +19 -6
- package/dist/engines/dashboards.js.map +1 -1
- package/dist/generated/entity_subclasses.d.ts +1504 -418
- package/dist/generated/entity_subclasses.d.ts.map +1 -1
- package/dist/generated/entity_subclasses.js +2852 -1188
- package/dist/generated/entity_subclasses.js.map +1 -1
- package/dist/index.d.ts +2 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -7
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/custom/AIAgentExtended.d.ts +0 -13
- package/dist/custom/AIAgentExtended.d.ts.map +0 -1
- package/dist/custom/AIAgentExtended.js +0 -37
- package/dist/custom/AIAgentExtended.js.map +0 -1
- package/dist/custom/AIAgentRunExtended.d.ts +0 -32
- package/dist/custom/AIAgentRunExtended.d.ts.map +0 -1
- package/dist/custom/AIAgentRunExtended.js +0 -136
- package/dist/custom/AIAgentRunExtended.js.map +0 -1
- package/dist/custom/AIAgentRunStepExtended.d.ts +0 -48
- package/dist/custom/AIAgentRunStepExtended.d.ts.map +0 -1
- package/dist/custom/AIAgentRunStepExtended.js +0 -149
- package/dist/custom/AIAgentRunStepExtended.js.map +0 -1
- package/dist/custom/AIModelExtended.d.ts +0 -14
- package/dist/custom/AIModelExtended.d.ts.map +0 -1
- package/dist/custom/AIModelExtended.js +0 -36
- package/dist/custom/AIModelExtended.js.map +0 -1
- package/dist/custom/AIPromptCategoryExtended.d.ts +0 -7
- package/dist/custom/AIPromptCategoryExtended.d.ts.map +0 -1
- package/dist/custom/AIPromptCategoryExtended.js +0 -26
- package/dist/custom/AIPromptCategoryExtended.js.map +0 -1
- package/dist/custom/AIPromptExtended.d.ts +0 -51
- package/dist/custom/AIPromptExtended.d.ts.map +0 -1
- package/dist/custom/AIPromptExtended.js +0 -169
- package/dist/custom/AIPromptExtended.js.map +0 -1
- package/dist/custom/AIPromptRunEntityExtended.d.ts +0 -47
- package/dist/custom/AIPromptRunEntityExtended.d.ts.map +0 -1
- package/dist/custom/AIPromptRunEntityExtended.js +0 -156
- package/dist/custom/AIPromptRunEntityExtended.js.map +0 -1
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.UserInfoEngine = void 0;
|
|
10
|
+
const core_1 = require("@memberjunction/core");
|
|
11
|
+
/**
|
|
12
|
+
* UserInfoEngine is a singleton engine that provides centralized access to user-specific data
|
|
13
|
+
* including notifications, workspaces, applications, favorites, and record logs.
|
|
14
|
+
*
|
|
15
|
+
* This engine consolidates multiple user-related RunView calls into a single batched load,
|
|
16
|
+
* improving performance and enabling local caching for faster subsequent access.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Get the instance (auto-configured on startup)
|
|
21
|
+
* const engine = UserInfoEngine.Instance;
|
|
22
|
+
*
|
|
23
|
+
* // Access user data
|
|
24
|
+
* const notifications = engine.UserNotifications;
|
|
25
|
+
* const workspace = engine.CurrentWorkspace;
|
|
26
|
+
* const apps = engine.UserApplications;
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Note: This engine filters all data by the current user's ID automatically.
|
|
30
|
+
* On the server side, you must call Config() with contextUser to specify which user's data to load.
|
|
31
|
+
*/
|
|
32
|
+
let UserInfoEngine = class UserInfoEngine extends core_1.BaseEngine {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
// Private storage for entity data
|
|
36
|
+
this._UserNotifications = [];
|
|
37
|
+
this._Workspaces = [];
|
|
38
|
+
this._UserApplications = [];
|
|
39
|
+
this._UserFavorites = [];
|
|
40
|
+
this._UserRecordLogs = [];
|
|
41
|
+
this._UserSettings = [];
|
|
42
|
+
// Track the user ID we loaded data for
|
|
43
|
+
this._loadedForUserId = null;
|
|
44
|
+
// Track in-progress CreateDefaultApplications call to prevent duplicate execution
|
|
45
|
+
this._createDefaultAppsPromise = null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns the global instance of the class. This is a singleton class, so there is only one instance of it in the application.
|
|
49
|
+
* Do not directly create new instances of it, always use this method to get the instance.
|
|
50
|
+
*/
|
|
51
|
+
static get Instance() {
|
|
52
|
+
return super.getInstance();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Configures the engine by loading user-specific metadata from the database.
|
|
56
|
+
* All entities are filtered by the current user's ID and cached locally for performance.
|
|
57
|
+
*
|
|
58
|
+
* @param forceRefresh - If true, forces a refresh from the server even if data is cached
|
|
59
|
+
* @param contextUser - The user context (required for server-side, auto-detected on client)
|
|
60
|
+
* @param provider - Optional custom metadata provider
|
|
61
|
+
*/
|
|
62
|
+
async Config(forceRefresh, contextUser, provider) {
|
|
63
|
+
const md = new core_1.Metadata();
|
|
64
|
+
const userId = contextUser?.ID || md.CurrentUser?.ID;
|
|
65
|
+
if (!userId) {
|
|
66
|
+
console.warn('UserInfoEngine: No user context available, skipping configuration');
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// Check if we need to reload due to user change
|
|
70
|
+
if (this._loadedForUserId && this._loadedForUserId !== userId) {
|
|
71
|
+
forceRefresh = true; // Force refresh if user changed
|
|
72
|
+
}
|
|
73
|
+
// Note: We intentionally do NOT use Filter or OrderBy in configs.
|
|
74
|
+
// This allows BaseEngine to use immediate array mutations for better performance.
|
|
75
|
+
// Filtering by user and sorting is done in the getter methods instead.
|
|
76
|
+
// This also makes the engine reusable for server-side admin scenarios where
|
|
77
|
+
// all users' data might be needed.
|
|
78
|
+
const configs = [
|
|
79
|
+
{
|
|
80
|
+
Type: 'entity',
|
|
81
|
+
EntityName: 'User Notifications',
|
|
82
|
+
PropertyName: '_UserNotifications',
|
|
83
|
+
CacheLocal: true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
Type: 'entity',
|
|
87
|
+
EntityName: 'Workspaces',
|
|
88
|
+
PropertyName: '_Workspaces',
|
|
89
|
+
CacheLocal: true
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
Type: 'entity',
|
|
93
|
+
EntityName: 'MJ: User Settings',
|
|
94
|
+
PropertyName: '_UserSettings',
|
|
95
|
+
CacheLocal: true
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
Type: 'entity',
|
|
99
|
+
EntityName: 'User Applications',
|
|
100
|
+
PropertyName: '_UserApplications',
|
|
101
|
+
CacheLocal: true
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
Type: 'entity',
|
|
105
|
+
EntityName: 'User Favorites',
|
|
106
|
+
PropertyName: '_UserFavorites',
|
|
107
|
+
CacheLocal: true
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
Type: 'entity',
|
|
111
|
+
EntityName: 'User Record Logs',
|
|
112
|
+
PropertyName: '_UserRecordLogs',
|
|
113
|
+
CacheLocal: true
|
|
114
|
+
}
|
|
115
|
+
];
|
|
116
|
+
await super.Load(configs, provider, forceRefresh, contextUser);
|
|
117
|
+
this._loadedForUserId = userId;
|
|
118
|
+
}
|
|
119
|
+
// ========================================================================
|
|
120
|
+
// PUBLIC ACCESSORS
|
|
121
|
+
// ========================================================================
|
|
122
|
+
/**
|
|
123
|
+
* Get all notifications for the current user, ordered by creation date (newest first)
|
|
124
|
+
*/
|
|
125
|
+
get UserNotifications() {
|
|
126
|
+
if (!this._loadedForUserId)
|
|
127
|
+
return [];
|
|
128
|
+
return (this._UserNotifications || [])
|
|
129
|
+
.filter(n => n.UserID === this._loadedForUserId)
|
|
130
|
+
.sort((a, b) => new Date(b.Get('__mj_CreatedAt')).getTime() - new Date(a.Get('__mj_CreatedAt')).getTime());
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get all settings for the current user
|
|
134
|
+
*/
|
|
135
|
+
get UserSettings() {
|
|
136
|
+
if (!this._loadedForUserId)
|
|
137
|
+
return [];
|
|
138
|
+
return (this._UserSettings || []).filter(s => s.UserID === this._loadedForUserId);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get unread notifications for the current user
|
|
142
|
+
*/
|
|
143
|
+
get UnreadNotifications() {
|
|
144
|
+
return this.UserNotifications.filter(n => n.Unread);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get the count of unread notifications
|
|
148
|
+
*/
|
|
149
|
+
get UnreadNotificationCount() {
|
|
150
|
+
return this.UnreadNotifications.length;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get all workspaces for the current user
|
|
154
|
+
*/
|
|
155
|
+
get Workspaces() {
|
|
156
|
+
if (!this._loadedForUserId)
|
|
157
|
+
return [];
|
|
158
|
+
return (this._Workspaces || []).filter(w => w.UserID === this._loadedForUserId);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get the current user's primary workspace (first one if multiple exist)
|
|
162
|
+
*/
|
|
163
|
+
get CurrentWorkspace() {
|
|
164
|
+
const workspaces = this.Workspaces;
|
|
165
|
+
return workspaces.length > 0 ? workspaces[0] : null;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get all applications enabled for the current user, ordered by sequence then application name
|
|
169
|
+
*/
|
|
170
|
+
get UserApplications() {
|
|
171
|
+
if (!this._loadedForUserId)
|
|
172
|
+
return [];
|
|
173
|
+
return (this._UserApplications || [])
|
|
174
|
+
.filter(ua => ua.UserID === this._loadedForUserId)
|
|
175
|
+
.sort((a, b) => {
|
|
176
|
+
// Sort by Sequence first, then by Application name
|
|
177
|
+
if (a.Sequence !== b.Sequence) {
|
|
178
|
+
return a.Sequence - b.Sequence;
|
|
179
|
+
}
|
|
180
|
+
return (a.Application || '').localeCompare(b.Application || '');
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get all favorites for the current user, ordered by creation date (newest first)
|
|
185
|
+
*/
|
|
186
|
+
get UserFavorites() {
|
|
187
|
+
if (!this._loadedForUserId)
|
|
188
|
+
return [];
|
|
189
|
+
return (this._UserFavorites || [])
|
|
190
|
+
.filter(f => f.UserID === this._loadedForUserId)
|
|
191
|
+
.sort((a, b) => new Date(b.Get('__mj_CreatedAt')).getTime() - new Date(a.Get('__mj_CreatedAt')).getTime());
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get all record logs for the current user (recent record access), ordered by LatestAt (most recent first)
|
|
195
|
+
*/
|
|
196
|
+
get UserRecordLogs() {
|
|
197
|
+
if (!this._loadedForUserId)
|
|
198
|
+
return [];
|
|
199
|
+
return (this._UserRecordLogs || [])
|
|
200
|
+
.filter(r => r.UserID === this._loadedForUserId)
|
|
201
|
+
.sort((a, b) => new Date(b.LatestAt).getTime() - new Date(a.LatestAt).getTime());
|
|
202
|
+
}
|
|
203
|
+
// ========================================================================
|
|
204
|
+
// RAW DATA ACCESSORS (unfiltered, for admin/server scenarios)
|
|
205
|
+
// ========================================================================
|
|
206
|
+
/**
|
|
207
|
+
* Get ALL notifications in the cache (unfiltered by user).
|
|
208
|
+
* Useful for server-side admin scenarios.
|
|
209
|
+
*/
|
|
210
|
+
get AllNotifications() {
|
|
211
|
+
return this._UserNotifications || [];
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get ALL user applications in the cache (unfiltered by user).
|
|
215
|
+
* Useful for server-side admin scenarios.
|
|
216
|
+
*/
|
|
217
|
+
get AllUserApplications() {
|
|
218
|
+
return this._UserApplications || [];
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Get notifications for a specific user
|
|
222
|
+
* @param userId - The user ID to filter by
|
|
223
|
+
*/
|
|
224
|
+
GetNotificationsForUser(userId) {
|
|
225
|
+
return (this._UserNotifications || [])
|
|
226
|
+
.filter(n => n.UserID === userId)
|
|
227
|
+
.sort((a, b) => new Date(b.Get('__mj_CreatedAt')).getTime() - new Date(a.Get('__mj_CreatedAt')).getTime());
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get user applications for a specific user
|
|
231
|
+
* @param userId - The user ID to filter by
|
|
232
|
+
*/
|
|
233
|
+
GetUserApplicationsForUser(userId) {
|
|
234
|
+
return (this._UserApplications || [])
|
|
235
|
+
.filter(ua => ua.UserID === userId)
|
|
236
|
+
.sort((a, b) => {
|
|
237
|
+
if (a.Sequence !== b.Sequence) {
|
|
238
|
+
return a.Sequence - b.Sequence;
|
|
239
|
+
}
|
|
240
|
+
return (a.Application || '').localeCompare(b.Application || '');
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
// ========================================================================
|
|
244
|
+
// UTILITY METHODS
|
|
245
|
+
// ========================================================================
|
|
246
|
+
/**
|
|
247
|
+
* Get a notification by ID
|
|
248
|
+
* @param notificationId - The notification ID to find
|
|
249
|
+
*/
|
|
250
|
+
GetNotificationById(notificationId) {
|
|
251
|
+
return this.UserNotifications.find(n => n.ID === notificationId);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Get a user application by application ID
|
|
255
|
+
* @param applicationId - The application ID to find
|
|
256
|
+
*/
|
|
257
|
+
GetUserApplicationByAppId(applicationId) {
|
|
258
|
+
return this.UserApplications.find(ua => ua.ApplicationID === applicationId);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Get favorites for a specific entity
|
|
262
|
+
* @param entityId - The entity ID to filter by
|
|
263
|
+
*/
|
|
264
|
+
GetFavoritesForEntity(entityId) {
|
|
265
|
+
return this.UserFavorites.filter(f => f.EntityID === entityId);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Get recent record logs for a specific entity
|
|
269
|
+
* @param entityId - The entity ID to filter by
|
|
270
|
+
* @param maxItems - Maximum number of items to return (default: 10)
|
|
271
|
+
*/
|
|
272
|
+
GetRecentRecordsForEntity(entityId, maxItems = 10) {
|
|
273
|
+
return this.UserRecordLogs
|
|
274
|
+
.filter(r => r.EntityID === entityId)
|
|
275
|
+
.slice(0, maxItems);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Check if a record is in the user's favorites
|
|
279
|
+
* @param entityId - The entity ID
|
|
280
|
+
* @param recordId - The record ID
|
|
281
|
+
*/
|
|
282
|
+
IsRecordFavorite(entityId, recordId) {
|
|
283
|
+
return this.UserFavorites.some(f => f.EntityID === entityId && f.RecordID === recordId);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Get the user ID this engine was loaded for
|
|
287
|
+
*/
|
|
288
|
+
get LoadedForUserId() {
|
|
289
|
+
return this._loadedForUserId;
|
|
290
|
+
}
|
|
291
|
+
// ========================================================================
|
|
292
|
+
// ACCESS CHECKING METHODS
|
|
293
|
+
// ========================================================================
|
|
294
|
+
/**
|
|
295
|
+
* Check the user's access status for an application.
|
|
296
|
+
* @param applicationId - The application ID to check
|
|
297
|
+
* @returns The user's access status for this application
|
|
298
|
+
*/
|
|
299
|
+
CheckUserApplicationAccess(applicationId) {
|
|
300
|
+
const userApp = this.GetUserApplicationByAppId(applicationId);
|
|
301
|
+
if (!userApp) {
|
|
302
|
+
return 'not_installed';
|
|
303
|
+
}
|
|
304
|
+
return userApp.IsActive ? 'installed_active' : 'installed_inactive';
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Check if an application is inactive in the system metadata.
|
|
308
|
+
* @param applicationId - The application ID to check
|
|
309
|
+
*/
|
|
310
|
+
IsApplicationInactive(applicationId) {
|
|
311
|
+
const md = new core_1.Metadata();
|
|
312
|
+
const appInfo = md.Applications.find(a => a.ID === applicationId);
|
|
313
|
+
return appInfo != null && appInfo.Status !== 'Active';
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Get application info by ID from metadata.
|
|
317
|
+
* @param applicationId - The application ID to find
|
|
318
|
+
*/
|
|
319
|
+
GetApplicationInfo(applicationId) {
|
|
320
|
+
const md = new core_1.Metadata();
|
|
321
|
+
return md.Applications.find(a => a.ID === applicationId);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Find application info by path or name (case-insensitive).
|
|
325
|
+
* @param pathOrName - The path or name to search for
|
|
326
|
+
*/
|
|
327
|
+
FindApplicationByPathOrName(pathOrName) {
|
|
328
|
+
const normalized = pathOrName.trim().toLowerCase();
|
|
329
|
+
const md = new core_1.Metadata();
|
|
330
|
+
// First try path match
|
|
331
|
+
const pathMatch = md.Applications.find(a => a.Path?.toLowerCase() === normalized);
|
|
332
|
+
if (pathMatch) {
|
|
333
|
+
return pathMatch;
|
|
334
|
+
}
|
|
335
|
+
// Fallback to name match
|
|
336
|
+
return md.Applications.find(a => a.Name.trim().toLowerCase() === normalized);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Force refresh all user data
|
|
340
|
+
* @param contextUser - Optional user context for server-side use
|
|
341
|
+
*/
|
|
342
|
+
async Refresh(contextUser) {
|
|
343
|
+
await this.Config(true, contextUser);
|
|
344
|
+
}
|
|
345
|
+
// ========================================================================
|
|
346
|
+
// APPLICATION MANAGEMENT METHODS
|
|
347
|
+
// ========================================================================
|
|
348
|
+
/**
|
|
349
|
+
* Get only the active user applications (IsActive = true)
|
|
350
|
+
*/
|
|
351
|
+
get ActiveUserApplications() {
|
|
352
|
+
return this.UserApplications.filter(ua => ua.IsActive);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Check if user has a specific application installed (has UserApplication record)
|
|
356
|
+
* @param applicationId - The application ID to check
|
|
357
|
+
*/
|
|
358
|
+
HasApplication(applicationId) {
|
|
359
|
+
return this.UserApplications.some(ua => ua.ApplicationID === applicationId);
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Check if user has a specific application active (installed AND IsActive = true)
|
|
363
|
+
* @param applicationId - The application ID to check
|
|
364
|
+
*/
|
|
365
|
+
HasActiveApplication(applicationId) {
|
|
366
|
+
const userApp = this.GetUserApplicationByAppId(applicationId);
|
|
367
|
+
return userApp != null && userApp.IsActive;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Install an application for the current user by creating a UserApplication record.
|
|
371
|
+
* The new record is automatically added to the cached UserApplications array.
|
|
372
|
+
* @param applicationId - The application ID to install
|
|
373
|
+
* @param contextUser - Optional user context for server-side use
|
|
374
|
+
* @returns The newly created UserApplicationEntity, or null if failed
|
|
375
|
+
*/
|
|
376
|
+
async InstallApplication(applicationId, contextUser) {
|
|
377
|
+
const md = new core_1.Metadata();
|
|
378
|
+
const userId = contextUser?.ID || md.CurrentUser?.ID;
|
|
379
|
+
if (!userId) {
|
|
380
|
+
console.error('UserInfoEngine.InstallApplication: No user context available');
|
|
381
|
+
return null;
|
|
382
|
+
}
|
|
383
|
+
// Check if already installed
|
|
384
|
+
if (this.HasApplication(applicationId)) {
|
|
385
|
+
console.warn(`UserInfoEngine.InstallApplication: Application ${applicationId} is already installed`);
|
|
386
|
+
return this.GetUserApplicationByAppId(applicationId) || null;
|
|
387
|
+
}
|
|
388
|
+
// Get the next sequence number
|
|
389
|
+
const nextSequence = this.UserApplications.length;
|
|
390
|
+
try {
|
|
391
|
+
const userApp = await md.GetEntityObject('User Applications', contextUser);
|
|
392
|
+
userApp.NewRecord();
|
|
393
|
+
userApp.UserID = userId;
|
|
394
|
+
userApp.ApplicationID = applicationId;
|
|
395
|
+
userApp.Sequence = nextSequence;
|
|
396
|
+
userApp.IsActive = true;
|
|
397
|
+
const saved = await userApp.Save();
|
|
398
|
+
if (saved) {
|
|
399
|
+
// Add to cached array
|
|
400
|
+
this._UserApplications.push(userApp);
|
|
401
|
+
console.log(`UserInfoEngine.InstallApplication: Installed application ${applicationId} for user ${userId}`);
|
|
402
|
+
return userApp;
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
console.error('UserInfoEngine.InstallApplication: Failed to save:', userApp.LatestResult);
|
|
406
|
+
return null;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
catch (error) {
|
|
410
|
+
console.error('UserInfoEngine.InstallApplication: Error:', error instanceof Error ? error.message : String(error));
|
|
411
|
+
return null;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Enable a disabled application for the current user (set IsActive = true).
|
|
416
|
+
* @param applicationId - The application ID to enable
|
|
417
|
+
* @param contextUser - Optional user context for server-side use
|
|
418
|
+
* @returns true if successful, false otherwise
|
|
419
|
+
*/
|
|
420
|
+
async EnableApplication(applicationId, contextUser) {
|
|
421
|
+
const userApp = this.GetUserApplicationByAppId(applicationId);
|
|
422
|
+
if (!userApp) {
|
|
423
|
+
console.warn(`UserInfoEngine.EnableApplication: No UserApplication record found for ${applicationId}`);
|
|
424
|
+
return false;
|
|
425
|
+
}
|
|
426
|
+
if (userApp.IsActive) {
|
|
427
|
+
console.log(`UserInfoEngine.EnableApplication: Application ${applicationId} is already active`);
|
|
428
|
+
return true;
|
|
429
|
+
}
|
|
430
|
+
try {
|
|
431
|
+
userApp.IsActive = true;
|
|
432
|
+
const saved = await userApp.Save();
|
|
433
|
+
if (saved) {
|
|
434
|
+
console.log(`UserInfoEngine.EnableApplication: Enabled application ${applicationId}`);
|
|
435
|
+
return true;
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
console.error('UserInfoEngine.EnableApplication: Failed to save:', userApp.LatestResult);
|
|
439
|
+
return false;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
catch (error) {
|
|
443
|
+
console.error('UserInfoEngine.EnableApplication: Error:', error instanceof Error ? error.message : String(error));
|
|
444
|
+
return false;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Disable an application for the current user (set IsActive = false).
|
|
449
|
+
* This does not delete the UserApplication record, just deactivates it.
|
|
450
|
+
* @param applicationId - The application ID to disable
|
|
451
|
+
* @param contextUser - Optional user context for server-side use
|
|
452
|
+
* @returns true if successful, false otherwise
|
|
453
|
+
*/
|
|
454
|
+
async DisableApplication(applicationId, contextUser) {
|
|
455
|
+
const userApp = this.GetUserApplicationByAppId(applicationId);
|
|
456
|
+
if (!userApp) {
|
|
457
|
+
console.warn(`UserInfoEngine.DisableApplication: No UserApplication record found for ${applicationId}`);
|
|
458
|
+
return false;
|
|
459
|
+
}
|
|
460
|
+
if (!userApp.IsActive) {
|
|
461
|
+
console.log(`UserInfoEngine.DisableApplication: Application ${applicationId} is already disabled`);
|
|
462
|
+
return true;
|
|
463
|
+
}
|
|
464
|
+
try {
|
|
465
|
+
userApp.IsActive = false;
|
|
466
|
+
const saved = await userApp.Save();
|
|
467
|
+
if (saved) {
|
|
468
|
+
console.log(`UserInfoEngine.DisableApplication: Disabled application ${applicationId}`);
|
|
469
|
+
return true;
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
console.error('UserInfoEngine.DisableApplication: Failed to save:', userApp.LatestResult);
|
|
473
|
+
return false;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
catch (error) {
|
|
477
|
+
console.error('UserInfoEngine.DisableApplication: Error:', error instanceof Error ? error.message : String(error));
|
|
478
|
+
return false;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Uninstall an application by deleting the UserApplication record.
|
|
483
|
+
* @param applicationId - The application ID to uninstall
|
|
484
|
+
* @param contextUser - Optional user context for server-side use
|
|
485
|
+
* @returns true if successful, false otherwise
|
|
486
|
+
*/
|
|
487
|
+
async UninstallApplication(applicationId, contextUser) {
|
|
488
|
+
const userApp = this.GetUserApplicationByAppId(applicationId);
|
|
489
|
+
if (!userApp) {
|
|
490
|
+
console.warn(`UserInfoEngine.UninstallApplication: No UserApplication record found for ${applicationId}`);
|
|
491
|
+
return false;
|
|
492
|
+
}
|
|
493
|
+
try {
|
|
494
|
+
const deleted = await userApp.Delete();
|
|
495
|
+
if (deleted) {
|
|
496
|
+
// Remove from cached array
|
|
497
|
+
const index = this._UserApplications.findIndex(ua => ua.ApplicationID === applicationId);
|
|
498
|
+
if (index >= 0) {
|
|
499
|
+
this._UserApplications.splice(index, 1);
|
|
500
|
+
}
|
|
501
|
+
console.log(`UserInfoEngine.UninstallApplication: Uninstalled application ${applicationId}`);
|
|
502
|
+
return true;
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
console.error('UserInfoEngine.UninstallApplication: Failed to delete:', userApp.LatestResult);
|
|
506
|
+
return false;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
console.error('UserInfoEngine.UninstallApplication: Error:', error instanceof Error ? error.message : String(error));
|
|
511
|
+
return false;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Create default UserApplication records for apps marked with DefaultForNewUser=true.
|
|
516
|
+
* This is called automatically when a user has no UserApplication records.
|
|
517
|
+
*
|
|
518
|
+
* This method is safe to call multiple times concurrently - it will return the same
|
|
519
|
+
* promise if already in progress, and will skip apps that already have UserApplication records.
|
|
520
|
+
*
|
|
521
|
+
* @param contextUser - Optional user context for server-side use
|
|
522
|
+
* @returns Array of created UserApplicationEntity records
|
|
523
|
+
*/
|
|
524
|
+
async CreateDefaultApplications(contextUser) {
|
|
525
|
+
// If already in progress, return the existing promise to prevent duplicate execution
|
|
526
|
+
if (this._createDefaultAppsPromise) {
|
|
527
|
+
console.log('UserInfoEngine.CreateDefaultApplications: Already in progress, returning existing promise');
|
|
528
|
+
return this._createDefaultAppsPromise;
|
|
529
|
+
}
|
|
530
|
+
// Create and store the promise, then clear it when done
|
|
531
|
+
this._createDefaultAppsPromise = this.doCreateDefaultApplications(contextUser);
|
|
532
|
+
try {
|
|
533
|
+
return await this._createDefaultAppsPromise;
|
|
534
|
+
}
|
|
535
|
+
finally {
|
|
536
|
+
// Clear the promise when done (success or failure)
|
|
537
|
+
this._createDefaultAppsPromise = null;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Internal implementation of CreateDefaultApplications.
|
|
542
|
+
* Separated to allow the public method to manage the promise state.
|
|
543
|
+
*/
|
|
544
|
+
async doCreateDefaultApplications(contextUser) {
|
|
545
|
+
const md = new core_1.Metadata();
|
|
546
|
+
const userId = contextUser?.ID || md.CurrentUser?.ID;
|
|
547
|
+
if (!userId) {
|
|
548
|
+
console.error('UserInfoEngine.CreateDefaultApplications: No user context available');
|
|
549
|
+
return [];
|
|
550
|
+
}
|
|
551
|
+
// Get existing UserApplication records for this user to prevent duplicates
|
|
552
|
+
const existingAppIds = new Set(this._UserApplications
|
|
553
|
+
.filter(ua => ua.UserID === userId)
|
|
554
|
+
.map(ua => ua.ApplicationID));
|
|
555
|
+
// Filter to Active apps with DefaultForNewUser=true, sorted by DefaultSequence
|
|
556
|
+
// Exclude apps that already have UserApplication records
|
|
557
|
+
const defaultApps = md.Applications
|
|
558
|
+
.filter(a => a.DefaultForNewUser && a.Status === 'Active' && !existingAppIds.has(a.ID))
|
|
559
|
+
.sort((a, b) => (a.DefaultSequence ?? 100) - (b.DefaultSequence ?? 100));
|
|
560
|
+
if (defaultApps.length === 0) {
|
|
561
|
+
console.log('UserInfoEngine.CreateDefaultApplications: No new apps to install (all defaults already exist)');
|
|
562
|
+
return [];
|
|
563
|
+
}
|
|
564
|
+
console.log(`UserInfoEngine.CreateDefaultApplications: Found ${defaultApps.length} default apps to install`);
|
|
565
|
+
const createdUserApps = [];
|
|
566
|
+
// Calculate starting sequence based on existing apps
|
|
567
|
+
const maxExistingSequence = this._UserApplications
|
|
568
|
+
.filter(ua => ua.UserID === userId)
|
|
569
|
+
.reduce((max, ua) => Math.max(max, ua.Sequence), -1);
|
|
570
|
+
for (const [index, appInfo] of defaultApps.entries()) {
|
|
571
|
+
try {
|
|
572
|
+
const userApp = await md.GetEntityObject('User Applications', contextUser);
|
|
573
|
+
userApp.NewRecord();
|
|
574
|
+
userApp.UserID = userId;
|
|
575
|
+
userApp.ApplicationID = appInfo.ID;
|
|
576
|
+
userApp.Sequence = maxExistingSequence + 1 + index;
|
|
577
|
+
userApp.IsActive = true;
|
|
578
|
+
const saved = await userApp.Save();
|
|
579
|
+
if (saved) {
|
|
580
|
+
this._UserApplications.push(userApp);
|
|
581
|
+
createdUserApps.push(userApp);
|
|
582
|
+
console.log(`UserInfoEngine.CreateDefaultApplications: Created UserApplication for ${appInfo.Name}`);
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
console.error(`UserInfoEngine.CreateDefaultApplications: Failed to create for ${appInfo.Name}:`, userApp.LatestResult);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
catch (error) {
|
|
589
|
+
console.error(`UserInfoEngine.CreateDefaultApplications: Error for ${appInfo.Name}:`, error instanceof Error ? error.message : String(error));
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
return createdUserApps;
|
|
593
|
+
}
|
|
594
|
+
};
|
|
595
|
+
exports.UserInfoEngine = UserInfoEngine;
|
|
596
|
+
exports.UserInfoEngine = UserInfoEngine = __decorate([
|
|
597
|
+
(0, core_1.RegisterForStartup)()
|
|
598
|
+
], UserInfoEngine);
|
|
599
|
+
//# sourceMappingURL=UserInfoEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserInfoEngine.js","sourceRoot":"","sources":["../../src/engines/UserInfoEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/engines/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EACH,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IAC1E;;OAEG;IACH,WAAkB,QAAQ,IAAI,sBAAsB,CAEnD;IAED,OAAO,CAAC,cAAc,CAAuB;IAEhC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/engines/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EACH,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IAC1E;;OAEG;IACH,WAAkB,QAAQ,IAAI,sBAAsB,CAEnD;IAED,OAAO,CAAC,cAAc,CAAuB;IAEhC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAYhG,IAAW,aAAa,IAAI,kBAAkB,EAAE,CAE/C;IAED;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;CAOxE"}
|
|
@@ -17,7 +17,8 @@ class ArtifactMetadataEngine extends core_1.BaseEngine {
|
|
|
17
17
|
{
|
|
18
18
|
Type: 'entity',
|
|
19
19
|
EntityName: 'MJ: Artifact Types',
|
|
20
|
-
PropertyName: "_artifactTypes"
|
|
20
|
+
PropertyName: "_artifactTypes",
|
|
21
|
+
CacheLocal: true
|
|
21
22
|
}
|
|
22
23
|
];
|
|
23
24
|
await this.Load(c, provider, forceRefresh, contextUser);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/engines/artifacts.ts"],"names":[],"mappings":";;;AAAA,+CAAyG;AAKzG;;GAEG;AACH,MAAa,sBAAuB,SAAQ,iBAAkC;IAC1E;;OAEG;IACI,MAAM,KAAK,QAAQ;QACvB,OAAO,KAAK,CAAC,WAAW,EAA0B,CAAC;IACtD,CAAC;IAIM,KAAK,CAAC,MAAM,CAAC,YAAsB,EAAE,WAAsB,EAAE,QAA4B;QAC5F,MAAM,CAAC,GAAwC;YAC3C;gBACI,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,oBAAoB;gBAChC,YAAY,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/engines/artifacts.ts"],"names":[],"mappings":";;;AAAA,+CAAyG;AAKzG;;GAEG;AACH,MAAa,sBAAuB,SAAQ,iBAAkC;IAC1E;;OAEG;IACI,MAAM,KAAK,QAAQ;QACvB,OAAO,KAAK,CAAC,WAAW,EAA0B,CAAC;IACtD,CAAC;IAIM,KAAK,CAAC,MAAM,CAAC,YAAsB,EAAE,WAAsB,EAAE,QAA4B;QAC5F,MAAM,CAAC,GAAwC;YAC3C;gBACI,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,oBAAoB;gBAChC,YAAY,EAAE,gBAAgB;gBAC9B,UAAU,EAAE,IAAI;aACnB;SACJ,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,IAAY;QAChC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvG,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AApCD,wDAoCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-metadata.d.ts","sourceRoot":"","sources":["../../src/engines/component-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACH,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAC5E;;OAEG;IACH,WAAkB,QAAQ,IAAI,uBAAuB,CAEpD;IAED,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,sBAAsB,CAA+B;IAC7D,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,sBAAsB,CAA8B;IAE/C,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"component-metadata.d.ts","sourceRoot":"","sources":["../../src/engines/component-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACH,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAC5E;;OAEG;IACH,WAAkB,QAAQ,IAAI,uBAAuB,CAEpD;IAED,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,sBAAsB,CAA+B;IAC7D,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,sBAAsB,CAA8B;IAE/C,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAoChG,IAAW,UAAU,IAAI,uBAAuB,EAAE,CAEjD;IAED,IAAW,kBAAkB,IAAI,sBAAsB,EAAE,CAExD;IAED,IAAW,qBAAqB,IAAI,0BAA0B,EAAE,CAE/D;IAED,IAAW,mBAAmB,IAAI,uBAAuB,EAAE,CAE1D;IAED,IAAW,qBAAqB,IAAI,yBAAyB,EAAE,CAE9D;IAED;;OAEG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;CAMjH"}
|