@memberjunction/server 5.8.0 → 5.10.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 (91) hide show
  1. package/README.md +1 -0
  2. package/dist/agents/skip-agent.d.ts.map +1 -1
  3. package/dist/agents/skip-agent.js +1 -0
  4. package/dist/agents/skip-agent.js.map +1 -1
  5. package/dist/agents/skip-sdk.d.ts +6 -0
  6. package/dist/agents/skip-sdk.d.ts.map +1 -1
  7. package/dist/agents/skip-sdk.js +5 -3
  8. package/dist/agents/skip-sdk.js.map +1 -1
  9. package/dist/apolloServer/index.d.ts +10 -2
  10. package/dist/apolloServer/index.d.ts.map +1 -1
  11. package/dist/apolloServer/index.js +22 -8
  12. package/dist/apolloServer/index.js.map +1 -1
  13. package/dist/config.d.ts +125 -0
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +23 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/context.d.ts +17 -0
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +144 -62
  20. package/dist/context.js.map +1 -1
  21. package/dist/generated/generated.d.ts +210 -0
  22. package/dist/generated/generated.d.ts.map +1 -1
  23. package/dist/generated/generated.js +1049 -0
  24. package/dist/generated/generated.js.map +1 -1
  25. package/dist/generic/CacheInvalidationResolver.d.ts +32 -0
  26. package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -0
  27. package/dist/generic/CacheInvalidationResolver.js +80 -0
  28. package/dist/generic/CacheInvalidationResolver.js.map +1 -0
  29. package/dist/generic/PubSubManager.d.ts +27 -0
  30. package/dist/generic/PubSubManager.d.ts.map +1 -0
  31. package/dist/generic/PubSubManager.js +41 -0
  32. package/dist/generic/PubSubManager.js.map +1 -0
  33. package/dist/generic/ResolverBase.d.ts +14 -0
  34. package/dist/generic/ResolverBase.d.ts.map +1 -1
  35. package/dist/generic/ResolverBase.js +66 -4
  36. package/dist/generic/ResolverBase.js.map +1 -1
  37. package/dist/hooks.d.ts +65 -0
  38. package/dist/hooks.d.ts.map +1 -0
  39. package/dist/hooks.js +14 -0
  40. package/dist/hooks.js.map +1 -0
  41. package/dist/index.d.ts +7 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +173 -45
  44. package/dist/index.js.map +1 -1
  45. package/dist/multiTenancy/index.d.ts +47 -0
  46. package/dist/multiTenancy/index.d.ts.map +1 -0
  47. package/dist/multiTenancy/index.js +152 -0
  48. package/dist/multiTenancy/index.js.map +1 -0
  49. package/dist/resolvers/CurrentUserContextResolver.d.ts +18 -0
  50. package/dist/resolvers/CurrentUserContextResolver.d.ts.map +1 -0
  51. package/dist/resolvers/CurrentUserContextResolver.js +54 -0
  52. package/dist/resolvers/CurrentUserContextResolver.js.map +1 -0
  53. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +123 -0
  54. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -0
  55. package/dist/resolvers/IntegrationDiscoveryResolver.js +624 -0
  56. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -0
  57. package/dist/rest/RESTEndpointHandler.d.ts +3 -1
  58. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  59. package/dist/rest/RESTEndpointHandler.js +14 -33
  60. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  61. package/dist/test-dynamic-plugin.d.ts +6 -0
  62. package/dist/test-dynamic-plugin.d.ts.map +1 -0
  63. package/dist/test-dynamic-plugin.js +18 -0
  64. package/dist/test-dynamic-plugin.js.map +1 -0
  65. package/dist/types.d.ts +9 -0
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/types.js.map +1 -1
  68. package/package.json +61 -57
  69. package/src/__tests__/bcsaas-integration.test.ts +455 -0
  70. package/src/__tests__/middleware-integration.test.ts +877 -0
  71. package/src/__tests__/mjapi-bootstrap.test.ts +29 -0
  72. package/src/__tests__/multiTenancy.security.test.ts +334 -0
  73. package/src/__tests__/multiTenancy.test.ts +225 -0
  74. package/src/__tests__/unifiedAuth.test.ts +416 -0
  75. package/src/agents/skip-agent.ts +1 -0
  76. package/src/agents/skip-sdk.ts +13 -3
  77. package/src/apolloServer/index.ts +32 -16
  78. package/src/config.ts +25 -0
  79. package/src/context.ts +205 -98
  80. package/src/generated/generated.ts +746 -1
  81. package/src/generic/CacheInvalidationResolver.ts +66 -0
  82. package/src/generic/PubSubManager.ts +46 -0
  83. package/src/generic/ResolverBase.ts +70 -4
  84. package/src/hooks.ts +77 -0
  85. package/src/index.ts +199 -49
  86. package/src/multiTenancy/index.ts +183 -0
  87. package/src/resolvers/CurrentUserContextResolver.ts +39 -0
  88. package/src/resolvers/IntegrationDiscoveryResolver.ts +584 -0
  89. package/src/rest/RESTEndpointHandler.ts +23 -42
  90. package/src/test-dynamic-plugin.ts +36 -0
  91. package/src/types.ts +10 -0
@@ -9520,6 +9520,11 @@ __decorate([
9520
9520
  Field({ nullable: true, description: `JSON object containing additional scope dimensions beyond the primary scope. Example: {"ContactID":"abc-123","TeamID":"team-456"}` }),
9521
9521
  __metadata("design:type", String)
9522
9522
  ], MJAIAgentRun_.prototype, "SecondaryScopes", void 0);
9523
+ __decorate([
9524
+ Field({ nullable: true, description: `Optional reference ID from an external system that initiated this agent run. Enables correlation between the caller's agent run and this execution. For example, when Skip SaaS is called via SkipProxyAgent, this stores the MJ-side Agent Run ID.` }),
9525
+ MaxLength(200),
9526
+ __metadata("design:type", String)
9527
+ ], MJAIAgentRun_.prototype, "ExternalReferenceID", void 0);
9523
9528
  __decorate([
9524
9529
  Field({ nullable: true }),
9525
9530
  MaxLength(255),
@@ -9794,6 +9799,10 @@ __decorate([
9794
9799
  Field({ nullable: true }),
9795
9800
  __metadata("design:type", String)
9796
9801
  ], CreateMJAIAgentRunInput.prototype, "SecondaryScopes", void 0);
9802
+ __decorate([
9803
+ Field({ nullable: true }),
9804
+ __metadata("design:type", String)
9805
+ ], CreateMJAIAgentRunInput.prototype, "ExternalReferenceID", void 0);
9797
9806
  CreateMJAIAgentRunInput = __decorate([
9798
9807
  InputType()
9799
9808
  ], CreateMJAIAgentRunInput);
@@ -9971,6 +9980,10 @@ __decorate([
9971
9980
  Field({ nullable: true }),
9972
9981
  __metadata("design:type", String)
9973
9982
  ], UpdateMJAIAgentRunInput.prototype, "SecondaryScopes", void 0);
9983
+ __decorate([
9984
+ Field({ nullable: true }),
9985
+ __metadata("design:type", String)
9986
+ ], UpdateMJAIAgentRunInput.prototype, "ExternalReferenceID", void 0);
9974
9987
  __decorate([
9975
9988
  Field(() => [KeyValuePairInput], { nullable: true }),
9976
9989
  __metadata("design:type", Array)
@@ -34557,6 +34570,49 @@ __decorate([
34557
34570
  MaxLength(36),
34558
34571
  __metadata("design:type", String)
34559
34572
  ], MJCompanyIntegration_.prototype, "CredentialID", void 0);
34573
+ __decorate([
34574
+ Field(() => Boolean, { description: `Whether automatic sync scheduling is enabled for this integration` }),
34575
+ __metadata("design:type", Boolean)
34576
+ ], MJCompanyIntegration_.prototype, "ScheduleEnabled", void 0);
34577
+ __decorate([
34578
+ Field({ description: `Type of schedule: Manual (no auto-sync), Interval (every N minutes), Cron (cron expression)` }),
34579
+ MaxLength(20),
34580
+ __metadata("design:type", String)
34581
+ ], MJCompanyIntegration_.prototype, "ScheduleType", void 0);
34582
+ __decorate([
34583
+ Field(() => Int, { nullable: true, description: `Interval in minutes for Interval schedule type` }),
34584
+ __metadata("design:type", Number)
34585
+ ], MJCompanyIntegration_.prototype, "ScheduleIntervalMinutes", void 0);
34586
+ __decorate([
34587
+ Field({ nullable: true, description: `Cron expression for Cron schedule type (e.g., "0 */6 * * *" for every 6 hours)` }),
34588
+ MaxLength(200),
34589
+ __metadata("design:type", String)
34590
+ ], MJCompanyIntegration_.prototype, "CronExpression", void 0);
34591
+ __decorate([
34592
+ Field({ nullable: true, description: `When the next scheduled sync should run. Updated after each run based on schedule config.` }),
34593
+ __metadata("design:type", Date)
34594
+ ], MJCompanyIntegration_.prototype, "NextScheduledRunAt", void 0);
34595
+ __decorate([
34596
+ Field({ nullable: true, description: `When the last scheduled sync was initiated` }),
34597
+ __metadata("design:type", Date)
34598
+ ], MJCompanyIntegration_.prototype, "LastScheduledRunAt", void 0);
34599
+ __decorate([
34600
+ Field(() => Boolean, { description: `Whether a sync is currently locked/running for this integration` }),
34601
+ __metadata("design:type", Boolean)
34602
+ ], MJCompanyIntegration_.prototype, "IsLocked", void 0);
34603
+ __decorate([
34604
+ Field({ nullable: true, description: `When the lock was acquired` }),
34605
+ __metadata("design:type", Date)
34606
+ ], MJCompanyIntegration_.prototype, "LockedAt", void 0);
34607
+ __decorate([
34608
+ Field({ nullable: true, description: `Server instance identifier that holds the lock (hostname-pid)` }),
34609
+ MaxLength(200),
34610
+ __metadata("design:type", String)
34611
+ ], MJCompanyIntegration_.prototype, "LockedByInstance", void 0);
34612
+ __decorate([
34613
+ Field({ nullable: true, description: `When the lock should be considered stale and eligible for cleanup` }),
34614
+ __metadata("design:type", Date)
34615
+ ], MJCompanyIntegration_.prototype, "LockExpiresAt", void 0);
34560
34616
  __decorate([
34561
34617
  Field(),
34562
34618
  MaxLength(50),
@@ -34687,6 +34743,46 @@ __decorate([
34687
34743
  Field({ nullable: true }),
34688
34744
  __metadata("design:type", String)
34689
34745
  ], CreateMJCompanyIntegrationInput.prototype, "CredentialID", void 0);
34746
+ __decorate([
34747
+ Field(() => Boolean, { nullable: true }),
34748
+ __metadata("design:type", Boolean)
34749
+ ], CreateMJCompanyIntegrationInput.prototype, "ScheduleEnabled", void 0);
34750
+ __decorate([
34751
+ Field({ nullable: true }),
34752
+ __metadata("design:type", String)
34753
+ ], CreateMJCompanyIntegrationInput.prototype, "ScheduleType", void 0);
34754
+ __decorate([
34755
+ Field(() => Int, { nullable: true }),
34756
+ __metadata("design:type", Number)
34757
+ ], CreateMJCompanyIntegrationInput.prototype, "ScheduleIntervalMinutes", void 0);
34758
+ __decorate([
34759
+ Field({ nullable: true }),
34760
+ __metadata("design:type", String)
34761
+ ], CreateMJCompanyIntegrationInput.prototype, "CronExpression", void 0);
34762
+ __decorate([
34763
+ Field({ nullable: true }),
34764
+ __metadata("design:type", Date)
34765
+ ], CreateMJCompanyIntegrationInput.prototype, "NextScheduledRunAt", void 0);
34766
+ __decorate([
34767
+ Field({ nullable: true }),
34768
+ __metadata("design:type", Date)
34769
+ ], CreateMJCompanyIntegrationInput.prototype, "LastScheduledRunAt", void 0);
34770
+ __decorate([
34771
+ Field(() => Boolean, { nullable: true }),
34772
+ __metadata("design:type", Boolean)
34773
+ ], CreateMJCompanyIntegrationInput.prototype, "IsLocked", void 0);
34774
+ __decorate([
34775
+ Field({ nullable: true }),
34776
+ __metadata("design:type", Date)
34777
+ ], CreateMJCompanyIntegrationInput.prototype, "LockedAt", void 0);
34778
+ __decorate([
34779
+ Field({ nullable: true }),
34780
+ __metadata("design:type", String)
34781
+ ], CreateMJCompanyIntegrationInput.prototype, "LockedByInstance", void 0);
34782
+ __decorate([
34783
+ Field({ nullable: true }),
34784
+ __metadata("design:type", Date)
34785
+ ], CreateMJCompanyIntegrationInput.prototype, "LockExpiresAt", void 0);
34690
34786
  CreateMJCompanyIntegrationInput = __decorate([
34691
34787
  InputType()
34692
34788
  ], CreateMJCompanyIntegrationInput);
@@ -34764,6 +34860,46 @@ __decorate([
34764
34860
  Field({ nullable: true }),
34765
34861
  __metadata("design:type", String)
34766
34862
  ], UpdateMJCompanyIntegrationInput.prototype, "CredentialID", void 0);
34863
+ __decorate([
34864
+ Field(() => Boolean, { nullable: true }),
34865
+ __metadata("design:type", Boolean)
34866
+ ], UpdateMJCompanyIntegrationInput.prototype, "ScheduleEnabled", void 0);
34867
+ __decorate([
34868
+ Field({ nullable: true }),
34869
+ __metadata("design:type", String)
34870
+ ], UpdateMJCompanyIntegrationInput.prototype, "ScheduleType", void 0);
34871
+ __decorate([
34872
+ Field(() => Int, { nullable: true }),
34873
+ __metadata("design:type", Number)
34874
+ ], UpdateMJCompanyIntegrationInput.prototype, "ScheduleIntervalMinutes", void 0);
34875
+ __decorate([
34876
+ Field({ nullable: true }),
34877
+ __metadata("design:type", String)
34878
+ ], UpdateMJCompanyIntegrationInput.prototype, "CronExpression", void 0);
34879
+ __decorate([
34880
+ Field({ nullable: true }),
34881
+ __metadata("design:type", Date)
34882
+ ], UpdateMJCompanyIntegrationInput.prototype, "NextScheduledRunAt", void 0);
34883
+ __decorate([
34884
+ Field({ nullable: true }),
34885
+ __metadata("design:type", Date)
34886
+ ], UpdateMJCompanyIntegrationInput.prototype, "LastScheduledRunAt", void 0);
34887
+ __decorate([
34888
+ Field(() => Boolean, { nullable: true }),
34889
+ __metadata("design:type", Boolean)
34890
+ ], UpdateMJCompanyIntegrationInput.prototype, "IsLocked", void 0);
34891
+ __decorate([
34892
+ Field({ nullable: true }),
34893
+ __metadata("design:type", Date)
34894
+ ], UpdateMJCompanyIntegrationInput.prototype, "LockedAt", void 0);
34895
+ __decorate([
34896
+ Field({ nullable: true }),
34897
+ __metadata("design:type", String)
34898
+ ], UpdateMJCompanyIntegrationInput.prototype, "LockedByInstance", void 0);
34899
+ __decorate([
34900
+ Field({ nullable: true }),
34901
+ __metadata("design:type", Date)
34902
+ ], UpdateMJCompanyIntegrationInput.prototype, "LockExpiresAt", void 0);
34767
34903
  __decorate([
34768
34904
  Field(() => [KeyValuePairInput], { nullable: true }),
34769
34905
  __metadata("design:type", Array)
@@ -61864,6 +62000,898 @@ MJGeneratedCodeResolver = __decorate([
61864
62000
  ], MJGeneratedCodeResolver);
61865
62001
  export { MJGeneratedCodeResolver };
61866
62002
  //****************************************************************************
62003
+ // ENTITY CLASS for MJ: Integration Object Fields
62004
+ //****************************************************************************
62005
+ let MJIntegrationObjectField_ = class MJIntegrationObjectField_ {
62006
+ };
62007
+ __decorate([
62008
+ Field({ description: `Primary key` }),
62009
+ MaxLength(36),
62010
+ __metadata("design:type", String)
62011
+ ], MJIntegrationObjectField_.prototype, "ID", void 0);
62012
+ __decorate([
62013
+ Field({ description: `Foreign key to the IntegrationObject this field belongs to` }),
62014
+ MaxLength(36),
62015
+ __metadata("design:type", String)
62016
+ ], MJIntegrationObjectField_.prototype, "IntegrationObjectID", void 0);
62017
+ __decorate([
62018
+ Field({ description: `Field name as returned by the external API` }),
62019
+ MaxLength(255),
62020
+ __metadata("design:type", String)
62021
+ ], MJIntegrationObjectField_.prototype, "Name", void 0);
62022
+ __decorate([
62023
+ Field({ nullable: true, description: `Human-friendly display label for the field` }),
62024
+ MaxLength(255),
62025
+ __metadata("design:type", String)
62026
+ ], MJIntegrationObjectField_.prototype, "DisplayName", void 0);
62027
+ __decorate([
62028
+ Field({ nullable: true, description: `Description of what this field represents` }),
62029
+ __metadata("design:type", String)
62030
+ ], MJIntegrationObjectField_.prototype, "Description", void 0);
62031
+ __decorate([
62032
+ Field({ nullable: true, description: `UI grouping category within the object` }),
62033
+ MaxLength(100),
62034
+ __metadata("design:type", String)
62035
+ ], MJIntegrationObjectField_.prototype, "Category", void 0);
62036
+ __decorate([
62037
+ Field({ description: `Data type of the field (e.g., nvarchar, int, datetime, decimal, bit). Uses same type vocabulary as EntityField.` }),
62038
+ MaxLength(100),
62039
+ __metadata("design:type", String)
62040
+ ], MJIntegrationObjectField_.prototype, "Type", void 0);
62041
+ __decorate([
62042
+ Field(() => Int, { nullable: true, description: `Maximum length for string types` }),
62043
+ __metadata("design:type", Number)
62044
+ ], MJIntegrationObjectField_.prototype, "Length", void 0);
62045
+ __decorate([
62046
+ Field(() => Int, { nullable: true, description: `Numeric precision` }),
62047
+ __metadata("design:type", Number)
62048
+ ], MJIntegrationObjectField_.prototype, "Precision", void 0);
62049
+ __decorate([
62050
+ Field(() => Int, { nullable: true, description: `Numeric scale` }),
62051
+ __metadata("design:type", Number)
62052
+ ], MJIntegrationObjectField_.prototype, "Scale", void 0);
62053
+ __decorate([
62054
+ Field(() => Boolean, { description: `Whether the field can contain NULL values` }),
62055
+ __metadata("design:type", Boolean)
62056
+ ], MJIntegrationObjectField_.prototype, "AllowsNull", void 0);
62057
+ __decorate([
62058
+ Field({ nullable: true, description: `Default value from the source system` }),
62059
+ MaxLength(255),
62060
+ __metadata("design:type", String)
62061
+ ], MJIntegrationObjectField_.prototype, "DefaultValue", void 0);
62062
+ __decorate([
62063
+ Field(() => Boolean, { description: `Whether this field is part of the object primary key` }),
62064
+ __metadata("design:type", Boolean)
62065
+ ], MJIntegrationObjectField_.prototype, "IsPrimaryKey", void 0);
62066
+ __decorate([
62067
+ Field(() => Boolean, { description: `Whether values must be unique across all records` }),
62068
+ __metadata("design:type", Boolean)
62069
+ ], MJIntegrationObjectField_.prototype, "IsUniqueKey", void 0);
62070
+ __decorate([
62071
+ Field(() => Boolean, { description: `Whether this field cannot be written back to the source system` }),
62072
+ __metadata("design:type", Boolean)
62073
+ ], MJIntegrationObjectField_.prototype, "IsReadOnly", void 0);
62074
+ __decorate([
62075
+ Field(() => Boolean, { description: `Whether this field is required for create/update operations` }),
62076
+ __metadata("design:type", Boolean)
62077
+ ], MJIntegrationObjectField_.prototype, "IsRequired", void 0);
62078
+ __decorate([
62079
+ Field({ nullable: true, description: `Foreign key to another IntegrationObject, establishing a relationship. Used for DAG-based dependency ordering and template variable resolution in parent APIPath patterns.` }),
62080
+ MaxLength(36),
62081
+ __metadata("design:type", String)
62082
+ ], MJIntegrationObjectField_.prototype, "RelatedIntegrationObjectID", void 0);
62083
+ __decorate([
62084
+ Field({ nullable: true, description: `The field name on the related IntegrationObject that this FK points to (typically the PK field)` }),
62085
+ MaxLength(255),
62086
+ __metadata("design:type", String)
62087
+ ], MJIntegrationObjectField_.prototype, "RelatedIntegrationObjectFieldName", void 0);
62088
+ __decorate([
62089
+ Field(() => Int, { description: `Display and processing order within the object. Lower numbers appear first.` }),
62090
+ __metadata("design:type", Number)
62091
+ ], MJIntegrationObjectField_.prototype, "Sequence", void 0);
62092
+ __decorate([
62093
+ Field({ nullable: true, description: `Freeform JSON for connector-specific field configuration` }),
62094
+ __metadata("design:type", String)
62095
+ ], MJIntegrationObjectField_.prototype, "Configuration", void 0);
62096
+ __decorate([
62097
+ Field({ description: `Active, Deprecated, or Disabled. Mirrors EntityField status values.` }),
62098
+ MaxLength(25),
62099
+ __metadata("design:type", String)
62100
+ ], MJIntegrationObjectField_.prototype, "Status", void 0);
62101
+ __decorate([
62102
+ Field(),
62103
+ __metadata("design:type", Date)
62104
+ ], MJIntegrationObjectField_.prototype, "_mj__CreatedAt", void 0);
62105
+ __decorate([
62106
+ Field(),
62107
+ __metadata("design:type", Date)
62108
+ ], MJIntegrationObjectField_.prototype, "_mj__UpdatedAt", void 0);
62109
+ __decorate([
62110
+ Field(),
62111
+ MaxLength(255),
62112
+ __metadata("design:type", String)
62113
+ ], MJIntegrationObjectField_.prototype, "IntegrationObject", void 0);
62114
+ __decorate([
62115
+ Field({ nullable: true }),
62116
+ MaxLength(255),
62117
+ __metadata("design:type", String)
62118
+ ], MJIntegrationObjectField_.prototype, "RelatedIntegrationObject", void 0);
62119
+ MJIntegrationObjectField_ = __decorate([
62120
+ ObjectType({ description: `Describes a field on an integration object, mirroring EntityField column patterns for type compatibility` })
62121
+ ], MJIntegrationObjectField_);
62122
+ export { MJIntegrationObjectField_ };
62123
+ //****************************************************************************
62124
+ // INPUT TYPE for MJ: Integration Object Fields
62125
+ //****************************************************************************
62126
+ let CreateMJIntegrationObjectFieldInput = class CreateMJIntegrationObjectFieldInput {
62127
+ };
62128
+ __decorate([
62129
+ Field({ nullable: true }),
62130
+ __metadata("design:type", String)
62131
+ ], CreateMJIntegrationObjectFieldInput.prototype, "ID", void 0);
62132
+ __decorate([
62133
+ Field({ nullable: true }),
62134
+ __metadata("design:type", String)
62135
+ ], CreateMJIntegrationObjectFieldInput.prototype, "IntegrationObjectID", void 0);
62136
+ __decorate([
62137
+ Field({ nullable: true }),
62138
+ __metadata("design:type", String)
62139
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Name", void 0);
62140
+ __decorate([
62141
+ Field({ nullable: true }),
62142
+ __metadata("design:type", String)
62143
+ ], CreateMJIntegrationObjectFieldInput.prototype, "DisplayName", void 0);
62144
+ __decorate([
62145
+ Field({ nullable: true }),
62146
+ __metadata("design:type", String)
62147
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Description", void 0);
62148
+ __decorate([
62149
+ Field({ nullable: true }),
62150
+ __metadata("design:type", String)
62151
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Category", void 0);
62152
+ __decorate([
62153
+ Field({ nullable: true }),
62154
+ __metadata("design:type", String)
62155
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Type", void 0);
62156
+ __decorate([
62157
+ Field(() => Int, { nullable: true }),
62158
+ __metadata("design:type", Number)
62159
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Length", void 0);
62160
+ __decorate([
62161
+ Field(() => Int, { nullable: true }),
62162
+ __metadata("design:type", Number)
62163
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Precision", void 0);
62164
+ __decorate([
62165
+ Field(() => Int, { nullable: true }),
62166
+ __metadata("design:type", Number)
62167
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Scale", void 0);
62168
+ __decorate([
62169
+ Field(() => Boolean, { nullable: true }),
62170
+ __metadata("design:type", Boolean)
62171
+ ], CreateMJIntegrationObjectFieldInput.prototype, "AllowsNull", void 0);
62172
+ __decorate([
62173
+ Field({ nullable: true }),
62174
+ __metadata("design:type", String)
62175
+ ], CreateMJIntegrationObjectFieldInput.prototype, "DefaultValue", void 0);
62176
+ __decorate([
62177
+ Field(() => Boolean, { nullable: true }),
62178
+ __metadata("design:type", Boolean)
62179
+ ], CreateMJIntegrationObjectFieldInput.prototype, "IsPrimaryKey", void 0);
62180
+ __decorate([
62181
+ Field(() => Boolean, { nullable: true }),
62182
+ __metadata("design:type", Boolean)
62183
+ ], CreateMJIntegrationObjectFieldInput.prototype, "IsUniqueKey", void 0);
62184
+ __decorate([
62185
+ Field(() => Boolean, { nullable: true }),
62186
+ __metadata("design:type", Boolean)
62187
+ ], CreateMJIntegrationObjectFieldInput.prototype, "IsReadOnly", void 0);
62188
+ __decorate([
62189
+ Field(() => Boolean, { nullable: true }),
62190
+ __metadata("design:type", Boolean)
62191
+ ], CreateMJIntegrationObjectFieldInput.prototype, "IsRequired", void 0);
62192
+ __decorate([
62193
+ Field({ nullable: true }),
62194
+ __metadata("design:type", String)
62195
+ ], CreateMJIntegrationObjectFieldInput.prototype, "RelatedIntegrationObjectID", void 0);
62196
+ __decorate([
62197
+ Field({ nullable: true }),
62198
+ __metadata("design:type", String)
62199
+ ], CreateMJIntegrationObjectFieldInput.prototype, "RelatedIntegrationObjectFieldName", void 0);
62200
+ __decorate([
62201
+ Field(() => Int, { nullable: true }),
62202
+ __metadata("design:type", Number)
62203
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Sequence", void 0);
62204
+ __decorate([
62205
+ Field({ nullable: true }),
62206
+ __metadata("design:type", String)
62207
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Configuration", void 0);
62208
+ __decorate([
62209
+ Field({ nullable: true }),
62210
+ __metadata("design:type", String)
62211
+ ], CreateMJIntegrationObjectFieldInput.prototype, "Status", void 0);
62212
+ CreateMJIntegrationObjectFieldInput = __decorate([
62213
+ InputType()
62214
+ ], CreateMJIntegrationObjectFieldInput);
62215
+ export { CreateMJIntegrationObjectFieldInput };
62216
+ //****************************************************************************
62217
+ // INPUT TYPE for MJ: Integration Object Fields
62218
+ //****************************************************************************
62219
+ let UpdateMJIntegrationObjectFieldInput = class UpdateMJIntegrationObjectFieldInput {
62220
+ };
62221
+ __decorate([
62222
+ Field(),
62223
+ __metadata("design:type", String)
62224
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "ID", void 0);
62225
+ __decorate([
62226
+ Field({ nullable: true }),
62227
+ __metadata("design:type", String)
62228
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "IntegrationObjectID", void 0);
62229
+ __decorate([
62230
+ Field({ nullable: true }),
62231
+ __metadata("design:type", String)
62232
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Name", void 0);
62233
+ __decorate([
62234
+ Field({ nullable: true }),
62235
+ __metadata("design:type", String)
62236
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "DisplayName", void 0);
62237
+ __decorate([
62238
+ Field({ nullable: true }),
62239
+ __metadata("design:type", String)
62240
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Description", void 0);
62241
+ __decorate([
62242
+ Field({ nullable: true }),
62243
+ __metadata("design:type", String)
62244
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Category", void 0);
62245
+ __decorate([
62246
+ Field({ nullable: true }),
62247
+ __metadata("design:type", String)
62248
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Type", void 0);
62249
+ __decorate([
62250
+ Field(() => Int, { nullable: true }),
62251
+ __metadata("design:type", Number)
62252
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Length", void 0);
62253
+ __decorate([
62254
+ Field(() => Int, { nullable: true }),
62255
+ __metadata("design:type", Number)
62256
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Precision", void 0);
62257
+ __decorate([
62258
+ Field(() => Int, { nullable: true }),
62259
+ __metadata("design:type", Number)
62260
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Scale", void 0);
62261
+ __decorate([
62262
+ Field(() => Boolean, { nullable: true }),
62263
+ __metadata("design:type", Boolean)
62264
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "AllowsNull", void 0);
62265
+ __decorate([
62266
+ Field({ nullable: true }),
62267
+ __metadata("design:type", String)
62268
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "DefaultValue", void 0);
62269
+ __decorate([
62270
+ Field(() => Boolean, { nullable: true }),
62271
+ __metadata("design:type", Boolean)
62272
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "IsPrimaryKey", void 0);
62273
+ __decorate([
62274
+ Field(() => Boolean, { nullable: true }),
62275
+ __metadata("design:type", Boolean)
62276
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "IsUniqueKey", void 0);
62277
+ __decorate([
62278
+ Field(() => Boolean, { nullable: true }),
62279
+ __metadata("design:type", Boolean)
62280
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "IsReadOnly", void 0);
62281
+ __decorate([
62282
+ Field(() => Boolean, { nullable: true }),
62283
+ __metadata("design:type", Boolean)
62284
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "IsRequired", void 0);
62285
+ __decorate([
62286
+ Field({ nullable: true }),
62287
+ __metadata("design:type", String)
62288
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "RelatedIntegrationObjectID", void 0);
62289
+ __decorate([
62290
+ Field({ nullable: true }),
62291
+ __metadata("design:type", String)
62292
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "RelatedIntegrationObjectFieldName", void 0);
62293
+ __decorate([
62294
+ Field(() => Int, { nullable: true }),
62295
+ __metadata("design:type", Number)
62296
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Sequence", void 0);
62297
+ __decorate([
62298
+ Field({ nullable: true }),
62299
+ __metadata("design:type", String)
62300
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Configuration", void 0);
62301
+ __decorate([
62302
+ Field({ nullable: true }),
62303
+ __metadata("design:type", String)
62304
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "Status", void 0);
62305
+ __decorate([
62306
+ Field(() => [KeyValuePairInput], { nullable: true }),
62307
+ __metadata("design:type", Array)
62308
+ ], UpdateMJIntegrationObjectFieldInput.prototype, "OldValues___", void 0);
62309
+ UpdateMJIntegrationObjectFieldInput = __decorate([
62310
+ InputType()
62311
+ ], UpdateMJIntegrationObjectFieldInput);
62312
+ export { UpdateMJIntegrationObjectFieldInput };
62313
+ //****************************************************************************
62314
+ // RESOLVER for MJ: Integration Object Fields
62315
+ //****************************************************************************
62316
+ let RunMJIntegrationObjectFieldViewResult = class RunMJIntegrationObjectFieldViewResult {
62317
+ };
62318
+ __decorate([
62319
+ Field(() => [MJIntegrationObjectField_]),
62320
+ __metadata("design:type", Array)
62321
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "Results", void 0);
62322
+ __decorate([
62323
+ Field(() => String, { nullable: true }),
62324
+ __metadata("design:type", String)
62325
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "UserViewRunID", void 0);
62326
+ __decorate([
62327
+ Field(() => Int, { nullable: true }),
62328
+ __metadata("design:type", Number)
62329
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "RowCount", void 0);
62330
+ __decorate([
62331
+ Field(() => Int, { nullable: true }),
62332
+ __metadata("design:type", Number)
62333
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "TotalRowCount", void 0);
62334
+ __decorate([
62335
+ Field(() => Int, { nullable: true }),
62336
+ __metadata("design:type", Number)
62337
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "ExecutionTime", void 0);
62338
+ __decorate([
62339
+ Field({ nullable: true }),
62340
+ __metadata("design:type", String)
62341
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "ErrorMessage", void 0);
62342
+ __decorate([
62343
+ Field(() => Boolean, { nullable: false }),
62344
+ __metadata("design:type", Boolean)
62345
+ ], RunMJIntegrationObjectFieldViewResult.prototype, "Success", void 0);
62346
+ RunMJIntegrationObjectFieldViewResult = __decorate([
62347
+ ObjectType()
62348
+ ], RunMJIntegrationObjectFieldViewResult);
62349
+ export { RunMJIntegrationObjectFieldViewResult };
62350
+ let MJIntegrationObjectFieldResolver = class MJIntegrationObjectFieldResolver extends ResolverBase {
62351
+ async RunMJIntegrationObjectFieldViewByID(input, { providers, userPayload }, pubSub) {
62352
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62353
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
62354
+ }
62355
+ async RunMJIntegrationObjectFieldViewByName(input, { providers, userPayload }, pubSub) {
62356
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62357
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
62358
+ }
62359
+ async RunMJIntegrationObjectFieldDynamicView(input, { providers, userPayload }, pubSub) {
62360
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62361
+ input.EntityName = 'MJ: Integration Object Fields';
62362
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
62363
+ }
62364
+ async MJIntegrationObjectField(ID, { userPayload, providers }, pubSub) {
62365
+ this.CheckUserReadPermissions('MJ: Integration Object Fields', userPayload);
62366
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62367
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwIntegrationObjectFields')} WHERE ${provider.QuoteIdentifier('ID')}='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Integration Object Fields', userPayload, EntityPermissionType.Read, 'AND');
62368
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
62369
+ const result = await this.MapFieldNamesToCodeNames('MJ: Integration Object Fields', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
62370
+ return result;
62371
+ }
62372
+ async CreateMJIntegrationObjectField(input, { providers, userPayload }, pubSub) {
62373
+ const provider = GetReadWriteProvider(providers);
62374
+ return this.CreateRecord('MJ: Integration Object Fields', input, provider, userPayload, pubSub);
62375
+ }
62376
+ async UpdateMJIntegrationObjectField(input, { providers, userPayload }, pubSub) {
62377
+ const provider = GetReadWriteProvider(providers);
62378
+ return this.UpdateRecord('MJ: Integration Object Fields', input, provider, userPayload, pubSub);
62379
+ }
62380
+ async DeleteMJIntegrationObjectField(ID, options, { providers, userPayload }, pubSub) {
62381
+ const provider = GetReadWriteProvider(providers);
62382
+ const key = new CompositeKey([{ FieldName: 'ID', Value: ID }]);
62383
+ return this.DeleteRecord('MJ: Integration Object Fields', key, options, provider, userPayload, pubSub);
62384
+ }
62385
+ };
62386
+ __decorate([
62387
+ Query(() => RunMJIntegrationObjectFieldViewResult),
62388
+ __param(0, Arg('input', () => RunViewByIDInput)),
62389
+ __param(1, Ctx()),
62390
+ __param(2, PubSub()),
62391
+ __metadata("design:type", Function),
62392
+ __metadata("design:paramtypes", [RunViewByIDInput, Object, PubSubEngine]),
62393
+ __metadata("design:returntype", Promise)
62394
+ ], MJIntegrationObjectFieldResolver.prototype, "RunMJIntegrationObjectFieldViewByID", null);
62395
+ __decorate([
62396
+ Query(() => RunMJIntegrationObjectFieldViewResult),
62397
+ __param(0, Arg('input', () => RunViewByNameInput)),
62398
+ __param(1, Ctx()),
62399
+ __param(2, PubSub()),
62400
+ __metadata("design:type", Function),
62401
+ __metadata("design:paramtypes", [RunViewByNameInput, Object, PubSubEngine]),
62402
+ __metadata("design:returntype", Promise)
62403
+ ], MJIntegrationObjectFieldResolver.prototype, "RunMJIntegrationObjectFieldViewByName", null);
62404
+ __decorate([
62405
+ Query(() => RunMJIntegrationObjectFieldViewResult),
62406
+ __param(0, Arg('input', () => RunDynamicViewInput)),
62407
+ __param(1, Ctx()),
62408
+ __param(2, PubSub()),
62409
+ __metadata("design:type", Function),
62410
+ __metadata("design:paramtypes", [RunDynamicViewInput, Object, PubSubEngine]),
62411
+ __metadata("design:returntype", Promise)
62412
+ ], MJIntegrationObjectFieldResolver.prototype, "RunMJIntegrationObjectFieldDynamicView", null);
62413
+ __decorate([
62414
+ Query(() => MJIntegrationObjectField_, { nullable: true }),
62415
+ __param(0, Arg('ID', () => String)),
62416
+ __param(1, Ctx()),
62417
+ __param(2, PubSub()),
62418
+ __metadata("design:type", Function),
62419
+ __metadata("design:paramtypes", [String, Object, PubSubEngine]),
62420
+ __metadata("design:returntype", Promise)
62421
+ ], MJIntegrationObjectFieldResolver.prototype, "MJIntegrationObjectField", null);
62422
+ __decorate([
62423
+ Mutation(() => MJIntegrationObjectField_),
62424
+ __param(0, Arg('input', () => CreateMJIntegrationObjectFieldInput)),
62425
+ __param(1, Ctx()),
62426
+ __param(2, PubSub()),
62427
+ __metadata("design:type", Function),
62428
+ __metadata("design:paramtypes", [CreateMJIntegrationObjectFieldInput, Object, PubSubEngine]),
62429
+ __metadata("design:returntype", Promise)
62430
+ ], MJIntegrationObjectFieldResolver.prototype, "CreateMJIntegrationObjectField", null);
62431
+ __decorate([
62432
+ Mutation(() => MJIntegrationObjectField_),
62433
+ __param(0, Arg('input', () => UpdateMJIntegrationObjectFieldInput)),
62434
+ __param(1, Ctx()),
62435
+ __param(2, PubSub()),
62436
+ __metadata("design:type", Function),
62437
+ __metadata("design:paramtypes", [UpdateMJIntegrationObjectFieldInput, Object, PubSubEngine]),
62438
+ __metadata("design:returntype", Promise)
62439
+ ], MJIntegrationObjectFieldResolver.prototype, "UpdateMJIntegrationObjectField", null);
62440
+ __decorate([
62441
+ Mutation(() => MJIntegrationObjectField_),
62442
+ __param(0, Arg('ID', () => String)),
62443
+ __param(1, Arg('options___', () => DeleteOptionsInput)),
62444
+ __param(2, Ctx()),
62445
+ __param(3, PubSub()),
62446
+ __metadata("design:type", Function),
62447
+ __metadata("design:paramtypes", [String, DeleteOptionsInput, Object, PubSubEngine]),
62448
+ __metadata("design:returntype", Promise)
62449
+ ], MJIntegrationObjectFieldResolver.prototype, "DeleteMJIntegrationObjectField", null);
62450
+ MJIntegrationObjectFieldResolver = __decorate([
62451
+ Resolver(MJIntegrationObjectField_)
62452
+ ], MJIntegrationObjectFieldResolver);
62453
+ export { MJIntegrationObjectFieldResolver };
62454
+ //****************************************************************************
62455
+ // ENTITY CLASS for MJ: Integration Objects
62456
+ //****************************************************************************
62457
+ let MJIntegrationObject_ = class MJIntegrationObject_ {
62458
+ };
62459
+ __decorate([
62460
+ Field({ description: `Primary key` }),
62461
+ MaxLength(36),
62462
+ __metadata("design:type", String)
62463
+ ], MJIntegrationObject_.prototype, "ID", void 0);
62464
+ __decorate([
62465
+ Field({ description: `Foreign key to the Integration that owns this object` }),
62466
+ MaxLength(36),
62467
+ __metadata("design:type", String)
62468
+ ], MJIntegrationObject_.prototype, "IntegrationID", void 0);
62469
+ __decorate([
62470
+ Field({ description: `Internal/programmatic name of the external object (e.g., Members, Events)` }),
62471
+ MaxLength(255),
62472
+ __metadata("design:type", String)
62473
+ ], MJIntegrationObject_.prototype, "Name", void 0);
62474
+ __decorate([
62475
+ Field({ nullable: true, description: `Human-friendly display label` }),
62476
+ MaxLength(255),
62477
+ __metadata("design:type", String)
62478
+ ], MJIntegrationObject_.prototype, "DisplayName", void 0);
62479
+ __decorate([
62480
+ Field({ nullable: true, description: `Description of what this external object represents` }),
62481
+ __metadata("design:type", String)
62482
+ ], MJIntegrationObject_.prototype, "Description", void 0);
62483
+ __decorate([
62484
+ Field({ nullable: true, description: `UI grouping category (e.g., Membership, Events, Finance)` }),
62485
+ MaxLength(100),
62486
+ __metadata("design:type", String)
62487
+ ], MJIntegrationObject_.prototype, "Category", void 0);
62488
+ __decorate([
62489
+ Field({ description: `API endpoint path, may include template variables like {ProfileID} that are resolved at runtime from parent object records` }),
62490
+ MaxLength(500),
62491
+ __metadata("design:type", String)
62492
+ ], MJIntegrationObject_.prototype, "APIPath", void 0);
62493
+ __decorate([
62494
+ Field({ nullable: true, description: `JSON key used to extract the data array from the API response envelope. NULL means the response is a root-level array.` }),
62495
+ MaxLength(255),
62496
+ __metadata("design:type", String)
62497
+ ], MJIntegrationObject_.prototype, "ResponseDataKey", void 0);
62498
+ __decorate([
62499
+ Field(() => Int, { description: `Number of records to request per page from the API` }),
62500
+ __metadata("design:type", Number)
62501
+ ], MJIntegrationObject_.prototype, "DefaultPageSize", void 0);
62502
+ __decorate([
62503
+ Field(() => Boolean, { description: `Whether this endpoint supports paginated fetching` }),
62504
+ __metadata("design:type", Boolean)
62505
+ ], MJIntegrationObject_.prototype, "SupportsPagination", void 0);
62506
+ __decorate([
62507
+ Field({ description: `Pagination strategy: PageNumber (page index), Offset (record offset), Cursor (opaque token), or None` }),
62508
+ MaxLength(20),
62509
+ __metadata("design:type", String)
62510
+ ], MJIntegrationObject_.prototype, "PaginationType", void 0);
62511
+ __decorate([
62512
+ Field(() => Boolean, { description: `Whether this object supports watermark-based incremental sync` }),
62513
+ __metadata("design:type", Boolean)
62514
+ ], MJIntegrationObject_.prototype, "SupportsIncrementalSync", void 0);
62515
+ __decorate([
62516
+ Field(() => Boolean, { description: `Whether data can be pushed back to this object via the API` }),
62517
+ __metadata("design:type", Boolean)
62518
+ ], MJIntegrationObject_.prototype, "SupportsWrite", void 0);
62519
+ __decorate([
62520
+ Field({ nullable: true, description: `JSON object of default query parameters to include with every API request for this object` }),
62521
+ __metadata("design:type", String)
62522
+ ], MJIntegrationObject_.prototype, "DefaultQueryParams", void 0);
62523
+ __decorate([
62524
+ Field({ nullable: true, description: `Freeform JSON for connector-specific configuration not covered by standard columns` }),
62525
+ __metadata("design:type", String)
62526
+ ], MJIntegrationObject_.prototype, "Configuration", void 0);
62527
+ __decorate([
62528
+ Field(() => Int, { description: `Processing and display order. Lower numbers are processed first.` }),
62529
+ __metadata("design:type", Number)
62530
+ ], MJIntegrationObject_.prototype, "Sequence", void 0);
62531
+ __decorate([
62532
+ Field({ description: `Active, Deprecated, or Disabled. Mirrors EntityField status values.` }),
62533
+ MaxLength(25),
62534
+ __metadata("design:type", String)
62535
+ ], MJIntegrationObject_.prototype, "Status", void 0);
62536
+ __decorate([
62537
+ Field(),
62538
+ __metadata("design:type", Date)
62539
+ ], MJIntegrationObject_.prototype, "_mj__CreatedAt", void 0);
62540
+ __decorate([
62541
+ Field(),
62542
+ __metadata("design:type", Date)
62543
+ ], MJIntegrationObject_.prototype, "_mj__UpdatedAt", void 0);
62544
+ __decorate([
62545
+ Field(),
62546
+ MaxLength(100),
62547
+ __metadata("design:type", String)
62548
+ ], MJIntegrationObject_.prototype, "Integration", void 0);
62549
+ __decorate([
62550
+ Field(() => [MJIntegrationObjectField_]),
62551
+ __metadata("design:type", Array)
62552
+ ], MJIntegrationObject_.prototype, "MJIntegrationObjectFields_IntegrationObjectIDArray", void 0);
62553
+ __decorate([
62554
+ Field(() => [MJIntegrationObjectField_]),
62555
+ __metadata("design:type", Array)
62556
+ ], MJIntegrationObject_.prototype, "MJIntegrationObjectFields_RelatedIntegrationObjectIDArray", void 0);
62557
+ MJIntegrationObject_ = __decorate([
62558
+ ObjectType({ description: `Describes an external object or endpoint exposed by an integration (e.g., Members, Events, Invoices)` })
62559
+ ], MJIntegrationObject_);
62560
+ export { MJIntegrationObject_ };
62561
+ //****************************************************************************
62562
+ // INPUT TYPE for MJ: Integration Objects
62563
+ //****************************************************************************
62564
+ let CreateMJIntegrationObjectInput = class CreateMJIntegrationObjectInput {
62565
+ };
62566
+ __decorate([
62567
+ Field({ nullable: true }),
62568
+ __metadata("design:type", String)
62569
+ ], CreateMJIntegrationObjectInput.prototype, "ID", void 0);
62570
+ __decorate([
62571
+ Field({ nullable: true }),
62572
+ __metadata("design:type", String)
62573
+ ], CreateMJIntegrationObjectInput.prototype, "IntegrationID", void 0);
62574
+ __decorate([
62575
+ Field({ nullable: true }),
62576
+ __metadata("design:type", String)
62577
+ ], CreateMJIntegrationObjectInput.prototype, "Name", void 0);
62578
+ __decorate([
62579
+ Field({ nullable: true }),
62580
+ __metadata("design:type", String)
62581
+ ], CreateMJIntegrationObjectInput.prototype, "DisplayName", void 0);
62582
+ __decorate([
62583
+ Field({ nullable: true }),
62584
+ __metadata("design:type", String)
62585
+ ], CreateMJIntegrationObjectInput.prototype, "Description", void 0);
62586
+ __decorate([
62587
+ Field({ nullable: true }),
62588
+ __metadata("design:type", String)
62589
+ ], CreateMJIntegrationObjectInput.prototype, "Category", void 0);
62590
+ __decorate([
62591
+ Field({ nullable: true }),
62592
+ __metadata("design:type", String)
62593
+ ], CreateMJIntegrationObjectInput.prototype, "APIPath", void 0);
62594
+ __decorate([
62595
+ Field({ nullable: true }),
62596
+ __metadata("design:type", String)
62597
+ ], CreateMJIntegrationObjectInput.prototype, "ResponseDataKey", void 0);
62598
+ __decorate([
62599
+ Field(() => Int, { nullable: true }),
62600
+ __metadata("design:type", Number)
62601
+ ], CreateMJIntegrationObjectInput.prototype, "DefaultPageSize", void 0);
62602
+ __decorate([
62603
+ Field(() => Boolean, { nullable: true }),
62604
+ __metadata("design:type", Boolean)
62605
+ ], CreateMJIntegrationObjectInput.prototype, "SupportsPagination", void 0);
62606
+ __decorate([
62607
+ Field({ nullable: true }),
62608
+ __metadata("design:type", String)
62609
+ ], CreateMJIntegrationObjectInput.prototype, "PaginationType", void 0);
62610
+ __decorate([
62611
+ Field(() => Boolean, { nullable: true }),
62612
+ __metadata("design:type", Boolean)
62613
+ ], CreateMJIntegrationObjectInput.prototype, "SupportsIncrementalSync", void 0);
62614
+ __decorate([
62615
+ Field(() => Boolean, { nullable: true }),
62616
+ __metadata("design:type", Boolean)
62617
+ ], CreateMJIntegrationObjectInput.prototype, "SupportsWrite", void 0);
62618
+ __decorate([
62619
+ Field({ nullable: true }),
62620
+ __metadata("design:type", String)
62621
+ ], CreateMJIntegrationObjectInput.prototype, "DefaultQueryParams", void 0);
62622
+ __decorate([
62623
+ Field({ nullable: true }),
62624
+ __metadata("design:type", String)
62625
+ ], CreateMJIntegrationObjectInput.prototype, "Configuration", void 0);
62626
+ __decorate([
62627
+ Field(() => Int, { nullable: true }),
62628
+ __metadata("design:type", Number)
62629
+ ], CreateMJIntegrationObjectInput.prototype, "Sequence", void 0);
62630
+ __decorate([
62631
+ Field({ nullable: true }),
62632
+ __metadata("design:type", String)
62633
+ ], CreateMJIntegrationObjectInput.prototype, "Status", void 0);
62634
+ CreateMJIntegrationObjectInput = __decorate([
62635
+ InputType()
62636
+ ], CreateMJIntegrationObjectInput);
62637
+ export { CreateMJIntegrationObjectInput };
62638
+ //****************************************************************************
62639
+ // INPUT TYPE for MJ: Integration Objects
62640
+ //****************************************************************************
62641
+ let UpdateMJIntegrationObjectInput = class UpdateMJIntegrationObjectInput {
62642
+ };
62643
+ __decorate([
62644
+ Field(),
62645
+ __metadata("design:type", String)
62646
+ ], UpdateMJIntegrationObjectInput.prototype, "ID", void 0);
62647
+ __decorate([
62648
+ Field({ nullable: true }),
62649
+ __metadata("design:type", String)
62650
+ ], UpdateMJIntegrationObjectInput.prototype, "IntegrationID", void 0);
62651
+ __decorate([
62652
+ Field({ nullable: true }),
62653
+ __metadata("design:type", String)
62654
+ ], UpdateMJIntegrationObjectInput.prototype, "Name", void 0);
62655
+ __decorate([
62656
+ Field({ nullable: true }),
62657
+ __metadata("design:type", String)
62658
+ ], UpdateMJIntegrationObjectInput.prototype, "DisplayName", void 0);
62659
+ __decorate([
62660
+ Field({ nullable: true }),
62661
+ __metadata("design:type", String)
62662
+ ], UpdateMJIntegrationObjectInput.prototype, "Description", void 0);
62663
+ __decorate([
62664
+ Field({ nullable: true }),
62665
+ __metadata("design:type", String)
62666
+ ], UpdateMJIntegrationObjectInput.prototype, "Category", void 0);
62667
+ __decorate([
62668
+ Field({ nullable: true }),
62669
+ __metadata("design:type", String)
62670
+ ], UpdateMJIntegrationObjectInput.prototype, "APIPath", void 0);
62671
+ __decorate([
62672
+ Field({ nullable: true }),
62673
+ __metadata("design:type", String)
62674
+ ], UpdateMJIntegrationObjectInput.prototype, "ResponseDataKey", void 0);
62675
+ __decorate([
62676
+ Field(() => Int, { nullable: true }),
62677
+ __metadata("design:type", Number)
62678
+ ], UpdateMJIntegrationObjectInput.prototype, "DefaultPageSize", void 0);
62679
+ __decorate([
62680
+ Field(() => Boolean, { nullable: true }),
62681
+ __metadata("design:type", Boolean)
62682
+ ], UpdateMJIntegrationObjectInput.prototype, "SupportsPagination", void 0);
62683
+ __decorate([
62684
+ Field({ nullable: true }),
62685
+ __metadata("design:type", String)
62686
+ ], UpdateMJIntegrationObjectInput.prototype, "PaginationType", void 0);
62687
+ __decorate([
62688
+ Field(() => Boolean, { nullable: true }),
62689
+ __metadata("design:type", Boolean)
62690
+ ], UpdateMJIntegrationObjectInput.prototype, "SupportsIncrementalSync", void 0);
62691
+ __decorate([
62692
+ Field(() => Boolean, { nullable: true }),
62693
+ __metadata("design:type", Boolean)
62694
+ ], UpdateMJIntegrationObjectInput.prototype, "SupportsWrite", void 0);
62695
+ __decorate([
62696
+ Field({ nullable: true }),
62697
+ __metadata("design:type", String)
62698
+ ], UpdateMJIntegrationObjectInput.prototype, "DefaultQueryParams", void 0);
62699
+ __decorate([
62700
+ Field({ nullable: true }),
62701
+ __metadata("design:type", String)
62702
+ ], UpdateMJIntegrationObjectInput.prototype, "Configuration", void 0);
62703
+ __decorate([
62704
+ Field(() => Int, { nullable: true }),
62705
+ __metadata("design:type", Number)
62706
+ ], UpdateMJIntegrationObjectInput.prototype, "Sequence", void 0);
62707
+ __decorate([
62708
+ Field({ nullable: true }),
62709
+ __metadata("design:type", String)
62710
+ ], UpdateMJIntegrationObjectInput.prototype, "Status", void 0);
62711
+ __decorate([
62712
+ Field(() => [KeyValuePairInput], { nullable: true }),
62713
+ __metadata("design:type", Array)
62714
+ ], UpdateMJIntegrationObjectInput.prototype, "OldValues___", void 0);
62715
+ UpdateMJIntegrationObjectInput = __decorate([
62716
+ InputType()
62717
+ ], UpdateMJIntegrationObjectInput);
62718
+ export { UpdateMJIntegrationObjectInput };
62719
+ //****************************************************************************
62720
+ // RESOLVER for MJ: Integration Objects
62721
+ //****************************************************************************
62722
+ let RunMJIntegrationObjectViewResult = class RunMJIntegrationObjectViewResult {
62723
+ };
62724
+ __decorate([
62725
+ Field(() => [MJIntegrationObject_]),
62726
+ __metadata("design:type", Array)
62727
+ ], RunMJIntegrationObjectViewResult.prototype, "Results", void 0);
62728
+ __decorate([
62729
+ Field(() => String, { nullable: true }),
62730
+ __metadata("design:type", String)
62731
+ ], RunMJIntegrationObjectViewResult.prototype, "UserViewRunID", void 0);
62732
+ __decorate([
62733
+ Field(() => Int, { nullable: true }),
62734
+ __metadata("design:type", Number)
62735
+ ], RunMJIntegrationObjectViewResult.prototype, "RowCount", void 0);
62736
+ __decorate([
62737
+ Field(() => Int, { nullable: true }),
62738
+ __metadata("design:type", Number)
62739
+ ], RunMJIntegrationObjectViewResult.prototype, "TotalRowCount", void 0);
62740
+ __decorate([
62741
+ Field(() => Int, { nullable: true }),
62742
+ __metadata("design:type", Number)
62743
+ ], RunMJIntegrationObjectViewResult.prototype, "ExecutionTime", void 0);
62744
+ __decorate([
62745
+ Field({ nullable: true }),
62746
+ __metadata("design:type", String)
62747
+ ], RunMJIntegrationObjectViewResult.prototype, "ErrorMessage", void 0);
62748
+ __decorate([
62749
+ Field(() => Boolean, { nullable: false }),
62750
+ __metadata("design:type", Boolean)
62751
+ ], RunMJIntegrationObjectViewResult.prototype, "Success", void 0);
62752
+ RunMJIntegrationObjectViewResult = __decorate([
62753
+ ObjectType()
62754
+ ], RunMJIntegrationObjectViewResult);
62755
+ export { RunMJIntegrationObjectViewResult };
62756
+ let MJIntegrationObjectResolver = class MJIntegrationObjectResolver extends ResolverBase {
62757
+ async RunMJIntegrationObjectViewByID(input, { providers, userPayload }, pubSub) {
62758
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62759
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
62760
+ }
62761
+ async RunMJIntegrationObjectViewByName(input, { providers, userPayload }, pubSub) {
62762
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62763
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
62764
+ }
62765
+ async RunMJIntegrationObjectDynamicView(input, { providers, userPayload }, pubSub) {
62766
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62767
+ input.EntityName = 'MJ: Integration Objects';
62768
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
62769
+ }
62770
+ async MJIntegrationObject(ID, { userPayload, providers }, pubSub) {
62771
+ this.CheckUserReadPermissions('MJ: Integration Objects', userPayload);
62772
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62773
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwIntegrationObjects')} WHERE ${provider.QuoteIdentifier('ID')}='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Integration Objects', userPayload, EntityPermissionType.Read, 'AND');
62774
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
62775
+ const result = await this.MapFieldNamesToCodeNames('MJ: Integration Objects', rows && rows.length > 0 ? rows[0] : {}, this.GetUserFromPayload(userPayload));
62776
+ return result;
62777
+ }
62778
+ async MJIntegrationObjectFields_IntegrationObjectIDArray(mjintegrationobject_, { userPayload, providers }, pubSub) {
62779
+ this.CheckUserReadPermissions('MJ: Integration Object Fields', userPayload);
62780
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62781
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwIntegrationObjectFields')} WHERE ${provider.QuoteIdentifier('IntegrationObjectID')}='${mjintegrationobject_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Integration Object Fields', userPayload, EntityPermissionType.Read, 'AND');
62782
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
62783
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Integration Object Fields', rows, this.GetUserFromPayload(userPayload));
62784
+ return result;
62785
+ }
62786
+ async MJIntegrationObjectFields_RelatedIntegrationObjectIDArray(mjintegrationobject_, { userPayload, providers }, pubSub) {
62787
+ this.CheckUserReadPermissions('MJ: Integration Object Fields', userPayload);
62788
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
62789
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwIntegrationObjectFields')} WHERE ${provider.QuoteIdentifier('RelatedIntegrationObjectID')}='${mjintegrationobject_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Integration Object Fields', userPayload, EntityPermissionType.Read, 'AND');
62790
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
62791
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Integration Object Fields', rows, this.GetUserFromPayload(userPayload));
62792
+ return result;
62793
+ }
62794
+ async CreateMJIntegrationObject(input, { providers, userPayload }, pubSub) {
62795
+ const provider = GetReadWriteProvider(providers);
62796
+ return this.CreateRecord('MJ: Integration Objects', input, provider, userPayload, pubSub);
62797
+ }
62798
+ async UpdateMJIntegrationObject(input, { providers, userPayload }, pubSub) {
62799
+ const provider = GetReadWriteProvider(providers);
62800
+ return this.UpdateRecord('MJ: Integration Objects', input, provider, userPayload, pubSub);
62801
+ }
62802
+ async DeleteMJIntegrationObject(ID, options, { providers, userPayload }, pubSub) {
62803
+ const provider = GetReadWriteProvider(providers);
62804
+ const key = new CompositeKey([{ FieldName: 'ID', Value: ID }]);
62805
+ return this.DeleteRecord('MJ: Integration Objects', key, options, provider, userPayload, pubSub);
62806
+ }
62807
+ };
62808
+ __decorate([
62809
+ Query(() => RunMJIntegrationObjectViewResult),
62810
+ __param(0, Arg('input', () => RunViewByIDInput)),
62811
+ __param(1, Ctx()),
62812
+ __param(2, PubSub()),
62813
+ __metadata("design:type", Function),
62814
+ __metadata("design:paramtypes", [RunViewByIDInput, Object, PubSubEngine]),
62815
+ __metadata("design:returntype", Promise)
62816
+ ], MJIntegrationObjectResolver.prototype, "RunMJIntegrationObjectViewByID", null);
62817
+ __decorate([
62818
+ Query(() => RunMJIntegrationObjectViewResult),
62819
+ __param(0, Arg('input', () => RunViewByNameInput)),
62820
+ __param(1, Ctx()),
62821
+ __param(2, PubSub()),
62822
+ __metadata("design:type", Function),
62823
+ __metadata("design:paramtypes", [RunViewByNameInput, Object, PubSubEngine]),
62824
+ __metadata("design:returntype", Promise)
62825
+ ], MJIntegrationObjectResolver.prototype, "RunMJIntegrationObjectViewByName", null);
62826
+ __decorate([
62827
+ Query(() => RunMJIntegrationObjectViewResult),
62828
+ __param(0, Arg('input', () => RunDynamicViewInput)),
62829
+ __param(1, Ctx()),
62830
+ __param(2, PubSub()),
62831
+ __metadata("design:type", Function),
62832
+ __metadata("design:paramtypes", [RunDynamicViewInput, Object, PubSubEngine]),
62833
+ __metadata("design:returntype", Promise)
62834
+ ], MJIntegrationObjectResolver.prototype, "RunMJIntegrationObjectDynamicView", null);
62835
+ __decorate([
62836
+ Query(() => MJIntegrationObject_, { nullable: true }),
62837
+ __param(0, Arg('ID', () => String)),
62838
+ __param(1, Ctx()),
62839
+ __param(2, PubSub()),
62840
+ __metadata("design:type", Function),
62841
+ __metadata("design:paramtypes", [String, Object, PubSubEngine]),
62842
+ __metadata("design:returntype", Promise)
62843
+ ], MJIntegrationObjectResolver.prototype, "MJIntegrationObject", null);
62844
+ __decorate([
62845
+ FieldResolver(() => [MJIntegrationObjectField_]),
62846
+ __param(0, Root()),
62847
+ __param(1, Ctx()),
62848
+ __param(2, PubSub()),
62849
+ __metadata("design:type", Function),
62850
+ __metadata("design:paramtypes", [MJIntegrationObject_, Object, PubSubEngine]),
62851
+ __metadata("design:returntype", Promise)
62852
+ ], MJIntegrationObjectResolver.prototype, "MJIntegrationObjectFields_IntegrationObjectIDArray", null);
62853
+ __decorate([
62854
+ FieldResolver(() => [MJIntegrationObjectField_]),
62855
+ __param(0, Root()),
62856
+ __param(1, Ctx()),
62857
+ __param(2, PubSub()),
62858
+ __metadata("design:type", Function),
62859
+ __metadata("design:paramtypes", [MJIntegrationObject_, Object, PubSubEngine]),
62860
+ __metadata("design:returntype", Promise)
62861
+ ], MJIntegrationObjectResolver.prototype, "MJIntegrationObjectFields_RelatedIntegrationObjectIDArray", null);
62862
+ __decorate([
62863
+ Mutation(() => MJIntegrationObject_),
62864
+ __param(0, Arg('input', () => CreateMJIntegrationObjectInput)),
62865
+ __param(1, Ctx()),
62866
+ __param(2, PubSub()),
62867
+ __metadata("design:type", Function),
62868
+ __metadata("design:paramtypes", [CreateMJIntegrationObjectInput, Object, PubSubEngine]),
62869
+ __metadata("design:returntype", Promise)
62870
+ ], MJIntegrationObjectResolver.prototype, "CreateMJIntegrationObject", null);
62871
+ __decorate([
62872
+ Mutation(() => MJIntegrationObject_),
62873
+ __param(0, Arg('input', () => UpdateMJIntegrationObjectInput)),
62874
+ __param(1, Ctx()),
62875
+ __param(2, PubSub()),
62876
+ __metadata("design:type", Function),
62877
+ __metadata("design:paramtypes", [UpdateMJIntegrationObjectInput, Object, PubSubEngine]),
62878
+ __metadata("design:returntype", Promise)
62879
+ ], MJIntegrationObjectResolver.prototype, "UpdateMJIntegrationObject", null);
62880
+ __decorate([
62881
+ Mutation(() => MJIntegrationObject_),
62882
+ __param(0, Arg('ID', () => String)),
62883
+ __param(1, Arg('options___', () => DeleteOptionsInput)),
62884
+ __param(2, Ctx()),
62885
+ __param(3, PubSub()),
62886
+ __metadata("design:type", Function),
62887
+ __metadata("design:paramtypes", [String, DeleteOptionsInput, Object, PubSubEngine]),
62888
+ __metadata("design:returntype", Promise)
62889
+ ], MJIntegrationObjectResolver.prototype, "DeleteMJIntegrationObject", null);
62890
+ MJIntegrationObjectResolver = __decorate([
62891
+ Resolver(MJIntegrationObject_)
62892
+ ], MJIntegrationObjectResolver);
62893
+ export { MJIntegrationObjectResolver };
62894
+ //****************************************************************************
61867
62895
  // ENTITY CLASS for MJ: Integration Source Types
61868
62896
  //****************************************************************************
61869
62897
  let MJIntegrationSourceType_ = class MJIntegrationSourceType_ {
@@ -62489,6 +63517,10 @@ __decorate([
62489
63517
  Field(() => [MJRecordChange_]),
62490
63518
  __metadata("design:type", Array)
62491
63519
  ], MJIntegration_.prototype, "MJRecordChanges_IntegrationIDArray", void 0);
63520
+ __decorate([
63521
+ Field(() => [MJIntegrationObject_]),
63522
+ __metadata("design:type", Array)
63523
+ ], MJIntegration_.prototype, "MJIntegrationObjects_IntegrationIDArray", void 0);
62492
63524
  MJIntegration_ = __decorate([
62493
63525
  ObjectType({ description: `Catalog of all integrations that have been configured in the system.` })
62494
63526
  ], MJIntegration_);
@@ -62678,6 +63710,14 @@ let MJIntegrationResolver = class MJIntegrationResolver extends ResolverBase {
62678
63710
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Record Changes', rows, this.GetUserFromPayload(userPayload));
62679
63711
  return result;
62680
63712
  }
63713
+ async MJIntegrationObjects_IntegrationIDArray(mjintegration_, { userPayload, providers }, pubSub) {
63714
+ this.CheckUserReadPermissions('MJ: Integration Objects', userPayload);
63715
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
63716
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwIntegrationObjects')} WHERE ${provider.QuoteIdentifier('IntegrationID')}='${mjintegration_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Integration Objects', userPayload, EntityPermissionType.Read, 'AND');
63717
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
63718
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Integration Objects', rows, this.GetUserFromPayload(userPayload));
63719
+ return result;
63720
+ }
62681
63721
  async CreateMJIntegration(input, { providers, userPayload }, pubSub) {
62682
63722
  const provider = GetReadWriteProvider(providers);
62683
63723
  return this.CreateRecord('MJ: Integrations', input, provider, userPayload, pubSub);
@@ -62763,6 +63803,15 @@ __decorate([
62763
63803
  __metadata("design:paramtypes", [MJIntegration_, Object, PubSubEngine]),
62764
63804
  __metadata("design:returntype", Promise)
62765
63805
  ], MJIntegrationResolver.prototype, "MJRecordChanges_IntegrationIDArray", null);
63806
+ __decorate([
63807
+ FieldResolver(() => [MJIntegrationObject_]),
63808
+ __param(0, Root()),
63809
+ __param(1, Ctx()),
63810
+ __param(2, PubSub()),
63811
+ __metadata("design:type", Function),
63812
+ __metadata("design:paramtypes", [MJIntegration_, Object, PubSubEngine]),
63813
+ __metadata("design:returntype", Promise)
63814
+ ], MJIntegrationResolver.prototype, "MJIntegrationObjects_IntegrationIDArray", null);
62766
63815
  __decorate([
62767
63816
  Mutation(() => MJIntegration_),
62768
63817
  __param(0, Arg('input', () => CreateMJIntegrationInput)),