@memberjunction/server 5.0.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +2 -1
  2. package/dist/entitySubclasses/{entityPermissions.server.d.ts → MJEntityPermissionEntityServer.server.d.ts} +2 -2
  3. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.d.ts.map +1 -0
  4. package/dist/entitySubclasses/{entityPermissions.server.js → MJEntityPermissionEntityServer.server.js} +9 -9
  5. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.js.map +1 -0
  6. package/dist/generated/generated.d.ts +213 -26
  7. package/dist/generated/generated.d.ts.map +1 -1
  8. package/dist/generated/generated.js +1183 -124
  9. package/dist/generated/generated.js.map +1 -1
  10. package/dist/generic/ResolverBase.d.ts +2 -2
  11. package/dist/generic/ResolverBase.d.ts.map +1 -1
  12. package/dist/generic/ResolverBase.js.map +1 -1
  13. package/dist/generic/RunViewResolver.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/resolvers/AdhocQueryResolver.d.ts +28 -0
  19. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -0
  20. package/dist/resolvers/AdhocQueryResolver.js +140 -0
  21. package/dist/resolvers/AdhocQueryResolver.js.map +1 -0
  22. package/dist/resolvers/CreateQueryResolver.js +2 -2
  23. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  24. package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
  25. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  26. package/dist/resolvers/UserViewResolver.js.map +1 -1
  27. package/dist/services/TaskOrchestrator.js.map +1 -1
  28. package/dist/types.d.ts +2 -2
  29. package/dist/types.d.ts.map +1 -1
  30. package/package.json +52 -52
  31. package/src/__tests__/AdhocQueryResolver.test.ts +175 -0
  32. package/src/entitySubclasses/{entityPermissions.server.ts → MJEntityPermissionEntityServer.server.ts} +3 -3
  33. package/src/generated/generated.ts +827 -99
  34. package/src/generic/ResolverBase.ts +9 -9
  35. package/src/generic/RunViewResolver.ts +4 -4
  36. package/src/index.ts +1 -1
  37. package/src/resolvers/AdhocQueryResolver.ts +126 -0
  38. package/src/resolvers/CreateQueryResolver.ts +5 -5
  39. package/src/resolvers/RunAIAgentResolver.ts +4 -4
  40. package/src/resolvers/RunAIPromptResolver.ts +7 -7
  41. package/src/resolvers/RunTemplateResolver.ts +2 -2
  42. package/src/resolvers/UserViewResolver.ts +2 -2
  43. package/src/services/TaskOrchestrator.ts +5 -5
  44. package/src/types.ts +2 -2
  45. package/dist/apolloServer/TransactionPlugin.d.ts +0 -4
  46. package/dist/apolloServer/TransactionPlugin.d.ts.map +0 -1
  47. package/dist/apolloServer/TransactionPlugin.js +0 -46
  48. package/dist/apolloServer/TransactionPlugin.js.map +0 -1
  49. package/dist/auth/__tests__/backward-compatibility.test.d.ts +0 -2
  50. package/dist/auth/__tests__/backward-compatibility.test.d.ts.map +0 -1
  51. package/dist/auth/__tests__/backward-compatibility.test.js +0 -135
  52. package/dist/auth/__tests__/backward-compatibility.test.js.map +0 -1
  53. package/dist/entitySubclasses/entityPermissions.server.d.ts.map +0 -1
  54. package/dist/entitySubclasses/entityPermissions.server.js.map +0 -1
  55. package/dist/resolvers/AskSkipResolver.d.ts +0 -123
  56. package/dist/resolvers/AskSkipResolver.d.ts.map +0 -1
  57. package/dist/resolvers/AskSkipResolver.js +0 -1788
  58. package/dist/resolvers/AskSkipResolver.js.map +0 -1
  59. package/dist/scheduler/LearningCycleScheduler.d.ts +0 -4
  60. package/dist/scheduler/LearningCycleScheduler.d.ts.map +0 -1
  61. package/dist/scheduler/LearningCycleScheduler.js +0 -4
  62. package/dist/scheduler/LearningCycleScheduler.js.map +0 -1
@@ -19,7 +19,7 @@ import { mj_core_schema } from '../config.js';
19
19
 
20
20
 
21
21
 
22
- import { MJAccessControlRuleEntity, MJActionAuthorizationEntity, MJActionCategoryEntity, MJActionContextTypeEntity, MJActionContextEntity, MJActionExecutionLogEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity, MJActionEntity, MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentArtifactTypeEntity, MJAIAgentConfigurationEntity, MJAIAgentDataSourceEntity, MJAIAgentExampleEntity, MJAIAgentLearningCycleEntity, MJAIAgentModalityEntity, MJAIAgentModelEntity, MJAIAgentNoteTypeEntity, MJAIAgentNoteEntity, MJAIAgentPermissionEntity, MJAIAgentPromptEntity, MJAIAgentRelationshipEntity, MJAIAgentRequestEntity, MJAIAgentRunMediaEntity, MJAIAgentRunStepEntity, MJAIAgentRunEntity, MJAIAgentStepPathEntity, MJAIAgentStepEntity, MJAIAgentTypeEntity, MJAIAgentEntity, MJAIArchitectureEntity, MJAIConfigurationParamEntity, MJAIConfigurationEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIModelActionEntity, MJAIModelArchitectureEntity, MJAIModelCostEntity, MJAIModelModalityEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIModelTypeEntity, MJAIModelVendorEntity, MJAIModelEntity, MJAIPromptCategoryEntity, MJAIPromptModelEntity, MJAIPromptRunMediaEntity, MJAIPromptRunEntity, MJAIPromptTypeEntity, MJAIPromptEntity, MJAIResultCacheEntity, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeEntity, MJAIVendorEntity, MJAPIApplicationScopeEntity, MJAPIApplicationEntity, MJAPIKeyApplicationEntity, MJAPIKeyScopeEntity, MJAPIKeyUsageLogEntity, MJAPIKeyEntity, MJAPIScopeEntity, MJApplicationEntityEntity, MJApplicationSettingEntity, MJApplicationEntity, MJArtifactPermissionEntity, MJArtifactTypeEntity, MJArtifactUseEntity, MJArtifactVersionAttributeEntity, MJArtifactVersionEntity, MJArtifactEntity, MJAuditLogTypeEntity, MJAuditLogEntity, MJAuthorizationRoleEntity, MJAuthorizationEntity, MJCollectionArtifactEntity, MJCollectionPermissionEntity, MJCollectionEntity, MJCommunicationBaseMessageTypeEntity, MJCommunicationLogEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderEntity, MJCommunicationRunEntity, MJCompanyEntity, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunEntity, MJCompanyIntegrationEntity, MJComponentDependencyEntity, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentRegistryEntity, MJComponentEntity, MJContentFileTypeEntity, MJContentItemAttributeEntity, MJContentItemTagEntity, MJContentItemEntity, MJContentProcessRunEntity, MJContentSourceParamEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeEntity, MJContentSourceEntity, MJContentTypeAttributeEntity, MJContentTypeEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactVersionEntity, MJConversationArtifactEntity, MJConversationDetailArtifactEntity, MJConversationDetailAttachmentEntity, MJConversationDetailRatingEntity, MJConversationDetailEntity, MJConversationEntity, MJCredentialCategoryEntity, MJCredentialTypeEntity, MJCredentialEntity, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryPermissionEntity, MJDashboardPartTypeEntity, MJDashboardPermissionEntity, MJDashboardUserPreferenceEntity, MJDashboardUserStateEntity, MJDashboardEntity, MJDataContextItemEntity, MJDataContextEntity, MJDatasetItemEntity, MJDatasetEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailEntity, MJDuplicateRunEntity, MJEmployeeCompanyIntegrationEntity, MJEmployeeRoleEntity, MJEmployeeSkillEntity, MJEmployeeEntity, MJEncryptionAlgorithmEntity, MJEncryptionKeySourceEntity, MJEncryptionKeyEntity, MJEntityEntity, MJEntityActionFilterEntity, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationEntity, MJEntityActionParamEntity, MJEntityActionEntity, MJEntityAIActionEntity, MJEntityCommunicationFieldEntity, MJEntityCommunicationMessageTypeEntity, MJEntityDocumentRunEntity, MJEntityDocumentSettingEntity, MJEntityDocumentTypeEntity, MJEntityDocumentEntity, MJEntityFieldValueEntity, MJEntityFieldEntity, MJEntityPermissionEntity, MJEntityRecordDocumentEntity, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipEntity, MJEntitySettingEntity, MJEnvironmentEntity, MJErrorLogEntity, MJExplorerNavigationItemEntity, MJFileCategoryEntity, MJFileEntityRecordLinkEntity, MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileEntity, MJGeneratedCodeCategoryEntity, MJGeneratedCodeEntity, MJIntegrationURLFormatEntity, MJIntegrationEntity, MJLibraryEntity, MJLibraryItemEntity, MJListCategoryEntity, MJListDetailEntity, MJListInvitationEntity, MJListShareEntity, MJListEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionToolEntity, MJMCPServerConnectionEntity, MJMCPServerToolEntity, MJMCPServerEntity, MJMCPToolExecutionLogEntity, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthorizationStateEntity, MJOAuthClientRegistrationEntity, MJOAuthTokenEntity, MJOutputDeliveryTypeEntity, MJOutputFormatTypeEntity, MJOutputTriggerTypeEntity, MJProjectEntity, MJPublicLinkEntity, MJQueryEntity, MJQueryCategoryEntity, MJQueryEntityEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryPermissionEntity, MJQueueTaskEntity, MJQueueTypeEntity, MJQueueEntity, MJRecommendationItemEntity, MJRecommendationProviderEntity, MJRecommendationRunEntity, MJRecommendationEntity, MJRecordChangeReplayRunEntity, MJRecordChangeEntity, MJRecordLinkEntity, MJRecordMergeDeletionLogEntity, MJRecordMergeLogEntity, MJReportCategoryEntity, MJReportSnapshotEntity, MJReportUserStateEntity, MJReportVersionEntity, MJReportEntity, MJResourceLinkEntity, MJResourcePermissionEntity, MJResourceTypeEntity, MJRoleEntity, MJRowLevelSecurityFilterEntity, MJScheduledActionParamEntity, MJScheduledActionEntity, MJScheduledJobRunEntity, MJScheduledJobTypeEntity, MJScheduledJobEntity, MJSchemaInfoEntity, MJSkillEntity, MJTaggedItemEntity, MJTagEntity, MJTaskDependencyEntity, MJTaskTypeEntity, MJTaskEntity, MJTemplateCategoryEntity, MJTemplateContentTypeEntity, MJTemplateContentEntity, MJTemplateParamEntity, MJTemplateEntity, MJTestRubricEntity, MJTestRunFeedbackEntity, MJTestRunEntity, MJTestSuiteRunEntity, MJTestSuiteTestEntity, MJTestSuiteEntity, MJTestTypeEntity, MJTestEntity, MJUserApplicationEntityEntity, MJUserApplicationEntity, MJUserFavoriteEntity, MJUserNotificationPreferenceEntity, MJUserNotificationTypeEntity, MJUserNotificationEntity, MJUserRecordLogEntity, MJUserRoleEntity, MJUserSettingEntity, MJUserViewCategoryEntity, MJUserViewRunDetailEntity, MJUserViewRunEntity, MJUserViewEntity, MJUserEntity, MJVectorDatabaseEntity, MJVectorIndexEntity, MJVersionInstallationEntity, MJVersionLabelItemEntity, MJVersionLabelRestoreEntity, MJVersionLabelEntity, MJWorkflowEngineEntity, MJWorkflowRunEntity, MJWorkflowEntity, MJWorkspaceItemEntity, MJWorkspaceEntity } from '@memberjunction/core-entities';
22
+ import { MJAccessControlRuleEntity, MJActionAuthorizationEntity, MJActionCategoryEntity, MJActionContextTypeEntity, MJActionContextEntity, MJActionExecutionLogEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity, MJActionEntity, MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentArtifactTypeEntity, MJAIAgentConfigurationEntity, MJAIAgentDataSourceEntity, MJAIAgentExampleEntity, MJAIAgentLearningCycleEntity, MJAIAgentModalityEntity, MJAIAgentModelEntity, MJAIAgentNoteTypeEntity, MJAIAgentNoteEntity, MJAIAgentPermissionEntity, MJAIAgentPromptEntity, MJAIAgentRelationshipEntity, MJAIAgentRequestEntity, MJAIAgentRunMediaEntity, MJAIAgentRunStepEntity, MJAIAgentRunEntity, MJAIAgentStepPathEntity, MJAIAgentStepEntity, MJAIAgentTypeEntity, MJAIAgentEntity, MJAIArchitectureEntity, MJAIConfigurationParamEntity, MJAIConfigurationEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIModelActionEntity, MJAIModelArchitectureEntity, MJAIModelCostEntity, MJAIModelModalityEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIModelTypeEntity, MJAIModelVendorEntity, MJAIModelEntity, MJAIPromptCategoryEntity, MJAIPromptModelEntity, MJAIPromptRunMediaEntity, MJAIPromptRunEntity, MJAIPromptTypeEntity, MJAIPromptEntity, MJAIResultCacheEntity, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeEntity, MJAIVendorEntity, MJAPIApplicationScopeEntity, MJAPIApplicationEntity, MJAPIKeyApplicationEntity, MJAPIKeyScopeEntity, MJAPIKeyUsageLogEntity, MJAPIKeyEntity, MJAPIScopeEntity, MJApplicationEntityEntity, MJApplicationSettingEntity, MJApplicationEntity, MJArtifactPermissionEntity, MJArtifactTypeEntity, MJArtifactUseEntity, MJArtifactVersionAttributeEntity, MJArtifactVersionEntity, MJArtifactEntity, MJAuditLogTypeEntity, MJAuditLogEntity, MJAuthorizationRoleEntity, MJAuthorizationEntity, MJCollectionArtifactEntity, MJCollectionPermissionEntity, MJCollectionEntity, MJCommunicationBaseMessageTypeEntity, MJCommunicationLogEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderEntity, MJCommunicationRunEntity, MJCompanyEntity, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunEntity, MJCompanyIntegrationEntity, MJComponentDependencyEntity, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentRegistryEntity, MJComponentEntity, MJContentFileTypeEntity, MJContentItemAttributeEntity, MJContentItemTagEntity, MJContentItemEntity, MJContentProcessRunEntity, MJContentSourceParamEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeEntity, MJContentSourceEntity, MJContentTypeAttributeEntity, MJContentTypeEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactVersionEntity, MJConversationArtifactEntity, MJConversationDetailArtifactEntity, MJConversationDetailAttachmentEntity, MJConversationDetailRatingEntity, MJConversationDetailEntity, MJConversationEntity, MJCredentialCategoryEntity, MJCredentialTypeEntity, MJCredentialEntity, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryPermissionEntity, MJDashboardPartTypeEntity, MJDashboardPermissionEntity, MJDashboardUserPreferenceEntity, MJDashboardUserStateEntity, MJDashboardEntity, MJDataContextItemEntity, MJDataContextEntity, MJDatasetItemEntity, MJDatasetEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailEntity, MJDuplicateRunEntity, MJEmployeeCompanyIntegrationEntity, MJEmployeeRoleEntity, MJEmployeeSkillEntity, MJEmployeeEntity, MJEncryptionAlgorithmEntity, MJEncryptionKeySourceEntity, MJEncryptionKeyEntity, MJEntityEntity, MJEntityActionFilterEntity, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationEntity, MJEntityActionParamEntity, MJEntityActionEntity, MJEntityAIActionEntity, MJEntityCommunicationFieldEntity, MJEntityCommunicationMessageTypeEntity, MJEntityDocumentRunEntity, MJEntityDocumentSettingEntity, MJEntityDocumentTypeEntity, MJEntityDocumentEntity, MJEntityFieldValueEntity, MJEntityFieldEntity, MJEntityPermissionEntity, MJEntityRecordDocumentEntity, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipEntity, MJEntitySettingEntity, MJEnvironmentEntity, MJErrorLogEntity, MJExplorerNavigationItemEntity, MJFileCategoryEntity, MJFileEntityRecordLinkEntity, MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileEntity, MJGeneratedCodeCategoryEntity, MJGeneratedCodeEntity, MJIntegrationURLFormatEntity, MJIntegrationEntity, MJLibraryEntity, MJLibraryItemEntity, MJListCategoryEntity, MJListDetailEntity, MJListInvitationEntity, MJListShareEntity, MJListEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionToolEntity, MJMCPServerConnectionEntity, MJMCPServerToolEntity, MJMCPServerEntity, MJMCPToolExecutionLogEntity, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthorizationStateEntity, MJOAuthClientRegistrationEntity, MJOAuthTokenEntity, MJOpenAppDependencyEntity, MJOpenAppInstallHistoryEntity, MJOpenAppEntity, MJOutputDeliveryTypeEntity, MJOutputFormatTypeEntity, MJOutputTriggerTypeEntity, MJProjectEntity, MJPublicLinkEntity, MJQueryEntity, MJQueryCategoryEntity, MJQueryEntityEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryPermissionEntity, MJQueueTaskEntity, MJQueueTypeEntity, MJQueueEntity, MJRecommendationItemEntity, MJRecommendationProviderEntity, MJRecommendationRunEntity, MJRecommendationEntity, MJRecordChangeReplayRunEntity, MJRecordChangeEntity, MJRecordLinkEntity, MJRecordMergeDeletionLogEntity, MJRecordMergeLogEntity, MJReportCategoryEntity, MJReportSnapshotEntity, MJReportUserStateEntity, MJReportVersionEntity, MJReportEntity, MJResourceLinkEntity, MJResourcePermissionEntity, MJResourceTypeEntity, MJRoleEntity, MJRowLevelSecurityFilterEntity, MJScheduledActionParamEntity, MJScheduledActionEntity, MJScheduledJobRunEntity, MJScheduledJobTypeEntity, MJScheduledJobEntity, MJSchemaInfoEntity, MJSkillEntity, MJTaggedItemEntity, MJTagEntity, MJTaskDependencyEntity, MJTaskTypeEntity, MJTaskEntity, MJTemplateCategoryEntity, MJTemplateContentTypeEntity, MJTemplateContentEntity, MJTemplateParamEntity, MJTemplateEntity, MJTestRubricEntity, MJTestRunFeedbackEntity, MJTestRunEntity, MJTestSuiteRunEntity, MJTestSuiteTestEntity, MJTestSuiteEntity, MJTestTypeEntity, MJTestEntity, MJUserApplicationEntityEntity, MJUserApplicationEntity, MJUserFavoriteEntity, MJUserNotificationPreferenceEntity, MJUserNotificationTypeEntity, MJUserNotificationEntity, MJUserRecordLogEntity, MJUserRoleEntity, MJUserSettingEntity, MJUserViewCategoryEntity, MJUserViewRunDetailEntity, MJUserViewRunEntity, MJUserViewEntity, MJUserEntity, MJVectorDatabaseEntity, MJVectorIndexEntity, MJVersionInstallationEntity, MJVersionLabelItemEntity, MJVersionLabelRestoreEntity, MJVersionLabelEntity, MJWorkflowEngineEntity, MJWorkflowRunEntity, MJWorkflowEntity, MJWorkspaceItemEntity, MJWorkspaceEntity } from '@memberjunction/core-entities';
23
23
 
24
24
 
25
25
  //****************************************************************************
@@ -6297,14 +6297,6 @@ detailed information about what validation rules failed.`})
6297
6297
  @Field({nullable: true, description: `Human-readable notes and comments about this agent run step`})
6298
6298
  Comments?: string;
6299
6299
 
6300
- @Field({nullable: true})
6301
- @MaxLength(510)
6302
- AgentRun?: string;
6303
-
6304
- @Field({nullable: true})
6305
- @MaxLength(510)
6306
- Parent?: string;
6307
-
6308
6300
  @Field({nullable: true})
6309
6301
  @MaxLength(16)
6310
6302
  RootParentID?: string;
@@ -15301,10 +15293,6 @@ export class MJAIResultCache_ {
15301
15293
  @MaxLength(200)
15302
15294
  Configuration?: string;
15303
15295
 
15304
- @Field({nullable: true})
15305
- @MaxLength(510)
15306
- PromptRun?: string;
15307
-
15308
15296
  }
15309
15297
 
15310
15298
  //****************************************************************************
@@ -27626,9 +27614,6 @@ export class MJConversationDetailArtifact_ {
27626
27614
  @MaxLength(10)
27627
27615
  _mj__UpdatedAt: Date;
27628
27616
 
27629
- @Field()
27630
- ConversationDetail: string;
27631
-
27632
27617
  @Field({nullable: true})
27633
27618
  @MaxLength(510)
27634
27619
  ArtifactVersion?: string;
@@ -28054,9 +28039,6 @@ export class MJConversationDetailRating_ {
28054
28039
  @MaxLength(10)
28055
28040
  _mj__UpdatedAt: Date;
28056
28041
 
28057
- @Field()
28058
- ConversationDetail: string;
28059
-
28060
28042
  @Field()
28061
28043
  @MaxLength(200)
28062
28044
  User: string;
@@ -28797,10 +28779,6 @@ export class MJConversation_ {
28797
28779
  @MaxLength(510)
28798
28780
  Project?: string;
28799
28781
 
28800
- @Field({nullable: true})
28801
- @MaxLength(510)
28802
- TestRun?: string;
28803
-
28804
28782
  @Field(() => [MJConversationDetail_])
28805
28783
  MJConversationDetails_ConversationIDArray: MJConversationDetail_[]; // Link to MJConversationDetails
28806
28784
 
@@ -32634,10 +32612,6 @@ export class MJDuplicateRunDetail_ {
32634
32612
  @MaxLength(10)
32635
32613
  _mj__UpdatedAt: Date;
32636
32614
 
32637
- @Field()
32638
- @MaxLength(510)
32639
- DuplicateRun: string;
32640
-
32641
32615
  @Field(() => [MJDuplicateRunDetailMatch_])
32642
32616
  MJDuplicateRunDetailMatches_DuplicateRunDetailIDArray: MJDuplicateRunDetailMatch_[]; // Link to MJDuplicateRunDetailMatches
32643
32617
 
@@ -33093,10 +33067,6 @@ export class MJEmployeeCompanyIntegration_ {
33093
33067
  @MaxLength(10)
33094
33068
  _mj__UpdatedAt: Date;
33095
33069
 
33096
- @Field({nullable: true})
33097
- @MaxLength(162)
33098
- Employee?: string;
33099
-
33100
33070
  @Field()
33101
33071
  @MaxLength(510)
33102
33072
  CompanyIntegration: string;
@@ -33261,10 +33231,6 @@ export class MJEmployeeRole_ {
33261
33231
  @MaxLength(10)
33262
33232
  _mj__UpdatedAt: Date;
33263
33233
 
33264
- @Field({nullable: true})
33265
- @MaxLength(162)
33266
- Employee?: string;
33267
-
33268
33234
  @Field()
33269
33235
  @MaxLength(100)
33270
33236
  Role: string;
@@ -33417,10 +33383,6 @@ export class MJEmployeeSkill_ {
33417
33383
  @MaxLength(10)
33418
33384
  _mj__UpdatedAt: Date;
33419
33385
 
33420
- @Field({nullable: true})
33421
- @MaxLength(162)
33422
- Employee?: string;
33423
-
33424
33386
  @Field()
33425
33387
  @MaxLength(100)
33426
33388
  Skill: string;
@@ -35878,13 +35840,6 @@ export class MJEntityActionFilter_ {
35878
35840
  @MaxLength(10)
35879
35841
  _mj__UpdatedAt: Date;
35880
35842
 
35881
- @Field()
35882
- @MaxLength(850)
35883
- EntityAction: string;
35884
-
35885
- @Field()
35886
- ActionFilter: string;
35887
-
35888
35843
  }
35889
35844
 
35890
35845
  //****************************************************************************
@@ -36219,10 +36174,6 @@ export class MJEntityActionInvocation_ {
36219
36174
  @MaxLength(10)
36220
36175
  _mj__UpdatedAt: Date;
36221
36176
 
36222
- @Field()
36223
- @MaxLength(850)
36224
- EntityAction: string;
36225
-
36226
36177
  @Field()
36227
36178
  @MaxLength(510)
36228
36179
  InvocationType: string;
@@ -36391,10 +36342,6 @@ export class MJEntityActionParam_ {
36391
36342
  @MaxLength(10)
36392
36343
  _mj__UpdatedAt: Date;
36393
36344
 
36394
- @Field()
36395
- @MaxLength(850)
36396
- EntityAction: string;
36397
-
36398
36345
  @Field()
36399
36346
  @MaxLength(510)
36400
36347
  ActionParam: string;
@@ -37047,10 +36994,6 @@ export class MJEntityCommunicationField_ {
37047
36994
  @MaxLength(10)
37048
36995
  _mj__UpdatedAt: Date;
37049
36996
 
37050
- @Field()
37051
- @MaxLength(200)
37052
- EntityCommunicationMessageType: string;
37053
-
37054
36997
  }
37055
36998
 
37056
36999
  //****************************************************************************
@@ -40484,14 +40427,6 @@ export class MJErrorLog_ {
40484
40427
  @MaxLength(10)
40485
40428
  _mj__UpdatedAt: Date;
40486
40429
 
40487
- @Field({nullable: true})
40488
- @MaxLength(200)
40489
- CompanyIntegrationRun?: string;
40490
-
40491
- @Field({nullable: true})
40492
- @MaxLength(900)
40493
- CompanyIntegrationRunDetail?: string;
40494
-
40495
40430
  }
40496
40431
 
40497
40432
  //****************************************************************************
@@ -44442,10 +44377,6 @@ export class MJMCPServerConnectionTool_ {
44442
44377
  @MaxLength(510)
44443
44378
  MCPServerConnection: string;
44444
44379
 
44445
- @Field({nullable: true})
44446
- @MaxLength(510)
44447
- MCPServerTool?: string;
44448
-
44449
44380
  }
44450
44381
 
44451
44382
  //****************************************************************************
@@ -45694,10 +45625,6 @@ export class MJMCPToolExecutionLog_ {
45694
45625
  @MaxLength(510)
45695
45626
  MCPServerConnection: string;
45696
45627
 
45697
- @Field({nullable: true})
45698
- @MaxLength(510)
45699
- MCPServerTool?: string;
45700
-
45701
45628
  @Field()
45702
45629
  @MaxLength(200)
45703
45630
  User: string;
@@ -46926,6 +46853,804 @@ export class MJOAuthTokenResolver extends ResolverBase {
46926
46853
 
46927
46854
  }
46928
46855
 
46856
+ //****************************************************************************
46857
+ // ENTITY CLASS for MJ: Open App Dependencies
46858
+ //****************************************************************************
46859
+ @ObjectType({ description: `Inter-app dependency relationships between installed Open Apps` })
46860
+ export class MJOpenAppDependency_ {
46861
+ @Field()
46862
+ @MaxLength(16)
46863
+ ID: string;
46864
+
46865
+ @Field()
46866
+ @MaxLength(16)
46867
+ OpenAppID: string;
46868
+
46869
+ @Field({description: `Name of the app that this app depends on (matches OpenApp.Name)`})
46870
+ @MaxLength(128)
46871
+ DependsOnAppName: string;
46872
+
46873
+ @Field({nullable: true})
46874
+ @MaxLength(16)
46875
+ DependsOnAppID?: string;
46876
+
46877
+ @Field({description: `Semver range specifying which versions of the dependency are acceptable (e.g. ^1.0.0)`})
46878
+ @MaxLength(200)
46879
+ VersionRange: string;
46880
+
46881
+ @Field({nullable: true, description: `Actual installed version of the dependency (NULL if not yet installed)`})
46882
+ @MaxLength(100)
46883
+ InstalledVersion?: string;
46884
+
46885
+ @Field({description: `Whether the dependency is satisfied: Satisfied, Missing, or Incompatible`})
46886
+ @MaxLength(40)
46887
+ Status: string;
46888
+
46889
+ @Field()
46890
+ @MaxLength(10)
46891
+ _mj__CreatedAt: Date;
46892
+
46893
+ @Field()
46894
+ @MaxLength(10)
46895
+ _mj__UpdatedAt: Date;
46896
+
46897
+ @Field()
46898
+ @MaxLength(128)
46899
+ OpenApp: string;
46900
+
46901
+ @Field({nullable: true})
46902
+ @MaxLength(128)
46903
+ DependsOnApp?: string;
46904
+
46905
+ }
46906
+
46907
+ //****************************************************************************
46908
+ // INPUT TYPE for MJ: Open App Dependencies
46909
+ //****************************************************************************
46910
+ @InputType()
46911
+ export class CreateMJOpenAppDependencyInput {
46912
+ @Field({ nullable: true })
46913
+ ID?: string;
46914
+
46915
+ @Field({ nullable: true })
46916
+ OpenAppID?: string;
46917
+
46918
+ @Field({ nullable: true })
46919
+ DependsOnAppName?: string;
46920
+
46921
+ @Field({ nullable: true })
46922
+ DependsOnAppID: string | null;
46923
+
46924
+ @Field({ nullable: true })
46925
+ VersionRange?: string;
46926
+
46927
+ @Field({ nullable: true })
46928
+ InstalledVersion: string | null;
46929
+
46930
+ @Field({ nullable: true })
46931
+ Status?: string;
46932
+ }
46933
+
46934
+
46935
+ //****************************************************************************
46936
+ // INPUT TYPE for MJ: Open App Dependencies
46937
+ //****************************************************************************
46938
+ @InputType()
46939
+ export class UpdateMJOpenAppDependencyInput {
46940
+ @Field()
46941
+ ID: string;
46942
+
46943
+ @Field({ nullable: true })
46944
+ OpenAppID?: string;
46945
+
46946
+ @Field({ nullable: true })
46947
+ DependsOnAppName?: string;
46948
+
46949
+ @Field({ nullable: true })
46950
+ DependsOnAppID?: string | null;
46951
+
46952
+ @Field({ nullable: true })
46953
+ VersionRange?: string;
46954
+
46955
+ @Field({ nullable: true })
46956
+ InstalledVersion?: string | null;
46957
+
46958
+ @Field({ nullable: true })
46959
+ Status?: string;
46960
+
46961
+ @Field(() => [KeyValuePairInput], { nullable: true })
46962
+ OldValues___?: KeyValuePairInput[];
46963
+ }
46964
+
46965
+ //****************************************************************************
46966
+ // RESOLVER for MJ: Open App Dependencies
46967
+ //****************************************************************************
46968
+ @ObjectType()
46969
+ export class RunMJOpenAppDependencyViewResult {
46970
+ @Field(() => [MJOpenAppDependency_])
46971
+ Results: MJOpenAppDependency_[];
46972
+
46973
+ @Field(() => String, {nullable: true})
46974
+ UserViewRunID?: string;
46975
+
46976
+ @Field(() => Int, {nullable: true})
46977
+ RowCount: number;
46978
+
46979
+ @Field(() => Int, {nullable: true})
46980
+ TotalRowCount: number;
46981
+
46982
+ @Field(() => Int, {nullable: true})
46983
+ ExecutionTime: number;
46984
+
46985
+ @Field({nullable: true})
46986
+ ErrorMessage?: string;
46987
+
46988
+ @Field(() => Boolean, {nullable: false})
46989
+ Success: boolean;
46990
+ }
46991
+
46992
+ @Resolver(MJOpenAppDependency_)
46993
+ export class MJOpenAppDependencyResolver extends ResolverBase {
46994
+ @Query(() => RunMJOpenAppDependencyViewResult)
46995
+ async RunMJOpenAppDependencyViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
46996
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
46997
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
46998
+ }
46999
+
47000
+ @Query(() => RunMJOpenAppDependencyViewResult)
47001
+ async RunMJOpenAppDependencyViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47002
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47003
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
47004
+ }
47005
+
47006
+ @Query(() => RunMJOpenAppDependencyViewResult)
47007
+ async RunMJOpenAppDependencyDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47008
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47009
+ input.EntityName = 'MJ: Open App Dependencies';
47010
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
47011
+ }
47012
+ @Query(() => MJOpenAppDependency_, { nullable: true })
47013
+ async MJOpenAppDependency(@Arg('ID', () => String) ID: string, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJOpenAppDependency_ | null> {
47014
+ this.CheckUserReadPermissions('MJ: Open App Dependencies', userPayload);
47015
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47016
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
47017
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenAppDependencies] WHERE [ID]='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open App Dependencies', userPayload, EntityPermissionType.Read, 'AND');
47018
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
47019
+ const result = await this.MapFieldNamesToCodeNames('MJ: Open App Dependencies', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
47020
+ return result;
47021
+ }
47022
+
47023
+ @Mutation(() => MJOpenAppDependency_)
47024
+ async CreateMJOpenAppDependency(
47025
+ @Arg('input', () => CreateMJOpenAppDependencyInput) input: CreateMJOpenAppDependencyInput,
47026
+ @Ctx() { providers, userPayload }: AppContext,
47027
+ @PubSub() pubSub: PubSubEngine
47028
+ ) {
47029
+ const provider = GetReadWriteProvider(providers);
47030
+ return this.CreateRecord('MJ: Open App Dependencies', input, provider, userPayload, pubSub)
47031
+ }
47032
+
47033
+ @Mutation(() => MJOpenAppDependency_)
47034
+ async UpdateMJOpenAppDependency(
47035
+ @Arg('input', () => UpdateMJOpenAppDependencyInput) input: UpdateMJOpenAppDependencyInput,
47036
+ @Ctx() { providers, userPayload }: AppContext,
47037
+ @PubSub() pubSub: PubSubEngine
47038
+ ) {
47039
+ const provider = GetReadWriteProvider(providers);
47040
+ return this.UpdateRecord('MJ: Open App Dependencies', input, provider, userPayload, pubSub);
47041
+ }
47042
+
47043
+ @Mutation(() => MJOpenAppDependency_)
47044
+ async DeleteMJOpenAppDependency(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47045
+ const provider = GetReadWriteProvider(providers);
47046
+ const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
47047
+ return this.DeleteRecord('MJ: Open App Dependencies', key, options, provider, userPayload, pubSub);
47048
+ }
47049
+
47050
+ }
47051
+
47052
+ //****************************************************************************
47053
+ // ENTITY CLASS for MJ: Open App Install Histories
47054
+ //****************************************************************************
47055
+ @ObjectType({ description: `Audit trail of every install, upgrade, and removal for Open Apps` })
47056
+ export class MJOpenAppInstallHistory_ {
47057
+ @Field()
47058
+ @MaxLength(16)
47059
+ ID: string;
47060
+
47061
+ @Field()
47062
+ @MaxLength(16)
47063
+ OpenAppID: string;
47064
+
47065
+ @Field({description: `Semver version that was installed or upgraded to in this operation`})
47066
+ @MaxLength(100)
47067
+ Version: string;
47068
+
47069
+ @Field({nullable: true, description: `Version that was installed before this operation (NULL for initial installs)`})
47070
+ @MaxLength(100)
47071
+ PreviousVersion?: string;
47072
+
47073
+ @Field({description: `Type of operation performed: Install, Upgrade, or Remove`})
47074
+ @MaxLength(40)
47075
+ Action: string;
47076
+
47077
+ @Field({description: `Snapshot of the mj-app.json manifest at the time of this operation`})
47078
+ ManifestJSON: string;
47079
+
47080
+ @Field({nullable: true, description: `Human-readable summary of what happened during this operation`})
47081
+ Summary?: string;
47082
+
47083
+ @Field()
47084
+ @MaxLength(16)
47085
+ ExecutedByUserID: string;
47086
+
47087
+ @Field(() => Int, {nullable: true, description: `Total wall-clock seconds the operation took to complete`})
47088
+ DurationSeconds?: number;
47089
+
47090
+ @Field({nullable: true, description: `Timestamp when the operation began`})
47091
+ @MaxLength(10)
47092
+ StartedAt?: Date;
47093
+
47094
+ @Field({nullable: true, description: `Timestamp when the operation completed (success or failure)`})
47095
+ @MaxLength(10)
47096
+ EndedAt?: Date;
47097
+
47098
+ @Field(() => Boolean, {description: `Whether the operation completed successfully (1) or failed (0)`})
47099
+ Success: boolean;
47100
+
47101
+ @Field({nullable: true, description: `Detailed error message if the operation failed`})
47102
+ ErrorMessage?: string;
47103
+
47104
+ @Field({nullable: true, description: `Which phase of the operation failed: Schema, Migration, Packages, Config, Hooks, or Record`})
47105
+ @MaxLength(100)
47106
+ ErrorPhase?: string;
47107
+
47108
+ @Field()
47109
+ @MaxLength(10)
47110
+ _mj__CreatedAt: Date;
47111
+
47112
+ @Field()
47113
+ @MaxLength(10)
47114
+ _mj__UpdatedAt: Date;
47115
+
47116
+ @Field()
47117
+ @MaxLength(128)
47118
+ OpenApp: string;
47119
+
47120
+ @Field()
47121
+ @MaxLength(200)
47122
+ ExecutedByUser: string;
47123
+
47124
+ }
47125
+
47126
+ //****************************************************************************
47127
+ // INPUT TYPE for MJ: Open App Install Histories
47128
+ //****************************************************************************
47129
+ @InputType()
47130
+ export class CreateMJOpenAppInstallHistoryInput {
47131
+ @Field({ nullable: true })
47132
+ ID?: string;
47133
+
47134
+ @Field({ nullable: true })
47135
+ OpenAppID?: string;
47136
+
47137
+ @Field({ nullable: true })
47138
+ Version?: string;
47139
+
47140
+ @Field({ nullable: true })
47141
+ PreviousVersion: string | null;
47142
+
47143
+ @Field({ nullable: true })
47144
+ Action?: string;
47145
+
47146
+ @Field({ nullable: true })
47147
+ ManifestJSON?: string;
47148
+
47149
+ @Field({ nullable: true })
47150
+ Summary: string | null;
47151
+
47152
+ @Field({ nullable: true })
47153
+ ExecutedByUserID?: string;
47154
+
47155
+ @Field(() => Int, { nullable: true })
47156
+ DurationSeconds: number | null;
47157
+
47158
+ @Field({ nullable: true })
47159
+ StartedAt: Date | null;
47160
+
47161
+ @Field({ nullable: true })
47162
+ EndedAt: Date | null;
47163
+
47164
+ @Field(() => Boolean, { nullable: true })
47165
+ Success?: boolean;
47166
+
47167
+ @Field({ nullable: true })
47168
+ ErrorMessage: string | null;
47169
+
47170
+ @Field({ nullable: true })
47171
+ ErrorPhase: string | null;
47172
+ }
47173
+
47174
+
47175
+ //****************************************************************************
47176
+ // INPUT TYPE for MJ: Open App Install Histories
47177
+ //****************************************************************************
47178
+ @InputType()
47179
+ export class UpdateMJOpenAppInstallHistoryInput {
47180
+ @Field()
47181
+ ID: string;
47182
+
47183
+ @Field({ nullable: true })
47184
+ OpenAppID?: string;
47185
+
47186
+ @Field({ nullable: true })
47187
+ Version?: string;
47188
+
47189
+ @Field({ nullable: true })
47190
+ PreviousVersion?: string | null;
47191
+
47192
+ @Field({ nullable: true })
47193
+ Action?: string;
47194
+
47195
+ @Field({ nullable: true })
47196
+ ManifestJSON?: string;
47197
+
47198
+ @Field({ nullable: true })
47199
+ Summary?: string | null;
47200
+
47201
+ @Field({ nullable: true })
47202
+ ExecutedByUserID?: string;
47203
+
47204
+ @Field(() => Int, { nullable: true })
47205
+ DurationSeconds?: number | null;
47206
+
47207
+ @Field({ nullable: true })
47208
+ StartedAt?: Date | null;
47209
+
47210
+ @Field({ nullable: true })
47211
+ EndedAt?: Date | null;
47212
+
47213
+ @Field(() => Boolean, { nullable: true })
47214
+ Success?: boolean;
47215
+
47216
+ @Field({ nullable: true })
47217
+ ErrorMessage?: string | null;
47218
+
47219
+ @Field({ nullable: true })
47220
+ ErrorPhase?: string | null;
47221
+
47222
+ @Field(() => [KeyValuePairInput], { nullable: true })
47223
+ OldValues___?: KeyValuePairInput[];
47224
+ }
47225
+
47226
+ //****************************************************************************
47227
+ // RESOLVER for MJ: Open App Install Histories
47228
+ //****************************************************************************
47229
+ @ObjectType()
47230
+ export class RunMJOpenAppInstallHistoryViewResult {
47231
+ @Field(() => [MJOpenAppInstallHistory_])
47232
+ Results: MJOpenAppInstallHistory_[];
47233
+
47234
+ @Field(() => String, {nullable: true})
47235
+ UserViewRunID?: string;
47236
+
47237
+ @Field(() => Int, {nullable: true})
47238
+ RowCount: number;
47239
+
47240
+ @Field(() => Int, {nullable: true})
47241
+ TotalRowCount: number;
47242
+
47243
+ @Field(() => Int, {nullable: true})
47244
+ ExecutionTime: number;
47245
+
47246
+ @Field({nullable: true})
47247
+ ErrorMessage?: string;
47248
+
47249
+ @Field(() => Boolean, {nullable: false})
47250
+ Success: boolean;
47251
+ }
47252
+
47253
+ @Resolver(MJOpenAppInstallHistory_)
47254
+ export class MJOpenAppInstallHistoryResolver extends ResolverBase {
47255
+ @Query(() => RunMJOpenAppInstallHistoryViewResult)
47256
+ async RunMJOpenAppInstallHistoryViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47257
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47258
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
47259
+ }
47260
+
47261
+ @Query(() => RunMJOpenAppInstallHistoryViewResult)
47262
+ async RunMJOpenAppInstallHistoryViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47263
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47264
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
47265
+ }
47266
+
47267
+ @Query(() => RunMJOpenAppInstallHistoryViewResult)
47268
+ async RunMJOpenAppInstallHistoryDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47269
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47270
+ input.EntityName = 'MJ: Open App Install Histories';
47271
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
47272
+ }
47273
+ @Query(() => MJOpenAppInstallHistory_, { nullable: true })
47274
+ async MJOpenAppInstallHistory(@Arg('ID', () => String) ID: string, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJOpenAppInstallHistory_ | null> {
47275
+ this.CheckUserReadPermissions('MJ: Open App Install Histories', userPayload);
47276
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47277
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
47278
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenAppInstallHistories] WHERE [ID]='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open App Install Histories', userPayload, EntityPermissionType.Read, 'AND');
47279
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
47280
+ const result = await this.MapFieldNamesToCodeNames('MJ: Open App Install Histories', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
47281
+ return result;
47282
+ }
47283
+
47284
+ @Mutation(() => MJOpenAppInstallHistory_)
47285
+ async CreateMJOpenAppInstallHistory(
47286
+ @Arg('input', () => CreateMJOpenAppInstallHistoryInput) input: CreateMJOpenAppInstallHistoryInput,
47287
+ @Ctx() { providers, userPayload }: AppContext,
47288
+ @PubSub() pubSub: PubSubEngine
47289
+ ) {
47290
+ const provider = GetReadWriteProvider(providers);
47291
+ return this.CreateRecord('MJ: Open App Install Histories', input, provider, userPayload, pubSub)
47292
+ }
47293
+
47294
+ @Mutation(() => MJOpenAppInstallHistory_)
47295
+ async UpdateMJOpenAppInstallHistory(
47296
+ @Arg('input', () => UpdateMJOpenAppInstallHistoryInput) input: UpdateMJOpenAppInstallHistoryInput,
47297
+ @Ctx() { providers, userPayload }: AppContext,
47298
+ @PubSub() pubSub: PubSubEngine
47299
+ ) {
47300
+ const provider = GetReadWriteProvider(providers);
47301
+ return this.UpdateRecord('MJ: Open App Install Histories', input, provider, userPayload, pubSub);
47302
+ }
47303
+
47304
+ @Mutation(() => MJOpenAppInstallHistory_)
47305
+ async DeleteMJOpenAppInstallHistory(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47306
+ const provider = GetReadWriteProvider(providers);
47307
+ const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
47308
+ return this.DeleteRecord('MJ: Open App Install Histories', key, options, provider, userPayload, pubSub);
47309
+ }
47310
+
47311
+ }
47312
+
47313
+ //****************************************************************************
47314
+ // ENTITY CLASS for MJ: Open Apps
47315
+ //****************************************************************************
47316
+ @ObjectType({ description: `Tracks all MJ Open Apps installed in this instance` })
47317
+ export class MJOpenApp_ {
47318
+ @Field()
47319
+ @MaxLength(16)
47320
+ ID: string;
47321
+
47322
+ @Field({description: `Unique lowercase identifier for the app (e.g. acme-crm). Must contain only lowercase letters, digits, and hyphens.`})
47323
+ @MaxLength(128)
47324
+ Name: string;
47325
+
47326
+ @Field({description: `Human-readable display name shown in the UI (e.g. Acme CRM)`})
47327
+ @MaxLength(400)
47328
+ DisplayName: string;
47329
+
47330
+ @Field({nullable: true, description: `Optional long description of what this app does`})
47331
+ Description?: string;
47332
+
47333
+ @Field({description: `Currently installed semver version string (e.g. 1.2.3)`})
47334
+ @MaxLength(100)
47335
+ Version: string;
47336
+
47337
+ @Field({description: `Name of the organization or individual who published the app`})
47338
+ @MaxLength(400)
47339
+ Publisher: string;
47340
+
47341
+ @Field({nullable: true, description: `Optional contact email for the publisher`})
47342
+ @MaxLength(510)
47343
+ PublisherEmail?: string;
47344
+
47345
+ @Field({nullable: true, description: `Optional website URL for the publisher`})
47346
+ @MaxLength(1000)
47347
+ PublisherURL?: string;
47348
+
47349
+ @Field({description: `GitHub repository URL where this app is hosted`})
47350
+ @MaxLength(1000)
47351
+ RepositoryURL: string;
47352
+
47353
+ @Field({nullable: true, description: `Database schema name used by this app for its tables and objects. Unique per instance.`})
47354
+ @MaxLength(256)
47355
+ SchemaName?: string;
47356
+
47357
+ @Field({description: `Semver range specifying which MJ versions this app is compatible with (e.g. >=4.0.0 <5.0.0)`})
47358
+ @MaxLength(200)
47359
+ MJVersionRange: string;
47360
+
47361
+ @Field({nullable: true, description: `SPDX license identifier for this app (e.g. MIT, Apache-2.0)`})
47362
+ @MaxLength(100)
47363
+ License?: string;
47364
+
47365
+ @Field({nullable: true, description: `Optional icon identifier (e.g. Font Awesome class) for UI display`})
47366
+ @MaxLength(200)
47367
+ Icon?: string;
47368
+
47369
+ @Field({nullable: true, description: `Optional hex color code for branding in the UI (e.g. #FF5733)`})
47370
+ @MaxLength(40)
47371
+ Color?: string;
47372
+
47373
+ @Field({description: `Full mj-app.json manifest stored as JSON for the currently installed version`})
47374
+ ManifestJSON: string;
47375
+
47376
+ @Field({nullable: true, description: `Optional JSON Schema defining the configuration options this app accepts`})
47377
+ ConfigurationSchemaJSON?: string;
47378
+
47379
+ @Field()
47380
+ @MaxLength(16)
47381
+ InstalledByUserID: string;
47382
+
47383
+ @Field({description: `Current lifecycle status of the app: Active, Disabled, Error, Installing, Upgrading, Removing, or Removed`})
47384
+ @MaxLength(40)
47385
+ Status: string;
47386
+
47387
+ @Field()
47388
+ @MaxLength(10)
47389
+ _mj__CreatedAt: Date;
47390
+
47391
+ @Field()
47392
+ @MaxLength(10)
47393
+ _mj__UpdatedAt: Date;
47394
+
47395
+ @Field()
47396
+ @MaxLength(200)
47397
+ InstalledByUser: string;
47398
+
47399
+ @Field(() => [MJOpenAppDependency_])
47400
+ MJOpenAppDependencies_DependsOnAppIDArray: MJOpenAppDependency_[]; // Link to MJOpenAppDependencies
47401
+
47402
+ @Field(() => [MJOpenAppInstallHistory_])
47403
+ MJOpenAppInstallHistories_OpenAppIDArray: MJOpenAppInstallHistory_[]; // Link to MJOpenAppInstallHistories
47404
+
47405
+ @Field(() => [MJOpenAppDependency_])
47406
+ MJOpenAppDependencies_OpenAppIDArray: MJOpenAppDependency_[]; // Link to MJOpenAppDependencies
47407
+
47408
+ }
47409
+
47410
+ //****************************************************************************
47411
+ // INPUT TYPE for MJ: Open Apps
47412
+ //****************************************************************************
47413
+ @InputType()
47414
+ export class CreateMJOpenAppInput {
47415
+ @Field({ nullable: true })
47416
+ ID?: string;
47417
+
47418
+ @Field({ nullable: true })
47419
+ Name?: string;
47420
+
47421
+ @Field({ nullable: true })
47422
+ DisplayName?: string;
47423
+
47424
+ @Field({ nullable: true })
47425
+ Description: string | null;
47426
+
47427
+ @Field({ nullable: true })
47428
+ Version?: string;
47429
+
47430
+ @Field({ nullable: true })
47431
+ Publisher?: string;
47432
+
47433
+ @Field({ nullable: true })
47434
+ PublisherEmail: string | null;
47435
+
47436
+ @Field({ nullable: true })
47437
+ PublisherURL: string | null;
47438
+
47439
+ @Field({ nullable: true })
47440
+ RepositoryURL?: string;
47441
+
47442
+ @Field({ nullable: true })
47443
+ SchemaName: string | null;
47444
+
47445
+ @Field({ nullable: true })
47446
+ MJVersionRange?: string;
47447
+
47448
+ @Field({ nullable: true })
47449
+ License: string | null;
47450
+
47451
+ @Field({ nullable: true })
47452
+ Icon: string | null;
47453
+
47454
+ @Field({ nullable: true })
47455
+ Color: string | null;
47456
+
47457
+ @Field({ nullable: true })
47458
+ ManifestJSON?: string;
47459
+
47460
+ @Field({ nullable: true })
47461
+ ConfigurationSchemaJSON: string | null;
47462
+
47463
+ @Field({ nullable: true })
47464
+ InstalledByUserID?: string;
47465
+
47466
+ @Field({ nullable: true })
47467
+ Status?: string;
47468
+ }
47469
+
47470
+
47471
+ //****************************************************************************
47472
+ // INPUT TYPE for MJ: Open Apps
47473
+ //****************************************************************************
47474
+ @InputType()
47475
+ export class UpdateMJOpenAppInput {
47476
+ @Field()
47477
+ ID: string;
47478
+
47479
+ @Field({ nullable: true })
47480
+ Name?: string;
47481
+
47482
+ @Field({ nullable: true })
47483
+ DisplayName?: string;
47484
+
47485
+ @Field({ nullable: true })
47486
+ Description?: string | null;
47487
+
47488
+ @Field({ nullable: true })
47489
+ Version?: string;
47490
+
47491
+ @Field({ nullable: true })
47492
+ Publisher?: string;
47493
+
47494
+ @Field({ nullable: true })
47495
+ PublisherEmail?: string | null;
47496
+
47497
+ @Field({ nullable: true })
47498
+ PublisherURL?: string | null;
47499
+
47500
+ @Field({ nullable: true })
47501
+ RepositoryURL?: string;
47502
+
47503
+ @Field({ nullable: true })
47504
+ SchemaName?: string | null;
47505
+
47506
+ @Field({ nullable: true })
47507
+ MJVersionRange?: string;
47508
+
47509
+ @Field({ nullable: true })
47510
+ License?: string | null;
47511
+
47512
+ @Field({ nullable: true })
47513
+ Icon?: string | null;
47514
+
47515
+ @Field({ nullable: true })
47516
+ Color?: string | null;
47517
+
47518
+ @Field({ nullable: true })
47519
+ ManifestJSON?: string;
47520
+
47521
+ @Field({ nullable: true })
47522
+ ConfigurationSchemaJSON?: string | null;
47523
+
47524
+ @Field({ nullable: true })
47525
+ InstalledByUserID?: string;
47526
+
47527
+ @Field({ nullable: true })
47528
+ Status?: string;
47529
+
47530
+ @Field(() => [KeyValuePairInput], { nullable: true })
47531
+ OldValues___?: KeyValuePairInput[];
47532
+ }
47533
+
47534
+ //****************************************************************************
47535
+ // RESOLVER for MJ: Open Apps
47536
+ //****************************************************************************
47537
+ @ObjectType()
47538
+ export class RunMJOpenAppViewResult {
47539
+ @Field(() => [MJOpenApp_])
47540
+ Results: MJOpenApp_[];
47541
+
47542
+ @Field(() => String, {nullable: true})
47543
+ UserViewRunID?: string;
47544
+
47545
+ @Field(() => Int, {nullable: true})
47546
+ RowCount: number;
47547
+
47548
+ @Field(() => Int, {nullable: true})
47549
+ TotalRowCount: number;
47550
+
47551
+ @Field(() => Int, {nullable: true})
47552
+ ExecutionTime: number;
47553
+
47554
+ @Field({nullable: true})
47555
+ ErrorMessage?: string;
47556
+
47557
+ @Field(() => Boolean, {nullable: false})
47558
+ Success: boolean;
47559
+ }
47560
+
47561
+ @Resolver(MJOpenApp_)
47562
+ export class MJOpenAppResolver extends ResolverBase {
47563
+ @Query(() => RunMJOpenAppViewResult)
47564
+ async RunMJOpenAppViewByID(@Arg('input', () => RunViewByIDInput) input: RunViewByIDInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47565
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47566
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
47567
+ }
47568
+
47569
+ @Query(() => RunMJOpenAppViewResult)
47570
+ async RunMJOpenAppViewByName(@Arg('input', () => RunViewByNameInput) input: RunViewByNameInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47571
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47572
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
47573
+ }
47574
+
47575
+ @Query(() => RunMJOpenAppViewResult)
47576
+ async RunMJOpenAppDynamicView(@Arg('input', () => RunDynamicViewInput) input: RunDynamicViewInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47577
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47578
+ input.EntityName = 'MJ: Open Apps';
47579
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
47580
+ }
47581
+ @Query(() => MJOpenApp_, { nullable: true })
47582
+ async MJOpenApp(@Arg('ID', () => String) ID: string, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine): Promise<MJOpenApp_ | null> {
47583
+ this.CheckUserReadPermissions('MJ: Open Apps', userPayload);
47584
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47585
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
47586
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenApps] WHERE [ID]='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open Apps', userPayload, EntityPermissionType.Read, 'AND');
47587
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
47588
+ const result = await this.MapFieldNamesToCodeNames('MJ: Open Apps', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
47589
+ return result;
47590
+ }
47591
+
47592
+ @FieldResolver(() => [MJOpenAppDependency_])
47593
+ async MJOpenAppDependencies_DependsOnAppIDArray(@Root() mjopenapp_: MJOpenApp_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
47594
+ this.CheckUserReadPermissions('MJ: Open App Dependencies', userPayload);
47595
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47596
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
47597
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenAppDependencies] WHERE [DependsOnAppID]='${mjopenapp_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open App Dependencies', userPayload, EntityPermissionType.Read, 'AND');
47598
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
47599
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open App Dependencies', rows, this.GetUserFromPayload(userPayload));
47600
+ return result;
47601
+ }
47602
+
47603
+ @FieldResolver(() => [MJOpenAppInstallHistory_])
47604
+ async MJOpenAppInstallHistories_OpenAppIDArray(@Root() mjopenapp_: MJOpenApp_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
47605
+ this.CheckUserReadPermissions('MJ: Open App Install Histories', userPayload);
47606
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47607
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
47608
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenAppInstallHistories] WHERE [OpenAppID]='${mjopenapp_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open App Install Histories', userPayload, EntityPermissionType.Read, 'AND');
47609
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
47610
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open App Install Histories', rows, this.GetUserFromPayload(userPayload));
47611
+ return result;
47612
+ }
47613
+
47614
+ @FieldResolver(() => [MJOpenAppDependency_])
47615
+ async MJOpenAppDependencies_OpenAppIDArray(@Root() mjopenapp_: MJOpenApp_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
47616
+ this.CheckUserReadPermissions('MJ: Open App Dependencies', userPayload);
47617
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
47618
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
47619
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenAppDependencies] WHERE [OpenAppID]='${mjopenapp_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open App Dependencies', userPayload, EntityPermissionType.Read, 'AND');
47620
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
47621
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open App Dependencies', rows, this.GetUserFromPayload(userPayload));
47622
+ return result;
47623
+ }
47624
+
47625
+ @Mutation(() => MJOpenApp_)
47626
+ async CreateMJOpenApp(
47627
+ @Arg('input', () => CreateMJOpenAppInput) input: CreateMJOpenAppInput,
47628
+ @Ctx() { providers, userPayload }: AppContext,
47629
+ @PubSub() pubSub: PubSubEngine
47630
+ ) {
47631
+ const provider = GetReadWriteProvider(providers);
47632
+ return this.CreateRecord('MJ: Open Apps', input, provider, userPayload, pubSub)
47633
+ }
47634
+
47635
+ @Mutation(() => MJOpenApp_)
47636
+ async UpdateMJOpenApp(
47637
+ @Arg('input', () => UpdateMJOpenAppInput) input: UpdateMJOpenAppInput,
47638
+ @Ctx() { providers, userPayload }: AppContext,
47639
+ @PubSub() pubSub: PubSubEngine
47640
+ ) {
47641
+ const provider = GetReadWriteProvider(providers);
47642
+ return this.UpdateRecord('MJ: Open Apps', input, provider, userPayload, pubSub);
47643
+ }
47644
+
47645
+ @Mutation(() => MJOpenApp_)
47646
+ async DeleteMJOpenApp(@Arg('ID', () => String) ID: string, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { providers, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
47647
+ const provider = GetReadWriteProvider(providers);
47648
+ const key = new CompositeKey([{FieldName: 'ID', Value: ID}]);
47649
+ return this.DeleteRecord('MJ: Open Apps', key, options, provider, userPayload, pubSub);
47650
+ }
47651
+
47652
+ }
47653
+
46929
47654
  //****************************************************************************
46930
47655
  // ENTITY CLASS for MJ: Output Delivery Types
46931
47656
  //****************************************************************************
@@ -50079,9 +50804,6 @@ export class MJRecommendationItem_ {
50079
50804
  @MaxLength(10)
50080
50805
  _mj__UpdatedAt: Date;
50081
50806
 
50082
- @Field()
50083
- Recommendation: string;
50084
-
50085
50807
  @Field()
50086
50808
  @MaxLength(510)
50087
50809
  DestinationEntity: string;
@@ -50619,10 +51341,6 @@ export class MJRecommendation_ {
50619
51341
  @MaxLength(10)
50620
51342
  _mj__UpdatedAt: Date;
50621
51343
 
50622
- @Field()
50623
- @MaxLength(510)
50624
- RecommendationRun: string;
50625
-
50626
51344
  @Field()
50627
51345
  @MaxLength(510)
50628
51346
  SourceEntity: string;
@@ -51032,10 +51750,6 @@ export class MJRecordChange_ {
51032
51750
  @MaxLength(200)
51033
51751
  User: string;
51034
51752
 
51035
- @Field({nullable: true})
51036
- @MaxLength(200)
51037
- ReplayRun?: string;
51038
-
51039
51753
  @Field({nullable: true})
51040
51754
  @MaxLength(200)
51041
51755
  Integration?: string;
@@ -51485,10 +52199,6 @@ export class MJRecordMergeDeletionLog_ {
51485
52199
  @MaxLength(10)
51486
52200
  _mj__UpdatedAt: Date;
51487
52201
 
51488
- @Field()
51489
- @MaxLength(900)
51490
- RecordMergeLog: string;
51491
-
51492
52202
  }
51493
52203
 
51494
52204
  //****************************************************************************
@@ -52709,9 +53419,6 @@ export class MJReport_ {
52709
53419
  @MaxLength(510)
52710
53420
  Conversation?: string;
52711
53421
 
52712
- @Field({nullable: true})
52713
- ConversationDetail?: string;
52714
-
52715
53422
  @Field({nullable: true})
52716
53423
  @MaxLength(510)
52717
53424
  DataContext?: string;
@@ -56594,9 +57301,6 @@ export class MJTask_ {
56594
57301
  @MaxLength(510)
56595
57302
  Project?: string;
56596
57303
 
56597
- @Field({nullable: true})
56598
- ConversationDetail?: string;
56599
-
56600
57304
  @Field({nullable: true})
56601
57305
  @MaxLength(200)
56602
57306
  User?: string;
@@ -57493,10 +58197,6 @@ export class MJTemplateParam_ {
57493
58197
  @MaxLength(510)
57494
58198
  Entity?: string;
57495
58199
 
57496
- @Field({nullable: true})
57497
- @MaxLength(510)
57498
- TemplateContent?: string;
57499
-
57500
58200
  }
57501
58201
 
57502
58202
  //****************************************************************************
@@ -63173,6 +63873,12 @@ export class MJUser_ {
63173
63873
  @Field(() => [MJOAuthAuthorizationState_])
63174
63874
  MJOAuthAuthorizationStates_UserIDArray: MJOAuthAuthorizationState_[]; // Link to MJOAuthAuthorizationStates
63175
63875
 
63876
+ @Field(() => [MJOpenAppInstallHistory_])
63877
+ MJOpenAppInstallHistories_ExecutedByUserIDArray: MJOpenAppInstallHistory_[]; // Link to MJOpenAppInstallHistories
63878
+
63879
+ @Field(() => [MJOpenApp_])
63880
+ MJOpenApps_InstalledByUserIDArray: MJOpenApp_[]; // Link to MJOpenApps
63881
+
63176
63882
  @Field(() => [MJResourcePermission_])
63177
63883
  MJResourcePermissions_UserIDArray: MJResourcePermission_[]; // Link to MJResourcePermissions
63178
63884
 
@@ -64045,6 +64751,28 @@ export class MJUserResolverBase extends ResolverBase {
64045
64751
  return result;
64046
64752
  }
64047
64753
 
64754
+ @FieldResolver(() => [MJOpenAppInstallHistory_])
64755
+ async MJOpenAppInstallHistories_ExecutedByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
64756
+ this.CheckUserReadPermissions('MJ: Open App Install Histories', userPayload);
64757
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
64758
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
64759
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenAppInstallHistories] WHERE [ExecutedByUserID]='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open App Install Histories', userPayload, EntityPermissionType.Read, 'AND');
64760
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
64761
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open App Install Histories', rows, this.GetUserFromPayload(userPayload));
64762
+ return result;
64763
+ }
64764
+
64765
+ @FieldResolver(() => [MJOpenApp_])
64766
+ async MJOpenApps_InstalledByUserIDArray(@Root() mjuser_: MJUser_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
64767
+ this.CheckUserReadPermissions('MJ: Open Apps', userPayload);
64768
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
64769
+ const connPool = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: true });
64770
+ const sSQL = `SELECT * FROM [${Metadata.Provider.ConfigData.MJCoreSchemaName}].[vwOpenApps] WHERE [InstalledByUserID]='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Open Apps', userPayload, EntityPermissionType.Read, 'AND');
64771
+ const rows = await SQLServerDataProvider.ExecuteSQLWithPool(connPool, sSQL, undefined, this.GetUserFromPayload(userPayload));
64772
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open Apps', rows, this.GetUserFromPayload(userPayload));
64773
+ return result;
64774
+ }
64775
+
64048
64776
  @FieldResolver(() => [MJResourcePermission_])
64049
64777
  async MJResourcePermissions_UserIDArray(@Root() mjuser_: MJUser_, @Ctx() { dataSources, userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
64050
64778
  this.CheckUserReadPermissions('MJ: Resource Permissions', userPayload);