@memberjunction/server 5.31.0 → 5.32.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "5.31.0",
3
+ "version": "5.32.0",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./src/index.ts",
@@ -27,73 +27,73 @@
27
27
  "@as-integrations/express5": "^1.0.0",
28
28
  "@graphql-tools/schema": "latest",
29
29
  "@graphql-tools/utils": "^11.0.0",
30
- "@memberjunction/actions": "5.31.0",
31
- "@memberjunction/actions-apollo": "5.31.0",
32
- "@memberjunction/actions-base": "5.31.0",
33
- "@memberjunction/actions-bizapps-accounting": "5.31.0",
34
- "@memberjunction/actions-bizapps-crm": "5.31.0",
35
- "@memberjunction/actions-bizapps-formbuilders": "5.31.0",
36
- "@memberjunction/actions-bizapps-lms": "5.31.0",
37
- "@memberjunction/actions-bizapps-social": "5.31.0",
38
- "@memberjunction/ai": "5.31.0",
39
- "@memberjunction/ai-agent-manager": "5.31.0",
40
- "@memberjunction/ai-agent-manager-actions": "5.31.0",
41
- "@memberjunction/ai-agents": "5.31.0",
42
- "@memberjunction/ai-core-plus": "5.31.0",
43
- "@memberjunction/ai-mcp-client": "5.31.0",
44
- "@memberjunction/ai-prompts": "5.31.0",
45
- "@memberjunction/ai-provider-bundle": "5.31.0",
46
- "@memberjunction/ai-vector-sync": "5.31.0",
47
- "@memberjunction/ai-vectordb": "5.31.0",
48
- "@memberjunction/ai-vectors-pinecone": "5.31.0",
49
- "@memberjunction/aiengine": "5.31.0",
50
- "@memberjunction/api-keys": "5.31.0",
51
- "@memberjunction/auth-providers": "5.31.0",
52
- "@memberjunction/codegen-lib": "5.31.0",
53
- "@memberjunction/communication-ms-graph": "5.31.0",
54
- "@memberjunction/communication-sendgrid": "5.31.0",
55
- "@memberjunction/communication-types": "5.31.0",
56
- "@memberjunction/component-registry-client-sdk": "5.31.0",
57
- "@memberjunction/computer-use-engine": "5.31.0",
58
- "@memberjunction/config": "5.31.0",
59
- "@memberjunction/core": "5.31.0",
60
- "@memberjunction/core-actions": "5.31.0",
61
- "@memberjunction/core-entities": "5.31.0",
62
- "@memberjunction/core-entities-server": "5.31.0",
63
- "@memberjunction/data-context": "5.31.0",
64
- "@memberjunction/data-context-server": "5.31.0",
65
- "@memberjunction/doc-utils": "5.31.0",
66
- "@memberjunction/encryption": "5.31.0",
67
- "@memberjunction/entity-communications-base": "5.31.0",
68
- "@memberjunction/entity-communications-server": "5.31.0",
69
- "@memberjunction/external-change-detection": "5.31.0",
70
- "@memberjunction/generic-database-provider": "5.31.0",
71
- "@memberjunction/global": "5.31.0",
72
- "@memberjunction/graphql-dataprovider": "5.31.0",
73
- "@memberjunction/integration-engine": "5.31.0",
74
- "@memberjunction/integration-schema-builder": "5.31.0",
75
- "@memberjunction/interactive-component-types": "5.31.0",
76
- "@memberjunction/notifications": "5.31.0",
77
- "@memberjunction/postgresql-dataprovider": "5.31.0",
78
- "@memberjunction/queue": "5.31.0",
79
- "@memberjunction/redis-provider": "5.31.0",
80
- "@memberjunction/scheduling-actions": "5.31.0",
81
- "@memberjunction/scheduling-base-types": "5.31.0",
82
- "@memberjunction/scheduling-engine": "5.31.0",
83
- "@memberjunction/scheduling-engine-base": "5.31.0",
84
- "@memberjunction/schema-engine": "5.31.0",
85
- "@memberjunction/search-engine": "5.31.0",
86
- "@memberjunction/server-extensions-core": "5.31.0",
87
- "@memberjunction/skip-types": "5.31.0",
88
- "@memberjunction/sql-dialect": "5.31.0",
89
- "@memberjunction/sqlserver-dataprovider": "5.31.0",
90
- "@memberjunction/storage": "5.31.0",
91
- "@memberjunction/tag-engine": "5.31.0",
92
- "@memberjunction/tag-engine-base": "5.31.0",
93
- "@memberjunction/templates": "5.31.0",
94
- "@memberjunction/testing-engine": "5.31.0",
95
- "@memberjunction/testing-engine-base": "5.31.0",
96
- "@memberjunction/version-history": "5.31.0",
30
+ "@memberjunction/actions": "5.32.0",
31
+ "@memberjunction/actions-apollo": "5.32.0",
32
+ "@memberjunction/actions-base": "5.32.0",
33
+ "@memberjunction/actions-bizapps-accounting": "5.32.0",
34
+ "@memberjunction/actions-bizapps-crm": "5.32.0",
35
+ "@memberjunction/actions-bizapps-formbuilders": "5.32.0",
36
+ "@memberjunction/actions-bizapps-lms": "5.32.0",
37
+ "@memberjunction/actions-bizapps-social": "5.32.0",
38
+ "@memberjunction/ai": "5.32.0",
39
+ "@memberjunction/ai-agent-manager": "5.32.0",
40
+ "@memberjunction/ai-agent-manager-actions": "5.32.0",
41
+ "@memberjunction/ai-agents": "5.32.0",
42
+ "@memberjunction/ai-core-plus": "5.32.0",
43
+ "@memberjunction/ai-mcp-client": "5.32.0",
44
+ "@memberjunction/ai-prompts": "5.32.0",
45
+ "@memberjunction/ai-provider-bundle": "5.32.0",
46
+ "@memberjunction/ai-vector-sync": "5.32.0",
47
+ "@memberjunction/ai-vectordb": "5.32.0",
48
+ "@memberjunction/ai-vectors-pinecone": "5.32.0",
49
+ "@memberjunction/aiengine": "5.32.0",
50
+ "@memberjunction/api-keys": "5.32.0",
51
+ "@memberjunction/auth-providers": "5.32.0",
52
+ "@memberjunction/codegen-lib": "5.32.0",
53
+ "@memberjunction/communication-ms-graph": "5.32.0",
54
+ "@memberjunction/communication-sendgrid": "5.32.0",
55
+ "@memberjunction/communication-types": "5.32.0",
56
+ "@memberjunction/component-registry-client-sdk": "5.32.0",
57
+ "@memberjunction/computer-use-engine": "5.32.0",
58
+ "@memberjunction/config": "5.32.0",
59
+ "@memberjunction/core": "5.32.0",
60
+ "@memberjunction/core-actions": "5.32.0",
61
+ "@memberjunction/core-entities": "5.32.0",
62
+ "@memberjunction/core-entities-server": "5.32.0",
63
+ "@memberjunction/data-context": "5.32.0",
64
+ "@memberjunction/data-context-server": "5.32.0",
65
+ "@memberjunction/doc-utils": "5.32.0",
66
+ "@memberjunction/encryption": "5.32.0",
67
+ "@memberjunction/entity-communications-base": "5.32.0",
68
+ "@memberjunction/entity-communications-server": "5.32.0",
69
+ "@memberjunction/external-change-detection": "5.32.0",
70
+ "@memberjunction/generic-database-provider": "5.32.0",
71
+ "@memberjunction/global": "5.32.0",
72
+ "@memberjunction/graphql-dataprovider": "5.32.0",
73
+ "@memberjunction/integration-engine": "5.32.0",
74
+ "@memberjunction/integration-schema-builder": "5.32.0",
75
+ "@memberjunction/interactive-component-types": "5.32.0",
76
+ "@memberjunction/notifications": "5.32.0",
77
+ "@memberjunction/postgresql-dataprovider": "5.32.0",
78
+ "@memberjunction/queue": "5.32.0",
79
+ "@memberjunction/redis-provider": "5.32.0",
80
+ "@memberjunction/scheduling-actions": "5.32.0",
81
+ "@memberjunction/scheduling-base-types": "5.32.0",
82
+ "@memberjunction/scheduling-engine": "5.32.0",
83
+ "@memberjunction/scheduling-engine-base": "5.32.0",
84
+ "@memberjunction/schema-engine": "5.32.0",
85
+ "@memberjunction/search-engine": "5.32.0",
86
+ "@memberjunction/server-extensions-core": "5.32.0",
87
+ "@memberjunction/skip-types": "5.32.0",
88
+ "@memberjunction/sql-dialect": "5.32.0",
89
+ "@memberjunction/sqlserver-dataprovider": "5.32.0",
90
+ "@memberjunction/storage": "5.32.0",
91
+ "@memberjunction/tag-engine": "5.32.0",
92
+ "@memberjunction/tag-engine-base": "5.32.0",
93
+ "@memberjunction/templates": "5.32.0",
94
+ "@memberjunction/testing-engine": "5.32.0",
95
+ "@memberjunction/testing-engine-base": "5.32.0",
96
+ "@memberjunction/version-history": "5.32.0",
97
97
  "@types/compression": "^1.8.1",
98
98
  "@types/cors": "^2.8.19",
99
99
  "@types/jsonwebtoken": "9.0.10",
@@ -25379,12 +25379,12 @@ export class MJCompanyIntegrationEntityMap_ {
25379
25379
  @MaxLength(255)
25380
25380
  Entity: string;
25381
25381
 
25382
- @Field(() => [MJCompanyIntegrationSyncWatermark_])
25383
- MJCompanyIntegrationSyncWatermarks_EntityMapIDArray: MJCompanyIntegrationSyncWatermark_[]; // Link to MJCompanyIntegrationSyncWatermarks
25384
-
25385
25382
  @Field(() => [MJCompanyIntegrationFieldMap_])
25386
25383
  MJCompanyIntegrationFieldMaps_EntityMapIDArray: MJCompanyIntegrationFieldMap_[]; // Link to MJCompanyIntegrationFieldMaps
25387
25384
 
25385
+ @Field(() => [MJCompanyIntegrationSyncWatermark_])
25386
+ MJCompanyIntegrationSyncWatermarks_EntityMapIDArray: MJCompanyIntegrationSyncWatermark_[]; // Link to MJCompanyIntegrationSyncWatermarks
25387
+
25388
25388
  }
25389
25389
 
25390
25390
  //****************************************************************************
@@ -25544,16 +25544,6 @@ export class MJCompanyIntegrationEntityMapResolver extends ResolverBase {
25544
25544
  return result;
25545
25545
  }
25546
25546
 
25547
- @FieldResolver(() => [MJCompanyIntegrationSyncWatermark_])
25548
- async MJCompanyIntegrationSyncWatermarks_EntityMapIDArray(@Root() mjcompanyintegrationentitymap_: MJCompanyIntegrationEntityMap_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
25549
- this.CheckUserReadPermissions('MJ: Company Integration Sync Watermarks', userPayload);
25550
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
25551
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationSyncWatermarks')} WHERE ${provider.QuoteIdentifier('EntityMapID')}='${mjcompanyintegrationentitymap_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Sync Watermarks', userPayload, EntityPermissionType.Read, 'AND');
25552
- const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
25553
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Company Integration Sync Watermarks', rows, this.GetUserFromPayload(userPayload));
25554
- return result;
25555
- }
25556
-
25557
25547
  @FieldResolver(() => [MJCompanyIntegrationFieldMap_])
25558
25548
  async MJCompanyIntegrationFieldMaps_EntityMapIDArray(@Root() mjcompanyintegrationentitymap_: MJCompanyIntegrationEntityMap_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
25559
25549
  this.CheckUserReadPermissions('MJ: Company Integration Field Maps', userPayload);
@@ -25564,6 +25554,16 @@ export class MJCompanyIntegrationEntityMapResolver extends ResolverBase {
25564
25554
  return result;
25565
25555
  }
25566
25556
 
25557
+ @FieldResolver(() => [MJCompanyIntegrationSyncWatermark_])
25558
+ async MJCompanyIntegrationSyncWatermarks_EntityMapIDArray(@Root() mjcompanyintegrationentitymap_: MJCompanyIntegrationEntityMap_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
25559
+ this.CheckUserReadPermissions('MJ: Company Integration Sync Watermarks', userPayload);
25560
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
25561
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationSyncWatermarks')} WHERE ${provider.QuoteIdentifier('EntityMapID')}='${mjcompanyintegrationentitymap_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Sync Watermarks', userPayload, EntityPermissionType.Read, 'AND');
25562
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
25563
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Company Integration Sync Watermarks', rows, this.GetUserFromPayload(userPayload));
25564
+ return result;
25565
+ }
25566
+
25567
25567
  @Mutation(() => MJCompanyIntegrationEntityMap_)
25568
25568
  async CreateMJCompanyIntegrationEntityMap(
25569
25569
  @Arg('input', () => CreateMJCompanyIntegrationEntityMapInput) input: CreateMJCompanyIntegrationEntityMapInput,
@@ -27593,6 +27593,9 @@ export class MJComponentLibrary_ {
27593
27593
  @MaxLength(50)
27594
27594
  UsageType: string;
27595
27595
 
27596
+ @Field({nullable: true, description: `Markdown-formatted usage instructions for AI code generators and agents. Injected into prompts when a component references this library. Covers container requirements, initialization patterns, required config options, and common pitfalls. Distinct from Description which is a high-level summary of what the library does.`})
27597
+ UsageInstructions?: string;
27598
+
27596
27599
  @Field(() => [MJComponentLibraryLink_])
27597
27600
  MJComponentLibraryLinks_LibraryIDArray: MJComponentLibraryLink_[]; // Link to MJComponentLibraryLinks
27598
27601
 
@@ -27642,6 +27645,9 @@ export class CreateMJComponentLibraryInput {
27642
27645
  @Field({ nullable: true })
27643
27646
  UsageType?: string;
27644
27647
 
27648
+ @Field({ nullable: true })
27649
+ UsageInstructions: string | null;
27650
+
27645
27651
  @Field(() => RestoreContextInput, { nullable: true })
27646
27652
  RestoreContext___?: RestoreContextInput;
27647
27653
  }
@@ -27691,6 +27697,9 @@ export class UpdateMJComponentLibraryInput {
27691
27697
  @Field({ nullable: true })
27692
27698
  UsageType?: string;
27693
27699
 
27700
+ @Field({ nullable: true })
27701
+ UsageInstructions?: string | null;
27702
+
27694
27703
  @Field(() => [KeyValuePairInput], { nullable: true })
27695
27704
  OldValues___?: KeyValuePairInput[];
27696
27705
 
@@ -67455,12 +67464,12 @@ export class MJTag_ {
67455
67464
  @Field(() => [MJTaggedItem_])
67456
67465
  MJTaggedItems_TagIDArray: MJTaggedItem_[]; // Link to MJTaggedItems
67457
67466
 
67458
- @Field(() => [MJContentItemTag_])
67459
- MJContentItemTags_TagIDArray: MJContentItemTag_[]; // Link to MJContentItemTags
67460
-
67461
67467
  @Field(() => [MJTagCoOccurrence_])
67462
67468
  MJTagCoOccurrences_TagBIDArray: MJTagCoOccurrence_[]; // Link to MJTagCoOccurrences
67463
67469
 
67470
+ @Field(() => [MJContentItemTag_])
67471
+ MJContentItemTags_TagIDArray: MJContentItemTag_[]; // Link to MJContentItemTags
67472
+
67464
67473
  @Field(() => [MJTagSynonym_])
67465
67474
  MJTagSynonyms_TagIDArray: MJTagSynonym_[]; // Link to MJTagSynonyms
67466
67475
 
@@ -67470,12 +67479,12 @@ export class MJTag_ {
67470
67479
  @Field(() => [MJTagCoOccurrence_])
67471
67480
  MJTagCoOccurrences_TagAIDArray: MJTagCoOccurrence_[]; // Link to MJTagCoOccurrences
67472
67481
 
67473
- @Field(() => [MJTagSuggestion_])
67474
- MJTagSuggestions_ProposedParentIDArray: MJTagSuggestion_[]; // Link to MJTagSuggestions
67475
-
67476
67482
  @Field(() => [MJTagScope_])
67477
67483
  MJTagScopes_TagIDArray: MJTagScope_[]; // Link to MJTagScopes
67478
67484
 
67485
+ @Field(() => [MJTagSuggestion_])
67486
+ MJTagSuggestions_ProposedParentIDArray: MJTagSuggestion_[]; // Link to MJTagSuggestions
67487
+
67479
67488
  @Field(() => [MJTagAuditLog_])
67480
67489
  MJTagAuditLogs_TagIDArray: MJTagAuditLog_[]; // Link to MJTagAuditLogs
67481
67490
 
@@ -67685,16 +67694,6 @@ export class MJTagResolver extends ResolverBase {
67685
67694
  return result;
67686
67695
  }
67687
67696
 
67688
- @FieldResolver(() => [MJContentItemTag_])
67689
- async MJContentItemTags_TagIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67690
- this.CheckUserReadPermissions('MJ: Content Item Tags', userPayload);
67691
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
67692
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwContentItemTags')} WHERE ${provider.QuoteIdentifier('TagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Content Item Tags', userPayload, EntityPermissionType.Read, 'AND');
67693
- const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
67694
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Content Item Tags', rows, this.GetUserFromPayload(userPayload));
67695
- return result;
67696
- }
67697
-
67698
67697
  @FieldResolver(() => [MJTagCoOccurrence_])
67699
67698
  async MJTagCoOccurrences_TagBIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67700
67699
  this.CheckUserReadPermissions('MJ: Tag Co Occurrences', userPayload);
@@ -67705,6 +67704,16 @@ export class MJTagResolver extends ResolverBase {
67705
67704
  return result;
67706
67705
  }
67707
67706
 
67707
+ @FieldResolver(() => [MJContentItemTag_])
67708
+ async MJContentItemTags_TagIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67709
+ this.CheckUserReadPermissions('MJ: Content Item Tags', userPayload);
67710
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
67711
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwContentItemTags')} WHERE ${provider.QuoteIdentifier('TagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Content Item Tags', userPayload, EntityPermissionType.Read, 'AND');
67712
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
67713
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Content Item Tags', rows, this.GetUserFromPayload(userPayload));
67714
+ return result;
67715
+ }
67716
+
67708
67717
  @FieldResolver(() => [MJTagSynonym_])
67709
67718
  async MJTagSynonyms_TagIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67710
67719
  this.CheckUserReadPermissions('MJ: Tag Synonyms', userPayload);
@@ -67735,16 +67744,6 @@ export class MJTagResolver extends ResolverBase {
67735
67744
  return result;
67736
67745
  }
67737
67746
 
67738
- @FieldResolver(() => [MJTagSuggestion_])
67739
- async MJTagSuggestions_ProposedParentIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67740
- this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
67741
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
67742
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('ProposedParentID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
67743
- const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
67744
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
67745
- return result;
67746
- }
67747
-
67748
67747
  @FieldResolver(() => [MJTagScope_])
67749
67748
  async MJTagScopes_TagIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67750
67749
  this.CheckUserReadPermissions('MJ: Tag Scopes', userPayload);
@@ -67755,6 +67754,16 @@ export class MJTagResolver extends ResolverBase {
67755
67754
  return result;
67756
67755
  }
67757
67756
 
67757
+ @FieldResolver(() => [MJTagSuggestion_])
67758
+ async MJTagSuggestions_ProposedParentIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67759
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
67760
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
67761
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('ProposedParentID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
67762
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
67763
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
67764
+ return result;
67765
+ }
67766
+
67758
67767
  @FieldResolver(() => [MJTagAuditLog_])
67759
67768
  async MJTagAuditLogs_TagIDArray(@Root() mjtag_: MJTag_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
67760
67769
  this.CheckUserReadPermissions('MJ: Tag Audit Logs', userPayload);
@@ -75286,14 +75295,11 @@ export class MJUser_ {
75286
75295
  @Field(() => [MJOAuthAuthorizationState_])
75287
75296
  MJOAuthAuthorizationStates_UserIDArray: MJOAuthAuthorizationState_[]; // Link to MJOAuthAuthorizationStates
75288
75297
 
75289
- @Field(() => [MJOpenApp_])
75290
- MJOpenApps_InstalledByUserIDArray: MJOpenApp_[]; // Link to MJOpenApps
75291
-
75292
75298
  @Field(() => [MJOpenAppInstallHistory_])
75293
75299
  MJOpenAppInstallHistories_ExecutedByUserIDArray: MJOpenAppInstallHistory_[]; // Link to MJOpenAppInstallHistories
75294
75300
 
75295
- @Field(() => [MJTagAuditLog_])
75296
- MJTagAuditLogs_PerformedByUserIDArray: MJTagAuditLog_[]; // Link to MJTagAuditLogs
75301
+ @Field(() => [MJOpenApp_])
75302
+ MJOpenApps_InstalledByUserIDArray: MJOpenApp_[]; // Link to MJOpenApps
75297
75303
 
75298
75304
  @Field(() => [MJContentItemDuplicate_])
75299
75305
  MJContentItemDuplicates_ResolvedByUserIDArray: MJContentItemDuplicate_[]; // Link to MJContentItemDuplicates
@@ -75304,6 +75310,9 @@ export class MJUser_ {
75304
75310
  @Field(() => [MJKnowledgeHubSavedSearch_])
75305
75311
  MJKnowledgeHubSavedSearches_UserIDArray: MJKnowledgeHubSavedSearch_[]; // Link to MJKnowledgeHubSavedSearches
75306
75312
 
75313
+ @Field(() => [MJTagAuditLog_])
75314
+ MJTagAuditLogs_PerformedByUserIDArray: MJTagAuditLog_[]; // Link to MJTagAuditLogs
75315
+
75307
75316
  @Field(() => [MJArchiveConfiguration_])
75308
75317
  MJArchiveConfigurations_CreatedByUserIDArray: MJArchiveConfiguration_[]; // Link to MJArchiveConfigurations
75309
75318
 
@@ -76146,16 +76155,6 @@ export class MJUserResolverBase extends ResolverBase {
76146
76155
  return result;
76147
76156
  }
76148
76157
 
76149
- @FieldResolver(() => [MJOpenApp_])
76150
- async MJOpenApps_InstalledByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
76151
- this.CheckUserReadPermissions('MJ: Open Apps', userPayload);
76152
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
76153
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwOpenApps')} WHERE ${provider.QuoteIdentifier('InstalledByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open Apps', userPayload, EntityPermissionType.Read, 'AND');
76154
- const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
76155
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open Apps', rows, this.GetUserFromPayload(userPayload));
76156
- return result;
76157
- }
76158
-
76159
76158
  @FieldResolver(() => [MJOpenAppInstallHistory_])
76160
76159
  async MJOpenAppInstallHistories_ExecutedByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
76161
76160
  this.CheckUserReadPermissions('MJ: Open App Install Histories', userPayload);
@@ -76166,13 +76165,13 @@ export class MJUserResolverBase extends ResolverBase {
76166
76165
  return result;
76167
76166
  }
76168
76167
 
76169
- @FieldResolver(() => [MJTagAuditLog_])
76170
- async MJTagAuditLogs_PerformedByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
76171
- this.CheckUserReadPermissions('MJ: Tag Audit Logs', userPayload);
76168
+ @FieldResolver(() => [MJOpenApp_])
76169
+ async MJOpenApps_InstalledByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
76170
+ this.CheckUserReadPermissions('MJ: Open Apps', userPayload);
76172
76171
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
76173
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagAuditLogs')} WHERE ${provider.QuoteIdentifier('PerformedByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Audit Logs', userPayload, EntityPermissionType.Read, 'AND');
76172
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwOpenApps')} WHERE ${provider.QuoteIdentifier('InstalledByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open Apps', userPayload, EntityPermissionType.Read, 'AND');
76174
76173
  const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
76175
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Audit Logs', rows, this.GetUserFromPayload(userPayload));
76174
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open Apps', rows, this.GetUserFromPayload(userPayload));
76176
76175
  return result;
76177
76176
  }
76178
76177
 
@@ -76206,6 +76205,16 @@ export class MJUserResolverBase extends ResolverBase {
76206
76205
  return result;
76207
76206
  }
76208
76207
 
76208
+ @FieldResolver(() => [MJTagAuditLog_])
76209
+ async MJTagAuditLogs_PerformedByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
76210
+ this.CheckUserReadPermissions('MJ: Tag Audit Logs', userPayload);
76211
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
76212
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagAuditLogs')} WHERE ${provider.QuoteIdentifier('PerformedByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Audit Logs', userPayload, EntityPermissionType.Read, 'AND');
76213
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
76214
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Audit Logs', rows, this.GetUserFromPayload(userPayload));
76215
+ return result;
76216
+ }
76217
+
76209
76218
  @FieldResolver(() => [MJArchiveConfiguration_])
76210
76219
  async MJArchiveConfigurations_CreatedByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
76211
76220
  this.CheckUserReadPermissions('MJ: Archive Configurations', userPayload);