@memberjunction/open-app-engine 5.41.0 → 5.43.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 (48) hide show
  1. package/dist/dependency/dependency-graph-builder.d.ts +1 -1
  2. package/dist/dependency/dependency-graph-builder.d.ts.map +1 -1
  3. package/dist/dependency/dependency-graph-builder.js +5 -3
  4. package/dist/dependency/dependency-graph-builder.js.map +1 -1
  5. package/dist/dependency/dependency-resolver.d.ts +1 -0
  6. package/dist/dependency/dependency-resolver.d.ts.map +1 -1
  7. package/dist/dependency/dependency-resolver.js.map +1 -1
  8. package/dist/github/github-client.d.ts +10 -5
  9. package/dist/github/github-client.d.ts.map +1 -1
  10. package/dist/github/github-client.js +110 -94
  11. package/dist/github/github-client.js.map +1 -1
  12. package/dist/index.d.ts +2 -4
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/install/config-manager.d.ts +2 -1
  17. package/dist/install/config-manager.d.ts.map +1 -1
  18. package/dist/install/config-manager.js +175 -28
  19. package/dist/install/config-manager.js.map +1 -1
  20. package/dist/install/history-recorder.d.ts +14 -3
  21. package/dist/install/history-recorder.d.ts.map +1 -1
  22. package/dist/install/history-recorder.js +82 -48
  23. package/dist/install/history-recorder.js.map +1 -1
  24. package/dist/install/install-orchestrator.d.ts +9 -2
  25. package/dist/install/install-orchestrator.d.ts.map +1 -1
  26. package/dist/install/install-orchestrator.js +348 -146
  27. package/dist/install/install-orchestrator.js.map +1 -1
  28. package/dist/install/migration-runner.d.ts +27 -0
  29. package/dist/install/migration-runner.d.ts.map +1 -1
  30. package/dist/install/migration-runner.js +29 -8
  31. package/dist/install/migration-runner.js.map +1 -1
  32. package/dist/install/package-manager.d.ts.map +1 -1
  33. package/dist/install/package-manager.js +51 -20
  34. package/dist/install/package-manager.js.map +1 -1
  35. package/dist/install/schema-manager.d.ts.map +1 -1
  36. package/dist/install/schema-manager.js +17 -12
  37. package/dist/install/schema-manager.js.map +1 -1
  38. package/dist/manifest/manifest-schema.d.ts +53 -6
  39. package/dist/manifest/manifest-schema.d.ts.map +1 -1
  40. package/dist/manifest/manifest-schema.js +20 -7
  41. package/dist/manifest/manifest-schema.js.map +1 -1
  42. package/dist/types/open-app-types.d.ts +3 -0
  43. package/dist/types/open-app-types.d.ts.map +1 -1
  44. package/package.json +6 -3
  45. package/dist/install/client-bootstrap-gen.d.ts +0 -8
  46. package/dist/install/client-bootstrap-gen.d.ts.map +0 -1
  47. package/dist/install/client-bootstrap-gen.js +0 -38
  48. package/dist/install/client-bootstrap-gen.js.map +0 -1
@@ -13,8 +13,33 @@ export function AddServerDynamicPackages(repoRoot, manifest) {
13
13
  try {
14
14
  let content = readFileSync(configPath, 'utf-8');
15
15
  content = EnsureDynamicPackagesSection(content);
16
+ content = EnsureDynamicArrayPresent(content, 'server');
16
17
  for (const entry of serverPackages) {
17
- content = AddEntryToServerArray(content, entry);
18
+ content = AddEntryToDynamicArray(content, entry, 'server');
19
+ }
20
+ writeFileSync(configPath, content, 'utf-8');
21
+ return { Success: true };
22
+ }
23
+ catch (error) {
24
+ const message = error instanceof Error ? error.message : String(error);
25
+ return { Success: false, ErrorMessage: `Failed to update config: ${message}` };
26
+ }
27
+ }
28
+ export function AddClientDynamicPackages(repoRoot, manifest) {
29
+ const configPath = resolveConfigPath(repoRoot);
30
+ if (!configPath) {
31
+ return { Success: false, ErrorMessage: `No MJ config file found in ${repoRoot}. Expected: ${CONFIG_FILE_NAME}` };
32
+ }
33
+ const clientPackages = GetClientPackagesFromManifest(manifest);
34
+ if (clientPackages.length === 0) {
35
+ return { Success: true };
36
+ }
37
+ try {
38
+ let content = readFileSync(configPath, 'utf-8');
39
+ content = EnsureDynamicPackagesSection(content);
40
+ content = EnsureDynamicArrayPresent(content, 'client');
41
+ for (const entry of clientPackages) {
42
+ content = AddEntryToDynamicArray(content, entry, 'client');
18
43
  }
19
44
  writeFileSync(configPath, content, 'utf-8');
20
45
  return { Success: true };
@@ -76,40 +101,92 @@ function GetServerPackagesFromManifest(manifest) {
76
101
  }
77
102
  return entries;
78
103
  }
104
+ function GetClientPackagesFromManifest(manifest) {
105
+ const entries = [];
106
+ const clientPkgs = manifest.packages?.client ?? [];
107
+ const sharedPkgs = manifest.packages?.shared ?? [];
108
+ for (const pkg of [...clientPkgs, ...sharedPkgs]) {
109
+ entries.push({
110
+ PackageName: pkg.name,
111
+ AppName: manifest.name,
112
+ Enabled: true
113
+ });
114
+ }
115
+ return entries;
116
+ }
79
117
  function EnsureDynamicPackagesSection(content) {
80
- if (content.includes('dynamicPackages')) {
118
+ if (/dynamicPackages\s*:/.test(content)) {
81
119
  return content;
82
120
  }
83
- const insertionPoint = content.lastIndexOf('};');
84
- if (insertionPoint === -1) {
121
+ const section = `\n dynamicPackages: {\n server: [],\n client: []\n },\n`;
122
+ return InsertBeforeModuleExportsClose(content, section);
123
+ }
124
+ function EnsureDynamicArrayPresent(content, arrayName) {
125
+ const dynMatch = content.match(/dynamicPackages\s*:\s*\{/);
126
+ if (!dynMatch || dynMatch.index === undefined) {
127
+ throw new Error('dynamicPackages section not found in mj.config.cjs.');
128
+ }
129
+ const openBracePos = dynMatch.index + dynMatch[0].length - 1;
130
+ const closeBracePos = FindMatchingBracket(content, openBracePos);
131
+ if (closeBracePos === -1) {
132
+ throw new Error('Could not find the closing brace of the dynamicPackages section in mj.config.cjs.');
133
+ }
134
+ const sectionBody = content.slice(openBracePos, closeBracePos);
135
+ if (new RegExp(`${arrayName}\\s*:\\s*\\[`).test(sectionBody)) {
85
136
  return content;
86
137
  }
87
- const section = `\n dynamicPackages: {\n server: []\n },\n`;
88
- return content.slice(0, insertionPoint) + section + content.slice(insertionPoint);
138
+ return content.slice(0, openBracePos + 1) + `\n ${arrayName}: [],` + content.slice(openBracePos + 1);
89
139
  }
90
- function AddEntryToServerArray(content, entry) {
91
- const existsPattern = new RegExp(`PackageName:\\s*'${EscapeRegex(entry.PackageName)}'[^{}]*AppName:\\s*'${EscapeRegex(entry.AppName)}'`);
140
+ function AddEntryToDynamicArray(content, entry, arrayName) {
141
+ const existsPattern = new RegExp(`PackageName:\\s*['"]${EscapeRegex(entry.PackageName)}['"][^{}]*AppName:\\s*['"]${EscapeRegex(entry.AppName)}['"]`);
92
142
  if (existsPattern.test(content)) {
93
143
  return content;
94
144
  }
95
- const serverArrayMatch = content.match(/server:\s*\[/);
96
- if (!serverArrayMatch || serverArrayMatch.index === undefined) {
97
- return content;
145
+ const dynMatch = content.match(/dynamicPackages\s*:\s*\{/);
146
+ if (!dynMatch || dynMatch.index === undefined) {
147
+ throw new Error(`dynamicPackages section not found in mj.config.cjs when adding a ${arrayName} package.`);
98
148
  }
99
- const entryStr = `\n {\n PackageName: '${entry.PackageName}',\n StartupExport: '${entry.StartupExport}',\n AppName: '${entry.AppName}',\n Enabled: ${entry.Enabled}\n },`;
100
- const arrayStart = serverArrayMatch.index + serverArrayMatch[0].length;
149
+ const afterDyn = content.slice(dynMatch.index);
150
+ const arrayRel = afterDyn.match(new RegExp(`${arrayName}:\\s*\\[`));
151
+ if (!arrayRel || arrayRel.index === undefined) {
152
+ throw new Error(`dynamicPackages.${arrayName} array not found in mj.config.cjs.`);
153
+ }
154
+ const arrayIndex = dynMatch.index + arrayRel.index;
155
+ const startupLine = entry.StartupExport ? `\n StartupExport: '${entry.StartupExport}',` : '';
156
+ const entryStr = `\n {\n PackageName: '${entry.PackageName}',${startupLine}\n AppName: '${entry.AppName}',\n Enabled: ${entry.Enabled}\n },`;
157
+ const arrayStart = arrayIndex + arrayRel[0].length;
101
158
  const closingBracket = FindMatchingBracket(content, arrayStart - 1);
102
159
  if (closingBracket === -1) {
103
- return content;
160
+ throw new Error(`Could not find the closing bracket of dynamicPackages.${arrayName} in mj.config.cjs.`);
104
161
  }
105
162
  return content.slice(0, closingBracket) + entryStr + '\n ' + content.slice(closingBracket);
106
163
  }
107
164
  function RemoveEntriesForApp(content, appName) {
108
- const pattern = new RegExp(`\\s*\\{[^{}]*AppName:\\s*'${EscapeRegex(appName)}'[^{}]*\\},?`, 'g');
109
- return content.replace(pattern, '');
165
+ const pattern = new RegExp(`\\s*\\{[^{}]*AppName:\\s*['"]${EscapeRegex(appName)}['"][^{}]*\\},?`, 'g');
166
+ let result = content.replace(pattern, '');
167
+ result = NormalizeEmptyDynamicArray(result, 'server');
168
+ result = NormalizeEmptyDynamicArray(result, 'client');
169
+ return result;
170
+ }
171
+ function NormalizeEmptyDynamicArray(content, arrayName) {
172
+ const dynMatch = content.match(/dynamicPackages\s*:\s*\{/);
173
+ if (!dynMatch || dynMatch.index === undefined)
174
+ return content;
175
+ const afterDyn = content.slice(dynMatch.index);
176
+ const arrayRel = afterDyn.match(new RegExp(`${arrayName}:\\s*\\[`));
177
+ if (!arrayRel || arrayRel.index === undefined)
178
+ return content;
179
+ const openBracketPos = dynMatch.index + arrayRel.index + arrayRel[0].length - 1;
180
+ const closePos = FindMatchingBracket(content, openBracketPos);
181
+ if (closePos === -1)
182
+ return content;
183
+ if (content.slice(openBracketPos + 1, closePos).trim() === '') {
184
+ return content.slice(0, openBracketPos) + '[]' + content.slice(closePos + 1);
185
+ }
186
+ return content;
110
187
  }
111
188
  function ToggleEntriesForApp(content, appName, enabled) {
112
- const pattern = new RegExp(`(AppName:\\s*'${EscapeRegex(appName)}'[^{}]*Enabled:\\s*)(?:true|false)`, 'g');
189
+ const pattern = new RegExp(`(AppName:\\s*['"]${EscapeRegex(appName)}['"][^{}]*Enabled:\\s*)(?:true|false)`, 'g');
113
190
  return content.replace(pattern, `$1${enabled}`);
114
191
  }
115
192
  function FindMatchingBracket(content, openPos) {
@@ -117,15 +194,72 @@ function FindMatchingBracket(content, openPos) {
117
194
  const closeChar = openChar === '[' ? ']' : '}';
118
195
  let depth = 1;
119
196
  let pos = openPos + 1;
197
+ let inString = null;
198
+ let inLineComment = false;
199
+ let inBlockComment = false;
120
200
  while (pos < content.length && depth > 0) {
121
- if (content[pos] === openChar)
201
+ const ch = content[pos];
202
+ if (inLineComment) {
203
+ if (ch === '\n')
204
+ inLineComment = false;
205
+ pos++;
206
+ continue;
207
+ }
208
+ if (inBlockComment) {
209
+ if (ch === '*' && content[pos + 1] === '/') {
210
+ inBlockComment = false;
211
+ pos += 2;
212
+ continue;
213
+ }
214
+ pos++;
215
+ continue;
216
+ }
217
+ if (inString) {
218
+ if (ch === '\\') {
219
+ pos += 2;
220
+ continue;
221
+ }
222
+ if (ch === inString)
223
+ inString = null;
224
+ pos++;
225
+ continue;
226
+ }
227
+ if (ch === '/' && content[pos + 1] === '/') {
228
+ inLineComment = true;
229
+ pos += 2;
230
+ continue;
231
+ }
232
+ if (ch === '/' && content[pos + 1] === '*') {
233
+ inBlockComment = true;
234
+ pos += 2;
235
+ continue;
236
+ }
237
+ if (ch === '"' || ch === "'" || ch === '`') {
238
+ inString = ch;
239
+ pos++;
240
+ continue;
241
+ }
242
+ if (ch === openChar)
122
243
  depth++;
123
- if (content[pos] === closeChar)
244
+ else if (ch === closeChar)
124
245
  depth--;
125
246
  pos++;
126
247
  }
127
248
  return depth === 0 ? pos - 1 : -1;
128
249
  }
250
+ function InsertBeforeModuleExportsClose(content, section) {
251
+ const exportMatch = content.match(/module\.exports\s*=\s*\{/);
252
+ if (!exportMatch || exportMatch.index === undefined) {
253
+ throw new Error('Could not find a `module.exports = { ... }` object literal in mj.config.cjs to insert into. ' +
254
+ 'If module.exports references a variable (e.g. `module.exports = config;`), add the section manually.');
255
+ }
256
+ const bracePos = content.indexOf('{', exportMatch.index);
257
+ const closePos = FindMatchingBracket(content, bracePos);
258
+ if (closePos === -1) {
259
+ throw new Error('Could not locate the closing brace of module.exports in mj.config.cjs.');
260
+ }
261
+ return content.slice(0, closePos) + section + content.slice(closePos);
262
+ }
129
263
  export function AddEntityPackageMapping(repoRoot, manifest) {
130
264
  const schemaName = manifest.schema?.name;
131
265
  if (!schemaName) {
@@ -186,29 +320,42 @@ function EnsureEntityPackageNameSection(content) {
186
320
  const stringMatch = content.match(/entityPackageName\s*:\s*['"]([^'"]*)['"]\s*,?/);
187
321
  if (stringMatch) {
188
322
  const oldValue = stringMatch[1];
189
- const replacement = `entityPackageName: {\n // Converted from string value '${oldValue}' by mj app install\n },`;
323
+ const isDefaultString = oldValue === '' || oldValue === 'mj_generatedentities';
324
+ if (!isDefaultString) {
325
+ throw new Error(`mj.config.cjs sets entityPackageName: '${oldValue}' (a string that applies to ALL non-core schemas). ` +
326
+ `Installing an app needs a per-schema Record, but auto-converting would silently change other schemas ` +
327
+ `to 'mj_generatedentities' (a Record's fallback), not '${oldValue}'. Manually convert entityPackageName ` +
328
+ `to a Record that preserves '${oldValue}' for your existing schemas, then re-run the install.`);
329
+ }
330
+ const replacement = `entityPackageName: {\n },`;
190
331
  return content.replace(stringMatch[0], replacement);
191
332
  }
192
- const insertionPoint = content.lastIndexOf('};');
193
- if (insertionPoint === -1) {
194
- return content;
195
- }
196
333
  const section = `\n entityPackageName: {\n },\n`;
197
- return content.slice(0, insertionPoint) + section + content.slice(insertionPoint);
334
+ return InsertBeforeModuleExportsClose(content, section);
198
335
  }
199
336
  function AddEntityPackageEntry(content, schemaName, packageName) {
200
337
  content = RemoveEntityPackageEntry(content, schemaName);
201
338
  const recordMatch = content.match(/entityPackageName\s*:\s*\{/);
202
339
  if (!recordMatch || recordMatch.index === undefined) {
203
- return content;
340
+ throw new Error('entityPackageName record not found in mj.config.cjs when adding a schema mapping.');
204
341
  }
205
342
  const bracePos = content.indexOf('{', recordMatch.index);
206
343
  const entryStr = `\n '${schemaName}': '${packageName}',`;
207
344
  return content.slice(0, bracePos + 1) + entryStr + content.slice(bracePos + 1);
208
345
  }
209
346
  function RemoveEntityPackageEntry(content, schemaName) {
210
- const pattern = new RegExp(`\\s*'${EscapeRegex(schemaName)}'\\s*:\\s*'[^']*'\\s*,?`, 'g');
211
- return content.replace(pattern, '');
347
+ const recordMatch = content.match(/entityPackageName\s*:\s*\{/);
348
+ if (!recordMatch || recordMatch.index === undefined) {
349
+ return content;
350
+ }
351
+ const bracePos = content.indexOf('{', recordMatch.index);
352
+ const closePos = FindMatchingBracket(content, bracePos);
353
+ if (closePos === -1) {
354
+ return content;
355
+ }
356
+ const pattern = new RegExp(`\\s*['"]${EscapeRegex(schemaName)}['"]\\s*:\\s*['"][^'"]*['"]\\s*,?`, 'g');
357
+ const inner = content.slice(bracePos + 1, closePos).replace(pattern, '');
358
+ return content.slice(0, bracePos + 1) + inner + content.slice(closePos);
212
359
  }
213
360
  function EscapeRegex(str) {
214
361
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/install/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/install/config-manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { UserInfo, TransactionGroupBase, IMetadataProvider } from '@memberjunction/core';
2
+ import type { MJOpenAppEntity } from '@memberjunction/core-entities';
2
3
  import type { AppStatus, InstallAction, ErrorPhase, InstalledAppInfo, AppInstallCallbacks } from '../types/open-app-types.js';
3
4
  import type { MJAppManifest } from '../manifest/manifest-schema.js';
4
- export declare function RecordAppInstallation(contextUser: UserInfo, manifest: MJAppManifest, callbacks?: AppInstallCallbacks, transactionGroup?: TransactionGroupBase, initialStatus?: AppStatus, provider?: IMetadataProvider): Promise<string>;
5
- export declare function UpdateAppRecord(contextUser: UserInfo, appId: string, updates: Record<string, unknown>, provider?: IMetadataProvider): Promise<void>;
5
+ export declare function RecordAppInstallation(contextUser: UserInfo, manifest: MJAppManifest, callbacks?: AppInstallCallbacks, transactionGroup?: TransactionGroupBase, initialStatus?: AppStatus, provider?: IMetadataProvider, subpath?: string): Promise<string>;
6
+ export declare function UpdateAppRecord(contextUser: UserInfo, appId: string, updates: Partial<MJOpenAppEntity>, provider?: IMetadataProvider): Promise<void>;
6
7
  export declare function SetAppStatus(contextUser: UserInfo, appId: string, status: AppStatus): Promise<void>;
7
8
  export declare function RecordInstallHistoryEntry(contextUser: UserInfo, appId: string, action: InstallAction, manifest: MJAppManifest, details: {
8
9
  PreviousVersion?: string;
@@ -18,8 +19,18 @@ export declare function RecordAppDependencies(contextUser: UserInfo, appId: stri
18
19
  version?: string;
19
20
  repository?: string;
20
21
  }>, transactionGroup?: TransactionGroupBase, provider?: IMetadataProvider): Promise<void>;
21
- export declare function DeleteAppDependencies(contextUser: UserInfo, appId: string): Promise<void>;
22
+ export declare function DeleteAppDependencies(contextUser: UserInfo, appId: string, transactionGroup?: TransactionGroupBase): Promise<void>;
23
+ export declare function ReplaceAppDependenciesAtomically(contextUser: UserInfo, appId: string, dependencies: Record<string, string | {
24
+ version?: string;
25
+ repository?: string;
26
+ }>, provider?: IMetadataProvider): Promise<boolean>;
22
27
  export declare function FindInstalledApp(contextUser: UserInfo, appName: string, provider?: IMetadataProvider): Promise<InstalledAppInfo | null>;
28
+ export interface SchemaShareCheck {
29
+ Shared: boolean;
30
+ CheckFailed: boolean;
31
+ ErrorMessage?: string;
32
+ }
33
+ export declare function CheckSchemaSharedByOtherApps(contextUser: UserInfo, schemaName: string, excludeAppId: string, provider?: IMetadataProvider): Promise<SchemaShareCheck>;
23
34
  export declare function ListInstalledApps(contextUser: UserInfo): Promise<InstalledAppInfo[]>;
24
35
  export declare function FindDependentApps(contextUser: UserInfo, appName: string): Promise<string[]>;
25
36
  //# sourceMappingURL=history-recorder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-recorder.d.ts","sourceRoot":"","sources":["../../src/install/history-recorder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC9H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAuBpE,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,aAAa,EACvB,SAAS,CAAC,EAAE,mBAAmB,EAC/B,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,aAAa,GAAE,SAAoB,EACnC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAsCD,wBAAsB,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAczJ;AAKD,wBAAsB,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzG;AAWD,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE;IACP,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA2BjB;AASD,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAChF,gBAAgB,CAAC,EAAE,oBAAoB,EACvC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAMD,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/F;AASD,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgB7I;AAQD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgB1F;AASD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqCjG"}
1
+ {"version":3,"file":"history-recorder.d.ts","sourceRoot":"","sources":["../../src/install/history-recorder.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Metadata, RunView, CompositeKey } from '@memberjunction/core';
2
2
  function EscapeSqlFilter(value) {
3
3
  return value.replace(/'/g, "''");
4
4
  }
5
- export async function RecordAppInstallation(contextUser, manifest, callbacks, transactionGroup, initialStatus = 'Active', provider) {
5
+ export async function RecordAppInstallation(contextUser, manifest, callbacks, transactionGroup, initialStatus = 'Active', provider, subpath) {
6
6
  callbacks?.OnProgress?.('Record', 'Recording app installation...');
7
7
  const md = (provider ?? new Metadata());
8
8
  const entity = await md.GetEntityObject('MJ: Open Apps', contextUser);
@@ -14,35 +14,36 @@ export async function RecordAppInstallation(contextUser, manifest, callbacks, tr
14
14
  else {
15
15
  entity.NewRecord();
16
16
  }
17
- SetAppFields(entity, manifest, contextUser, initialStatus);
17
+ SetAppFields(entity, manifest, contextUser, initialStatus, subpath);
18
18
  if (transactionGroup) {
19
19
  entity.TransactionGroup = transactionGroup;
20
20
  }
21
21
  const saved = await entity.Save();
22
22
  if (!transactionGroup && !saved) {
23
- throw new Error(`Failed to record app installation: ${entity.LatestResult?.Message ?? 'unknown error'}`);
23
+ throw new Error(`Failed to record app installation: ${entity.LatestResult?.CompleteMessage ?? 'unknown error'}`);
24
24
  }
25
25
  callbacks?.OnSuccess?.('Record', `App '${manifest.name}' recorded as installed`);
26
- return String(entity.Get('ID'));
26
+ return entity.ID;
27
27
  }
28
- function SetAppFields(entity, manifest, contextUser, status = 'Active') {
29
- entity.Set('Name', manifest.name);
30
- entity.Set('DisplayName', manifest.displayName);
31
- entity.Set('Description', manifest.description ?? null);
32
- entity.Set('Version', manifest.version);
33
- entity.Set('Publisher', manifest.publisher.name);
34
- entity.Set('PublisherEmail', manifest.publisher.email ?? null);
35
- entity.Set('PublisherURL', manifest.publisher.url ?? null);
36
- entity.Set('RepositoryURL', manifest.repository);
37
- entity.Set('SchemaName', manifest.schema?.name ?? null);
38
- entity.Set('MJVersionRange', manifest.mjVersionRange);
39
- entity.Set('License', manifest.license ?? null);
40
- entity.Set('Icon', manifest.icon ?? null);
41
- entity.Set('Color', manifest.color ?? null);
42
- entity.Set('ManifestJSON', JSON.stringify(manifest));
43
- entity.Set('ConfigurationSchemaJSON', manifest.configuration ? JSON.stringify(manifest.configuration) : null);
44
- entity.Set('InstalledByUserID', contextUser.ID);
45
- entity.Set('Status', status);
28
+ function SetAppFields(entity, manifest, contextUser, status = 'Active', subpath) {
29
+ entity.Name = manifest.name;
30
+ entity.DisplayName = manifest.displayName;
31
+ entity.Description = manifest.description ?? null;
32
+ entity.Version = manifest.version;
33
+ entity.Publisher = manifest.publisher.name;
34
+ entity.PublisherEmail = manifest.publisher.email ?? null;
35
+ entity.PublisherURL = manifest.publisher.url ?? null;
36
+ entity.RepositoryURL = manifest.repository;
37
+ entity.Subpath = subpath ?? null;
38
+ entity.SchemaName = manifest.schema?.name ?? null;
39
+ entity.MJVersionRange = manifest.mjVersionRange;
40
+ entity.License = manifest.license ?? null;
41
+ entity.Icon = manifest.icon ?? null;
42
+ entity.Color = manifest.color ?? null;
43
+ entity.ManifestJSON = JSON.stringify(manifest);
44
+ entity.ConfigurationSchemaJSON = manifest.configuration ? JSON.stringify(manifest.configuration) : null;
45
+ entity.InstalledByUserID = contextUser.ID;
46
+ entity.Status = status;
46
47
  }
47
48
  export async function UpdateAppRecord(contextUser, appId, updates, provider) {
48
49
  const md = (provider ?? new Metadata());
@@ -56,7 +57,7 @@ export async function UpdateAppRecord(contextUser, appId, updates, provider) {
56
57
  }
57
58
  const saved = await entity.Save();
58
59
  if (!saved) {
59
- throw new Error(`Failed to update Open App record ${appId}: ${entity.LatestResult?.Message ?? 'unknown error'}`);
60
+ throw new Error(`Failed to update Open App record ${appId}: ${entity.LatestResult?.CompleteMessage ?? 'unknown error'}`);
60
61
  }
61
62
  }
62
63
  export async function SetAppStatus(contextUser, appId, status) {
@@ -66,27 +67,27 @@ export async function RecordInstallHistoryEntry(contextUser, appId, action, mani
66
67
  const md = (provider ?? new Metadata());
67
68
  const entity = await md.GetEntityObject('MJ: Open App Install Histories', contextUser);
68
69
  entity.NewRecord();
69
- entity.Set('OpenAppID', appId);
70
- entity.Set('Version', manifest.version);
71
- entity.Set('PreviousVersion', details.PreviousVersion ?? null);
72
- entity.Set('Action', action);
73
- entity.Set('ManifestJSON', JSON.stringify(manifest));
74
- entity.Set('Summary', details.Summary ?? null);
75
- entity.Set('ExecutedByUserID', contextUser.ID);
76
- entity.Set('DurationSeconds', details.DurationSeconds ?? null);
77
- entity.Set('StartedAt', details.StartedAt ?? null);
78
- entity.Set('EndedAt', details.EndedAt ?? null);
79
- entity.Set('Success', details.Success);
80
- entity.Set('ErrorMessage', details.ErrorMessage ?? null);
81
- entity.Set('ErrorPhase', details.ErrorPhase ?? null);
70
+ entity.OpenAppID = appId;
71
+ entity.Version = manifest.version;
72
+ entity.PreviousVersion = details.PreviousVersion ?? null;
73
+ entity.Action = action;
74
+ entity.ManifestJSON = JSON.stringify(manifest);
75
+ entity.Summary = details.Summary ?? null;
76
+ entity.ExecutedByUserID = contextUser.ID;
77
+ entity.DurationSeconds = details.DurationSeconds ?? null;
78
+ entity.StartedAt = details.StartedAt ?? null;
79
+ entity.EndedAt = details.EndedAt ?? null;
80
+ entity.Success = details.Success;
81
+ entity.ErrorMessage = details.ErrorMessage ?? null;
82
+ entity.ErrorPhase = details.ErrorPhase ?? null;
82
83
  if (transactionGroup) {
83
84
  entity.TransactionGroup = transactionGroup;
84
85
  }
85
86
  const saved = await entity.Save();
86
87
  if (!transactionGroup && !saved) {
87
- throw new Error(`Failed to record install history: ${entity.LatestResult?.Message ?? 'unknown error'}`);
88
+ throw new Error(`Failed to record install history: ${entity.LatestResult?.CompleteMessage ?? 'unknown error'}`);
88
89
  }
89
- return String(entity.Get('ID'));
90
+ return entity.ID;
90
91
  }
91
92
  export async function RecordAppDependencies(contextUser, appId, dependencies, transactionGroup, provider) {
92
93
  const md = (provider ?? new Metadata());
@@ -102,34 +103,50 @@ export async function RecordAppDependencies(contextUser, appId, dependencies, tr
102
103
  const depApp = depResult.Success && depResult.Results.length > 0 ? depResult.Results[0] : null;
103
104
  const entity = await md.GetEntityObject('MJ: Open App Dependencies', contextUser);
104
105
  entity.NewRecord();
105
- entity.Set('OpenAppID', appId);
106
- entity.Set('DependsOnAppName', depName);
107
- entity.Set('DependsOnAppID', depApp?.ID ?? null);
108
- entity.Set('VersionRange', versionRange);
109
- entity.Set('InstalledVersion', depApp?.Version ?? null);
110
- entity.Set('Status', depApp ? 'Satisfied' : 'Missing');
106
+ entity.OpenAppID = appId;
107
+ entity.DependsOnAppName = depName;
108
+ entity.DependsOnAppID = depApp?.ID ?? null;
109
+ entity.VersionRange = versionRange;
110
+ entity.InstalledVersion = depApp?.Version ?? null;
111
+ entity.Status = depApp ? 'Satisfied' : 'Missing';
111
112
  if (transactionGroup) {
112
113
  entity.TransactionGroup = transactionGroup;
113
114
  }
114
115
  const saved = await entity.Save();
115
116
  if (!transactionGroup && !saved) {
116
- throw new Error(`Failed to record dependency '${depName}': ${entity.LatestResult?.Message ?? 'unknown error'}`);
117
+ throw new Error(`Failed to record dependency '${depName}': ${entity.LatestResult?.CompleteMessage ?? 'unknown error'}`);
117
118
  }
118
119
  }
119
120
  }
120
- export async function DeleteAppDependencies(contextUser, appId) {
121
+ export async function DeleteAppDependencies(contextUser, appId, transactionGroup) {
121
122
  const rv = new RunView();
122
123
  const result = await rv.RunView({
123
124
  EntityName: 'MJ: Open App Dependencies',
124
125
  ExtraFilter: `OpenAppID = '${EscapeSqlFilter(appId)}'`,
125
126
  ResultType: 'entity_object',
126
127
  }, contextUser);
127
- if (result.Success) {
128
- for (const record of result.Results) {
128
+ if (!result.Success) {
129
+ throw new Error(`Failed to load dependencies for app ${appId}: ${result.ErrorMessage ?? 'unknown error'}`);
130
+ }
131
+ for (const record of result.Results) {
132
+ if (transactionGroup) {
133
+ record.TransactionGroup = transactionGroup;
129
134
  await record.Delete();
135
+ continue;
136
+ }
137
+ const deleted = await record.Delete();
138
+ if (!deleted) {
139
+ throw new Error(`Failed to delete a dependency for app ${appId}: ${record.LatestResult?.CompleteMessage ?? 'unknown error'}`);
130
140
  }
131
141
  }
132
142
  }
143
+ export async function ReplaceAppDependenciesAtomically(contextUser, appId, dependencies, provider) {
144
+ const md = (provider ?? new Metadata());
145
+ const tg = await md.CreateTransactionGroup();
146
+ await DeleteAppDependencies(contextUser, appId, tg);
147
+ await RecordAppDependencies(contextUser, appId, dependencies, tg, provider);
148
+ return tg.Submit();
149
+ }
133
150
  export async function FindInstalledApp(contextUser, appName, provider) {
134
151
  const rv = provider ? RunView.FromMetadataProvider(provider) : new RunView();
135
152
  const result = await rv.RunView({
@@ -142,6 +159,23 @@ export async function FindInstalledApp(contextUser, appName, provider) {
142
159
  }
143
160
  return result.Results.length > 0 ? result.Results[0] : null;
144
161
  }
162
+ export async function CheckSchemaSharedByOtherApps(contextUser, schemaName, excludeAppId, provider) {
163
+ if (!schemaName) {
164
+ return { Shared: false, CheckFailed: false };
165
+ }
166
+ const rv = provider ? RunView.FromMetadataProvider(provider) : new RunView();
167
+ const result = await rv.RunView({
168
+ EntityName: 'MJ: Open Apps',
169
+ ExtraFilter: `SchemaName = '${EscapeSqlFilter(schemaName)}' ` +
170
+ `AND ID <> '${EscapeSqlFilter(excludeAppId)}' ` +
171
+ `AND Status NOT IN ('Removed', 'Removing')`,
172
+ ResultType: 'simple',
173
+ }, contextUser);
174
+ if (!result.Success) {
175
+ return { Shared: true, CheckFailed: true, ErrorMessage: result.ErrorMessage };
176
+ }
177
+ return { Shared: result.Results.length > 0, CheckFailed: false };
178
+ }
145
179
  export async function ListInstalledApps(contextUser) {
146
180
  const rv = new RunView();
147
181
  const result = await rv.RunView({
@@ -1 +1 @@
1
- {"version":3,"file":"history-recorder.js","sourceRoot":"","sources":["../../src/install/history-recorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-recorder.js","sourceRoot":"","sources":["../../src/install/history-recorder.ts"],"names":[],"mappings":"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"}