@memberjunction/server 5.28.0 → 5.30.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/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +63 -70
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/config.d.ts +151 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/generated/generated.d.ts +452 -6
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +2788 -303
- package/dist/generated/generated.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/resolvers/FeedbackResolver.d.ts +150 -0
- package/dist/resolvers/FeedbackResolver.d.ts.map +1 -0
- package/dist/resolvers/FeedbackResolver.js +876 -0
- package/dist/resolvers/FeedbackResolver.js.map +1 -0
- package/dist/resolvers/FileResolver.d.ts +27 -0
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +32 -3
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +100 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +532 -41
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts +77 -0
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +300 -1
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +87 -32
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +20 -12
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +20 -9
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +153 -116
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/services/TaskOrchestrator.d.ts.map +1 -1
- package/dist/services/TaskOrchestrator.js +78 -79
- package/dist/services/TaskOrchestrator.js.map +1 -1
- package/package.json +68 -66
- package/src/auth/newUsers.ts +65 -74
- package/src/config.ts +19 -0
- package/src/generated/generated.ts +1753 -40
- package/src/index.ts +1 -0
- package/src/resolvers/FeedbackResolver.ts +940 -0
- package/src/resolvers/FileResolver.ts +33 -4
- package/src/resolvers/IntegrationDiscoveryResolver.ts +543 -43
- package/src/resolvers/MCPResolver.ts +297 -1
- package/src/resolvers/RunAIAgentResolver.ts +89 -32
- package/src/resolvers/SyncDataResolver.ts +24 -14
- package/src/resolvers/SyncRolesUsersResolver.ts +177 -141
- package/src/services/TaskOrchestrator.ts +86 -93
|
@@ -368,9 +368,21 @@ export class FileResolver extends FileResolverBase {
|
|
|
368
368
|
return { account, provider };
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
+
/**
|
|
372
|
+
* Legacy file upload path — used by the `<mj-files-file-upload>` Angular component.
|
|
373
|
+
* Creates a File entity record in the database AND generates a pre-authenticated upload URL.
|
|
374
|
+
* The client then PUTs the file binary directly to that URL.
|
|
375
|
+
*
|
|
376
|
+
* Driver initialization: uses `buildUserContext()` (no storage account). The driver
|
|
377
|
+
* initializes from environment variables (e.g. STORAGE_AZURE_ACCOUNT_NAME, STORAGE_DROPBOX_ACCESS_TOKEN).
|
|
378
|
+
*
|
|
379
|
+
* Input: `ProviderID` identifies which storage provider to use.
|
|
380
|
+
* Returns: `{ File, UploadUrl, NameExists }` — the persisted File record, upload URL, and duplicate check.
|
|
381
|
+
*
|
|
382
|
+
* @see CreatePreAuthUploadUrl for the enterprise storage-account-based path (used by File Browser).
|
|
383
|
+
*/
|
|
371
384
|
@Mutation(() => CreateFilePayload)
|
|
372
385
|
async CreateFile(@Arg('input', () => CreateMJFileInput) input: CreateMJFileInput, @Ctx() context: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
373
|
-
// Check to see if there's already an object with that name
|
|
374
386
|
const provider = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|
|
375
387
|
const user = this.GetUserFromPayload(context.userPayload);
|
|
376
388
|
const fileEntity = await provider.GetEntityObject<MJFileEntity>('MJ: Files', user);
|
|
@@ -389,12 +401,15 @@ export class FileResolver extends FileResolverBase {
|
|
|
389
401
|
|
|
390
402
|
// Create the upload URL and get the record updates (provider key, content type, etc)
|
|
391
403
|
const userContext = this.buildUserContext(context);
|
|
392
|
-
const { updatedInput, UploadUrl } = await createUploadUrl(providerEntity, fileEntity, userContext);
|
|
404
|
+
const { updatedInput, UploadUrl } = await createUploadUrl(providerEntity, fileEntity as unknown as { ID: string; Name: string; ProviderID: string; ContentType?: string; ProviderKey?: string }, userContext);
|
|
393
405
|
|
|
394
406
|
// Save the file record with the updated input
|
|
395
407
|
const mapper = new FieldMapper();
|
|
396
|
-
fileEntity.SetMany(mapper.ReverseMapFields({ ...updatedInput }), true,
|
|
397
|
-
await fileEntity.Save();
|
|
408
|
+
fileEntity.SetMany(mapper.ReverseMapFields({ ...updatedInput }), true, false);
|
|
409
|
+
const saved = await fileEntity.Save();
|
|
410
|
+
if (!saved) {
|
|
411
|
+
console.error('[CreateFile] File save failed:', fileEntity.LatestResult?.CompleteMessage);
|
|
412
|
+
}
|
|
398
413
|
const File = mapper.MapFields({ ...fileEntity.GetAll() });
|
|
399
414
|
|
|
400
415
|
return { File, UploadUrl, NameExists };
|
|
@@ -534,6 +549,20 @@ export class FileResolver extends FileResolverBase {
|
|
|
534
549
|
return downloadUrl;
|
|
535
550
|
}
|
|
536
551
|
|
|
552
|
+
/**
|
|
553
|
+
* Enterprise file upload path — used by the File Browser UI.
|
|
554
|
+
* Generates a pre-authenticated upload URL only (does NOT create a File entity record).
|
|
555
|
+
* The client handles the upload directly to the storage provider via the returned URL.
|
|
556
|
+
*
|
|
557
|
+
* Driver initialization: uses `buildExtendedUserContext()` with a FileStorageAccount entity.
|
|
558
|
+
* Credentials are loaded from the Credential Engine (encrypted in the database), with
|
|
559
|
+
* automatic token refresh for OAuth providers like Dropbox and Box.com.
|
|
560
|
+
*
|
|
561
|
+
* Input: `AccountID` identifies which storage account (and its linked provider/credentials) to use.
|
|
562
|
+
* Returns: `{ UploadUrl, ProviderKey }` — the pre-authenticated URL and optional provider key.
|
|
563
|
+
*
|
|
564
|
+
* @see CreateFile for the legacy path that also creates a File entity record.
|
|
565
|
+
*/
|
|
537
566
|
@Mutation(() => CreatePreAuthUploadUrlPayload)
|
|
538
567
|
async CreatePreAuthUploadUrl(@Arg('input', () => CreatePreAuthUploadUrlInput) input: CreatePreAuthUploadUrlInput, @Ctx() context: AppContext) {
|
|
539
568
|
const md = GetReadOnlyProvider(context.providers, { allowFallbackToReadWrite: true });
|