@memberjunction/core-entities 5.7.0 → 5.8.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.
@@ -7660,6 +7660,218 @@ export const MJCompanySchema = z.object({
7660
7660
  * * SQL Data Type: datetimeoffset
7661
7661
  * * Default Value: getutcdate()`),
7662
7662
  });
7663
+ /**
7664
+ * zod schema definition for the entity MJ: Company Integration Entity Maps
7665
+ */
7666
+ export const MJCompanyIntegrationEntityMapSchema = z.object({
7667
+ ID: z.string().describe(`
7668
+ * * Field Name: ID
7669
+ * * Display Name: ID
7670
+ * * SQL Data Type: uniqueidentifier
7671
+ * * Default Value: newsequentialid()`),
7672
+ CompanyIntegrationID: z.string().describe(`
7673
+ * * Field Name: CompanyIntegrationID
7674
+ * * Display Name: Company Integration
7675
+ * * SQL Data Type: uniqueidentifier
7676
+ * * Related Entity/Foreign Key: MJ: Company Integrations (vwCompanyIntegrations.ID)`),
7677
+ ExternalObjectName: z.string().describe(`
7678
+ * * Field Name: ExternalObjectName
7679
+ * * Display Name: External Object Name
7680
+ * * SQL Data Type: nvarchar(500)
7681
+ * * Description: The name of the object in the external system (e.g. table name, API resource name).`),
7682
+ ExternalObjectLabel: z.string().nullable().describe(`
7683
+ * * Field Name: ExternalObjectLabel
7684
+ * * Display Name: External Object Label
7685
+ * * SQL Data Type: nvarchar(500)
7686
+ * * Description: Optional human-friendly label for the external object.`),
7687
+ EntityID: z.string().describe(`
7688
+ * * Field Name: EntityID
7689
+ * * Display Name: Entity
7690
+ * * SQL Data Type: uniqueidentifier
7691
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)`),
7692
+ SyncDirection: z.union([z.literal('Bidirectional'), z.literal('Pull'), z.literal('Push')]).describe(`
7693
+ * * Field Name: SyncDirection
7694
+ * * Display Name: Sync Direction
7695
+ * * SQL Data Type: nvarchar(50)
7696
+ * * Default Value: Pull
7697
+ * * Value List Type: List
7698
+ * * Possible Values
7699
+ * * Bidirectional
7700
+ * * Pull
7701
+ * * Push
7702
+ * * Description: Whether data flows from external to MJ (Pull), MJ to external (Push), or both.`),
7703
+ SyncEnabled: z.boolean().describe(`
7704
+ * * Field Name: SyncEnabled
7705
+ * * Display Name: Sync Enabled
7706
+ * * SQL Data Type: bit
7707
+ * * Default Value: 1
7708
+ * * Description: When true, this entity map is included in sync runs.`),
7709
+ MatchStrategy: z.string().nullable().describe(`
7710
+ * * Field Name: MatchStrategy
7711
+ * * Display Name: Match Strategy
7712
+ * * SQL Data Type: nvarchar(MAX)
7713
+ * * Description: JSON configuration for the match engine describing how to identify existing records (key fields, fuzzy thresholds, etc.).`),
7714
+ ConflictResolution: z.union([z.literal('DestWins'), z.literal('Manual'), z.literal('MostRecent'), z.literal('SourceWins')]).describe(`
7715
+ * * Field Name: ConflictResolution
7716
+ * * Display Name: Conflict Resolution
7717
+ * * SQL Data Type: nvarchar(50)
7718
+ * * Default Value: SourceWins
7719
+ * * Value List Type: List
7720
+ * * Possible Values
7721
+ * * DestWins
7722
+ * * Manual
7723
+ * * MostRecent
7724
+ * * SourceWins
7725
+ * * Description: How to handle conflicts when both source and destination have been modified. SourceWins, DestWins, MostRecent, or Manual.`),
7726
+ Priority: z.number().describe(`
7727
+ * * Field Name: Priority
7728
+ * * Display Name: Priority
7729
+ * * SQL Data Type: int
7730
+ * * Default Value: 0
7731
+ * * Description: Processing order when multiple entity maps exist. Lower numbers are processed first.`),
7732
+ DeleteBehavior: z.union([z.literal('DoNothing'), z.literal('HardDelete'), z.literal('SoftDelete')]).describe(`
7733
+ * * Field Name: DeleteBehavior
7734
+ * * Display Name: Delete Behavior
7735
+ * * SQL Data Type: nvarchar(50)
7736
+ * * Default Value: SoftDelete
7737
+ * * Value List Type: List
7738
+ * * Possible Values
7739
+ * * DoNothing
7740
+ * * HardDelete
7741
+ * * SoftDelete
7742
+ * * Description: How to handle records that no longer exist in the source. SoftDelete, DoNothing, or HardDelete.`),
7743
+ Status: z.union([z.literal('Active'), z.literal('Inactive')]).describe(`
7744
+ * * Field Name: Status
7745
+ * * Display Name: Status
7746
+ * * SQL Data Type: nvarchar(50)
7747
+ * * Default Value: Active
7748
+ * * Value List Type: List
7749
+ * * Possible Values
7750
+ * * Active
7751
+ * * Inactive
7752
+ * * Description: Whether this entity map is Active or Inactive.`),
7753
+ Configuration: z.string().nullable().describe(`
7754
+ * * Field Name: Configuration
7755
+ * * Display Name: Configuration
7756
+ * * SQL Data Type: nvarchar(MAX)
7757
+ * * Description: Optional JSON configuration specific to this entity mapping.`),
7758
+ __mj_CreatedAt: z.date().describe(`
7759
+ * * Field Name: __mj_CreatedAt
7760
+ * * Display Name: Created At
7761
+ * * SQL Data Type: datetimeoffset
7762
+ * * Default Value: getutcdate()`),
7763
+ __mj_UpdatedAt: z.date().describe(`
7764
+ * * Field Name: __mj_UpdatedAt
7765
+ * * Display Name: Updated At
7766
+ * * SQL Data Type: datetimeoffset
7767
+ * * Default Value: getutcdate()`),
7768
+ CompanyIntegration: z.string().describe(`
7769
+ * * Field Name: CompanyIntegration
7770
+ * * Display Name: Company Integration Name
7771
+ * * SQL Data Type: nvarchar(255)`),
7772
+ Entity: z.string().describe(`
7773
+ * * Field Name: Entity
7774
+ * * Display Name: Entity Name
7775
+ * * SQL Data Type: nvarchar(255)`),
7776
+ });
7777
+ /**
7778
+ * zod schema definition for the entity MJ: Company Integration Field Maps
7779
+ */
7780
+ export const MJCompanyIntegrationFieldMapSchema = z.object({
7781
+ ID: z.string().describe(`
7782
+ * * Field Name: ID
7783
+ * * Display Name: ID
7784
+ * * SQL Data Type: uniqueidentifier
7785
+ * * Default Value: newsequentialid()`),
7786
+ EntityMapID: z.string().describe(`
7787
+ * * Field Name: EntityMapID
7788
+ * * Display Name: Entity Map ID
7789
+ * * SQL Data Type: uniqueidentifier
7790
+ * * Related Entity/Foreign Key: MJ: Company Integration Entity Maps (vwCompanyIntegrationEntityMaps.ID)`),
7791
+ SourceFieldName: z.string().describe(`
7792
+ * * Field Name: SourceFieldName
7793
+ * * Display Name: Source Field Name
7794
+ * * SQL Data Type: nvarchar(500)
7795
+ * * Description: The field/column name in the external source system.`),
7796
+ SourceFieldLabel: z.string().nullable().describe(`
7797
+ * * Field Name: SourceFieldLabel
7798
+ * * Display Name: Source Field Label
7799
+ * * SQL Data Type: nvarchar(500)
7800
+ * * Description: Optional human-friendly label for the source field.`),
7801
+ DestinationFieldName: z.string().describe(`
7802
+ * * Field Name: DestinationFieldName
7803
+ * * Display Name: Destination Field Name
7804
+ * * SQL Data Type: nvarchar(500)
7805
+ * * Description: The MJ entity field name this source field maps to.`),
7806
+ DestinationFieldLabel: z.string().nullable().describe(`
7807
+ * * Field Name: DestinationFieldLabel
7808
+ * * Display Name: Destination Field Label
7809
+ * * SQL Data Type: nvarchar(500)
7810
+ * * Description: Optional human-friendly label for the destination field.`),
7811
+ Direction: z.union([z.literal('Both'), z.literal('DestToSource'), z.literal('SourceToDest')]).describe(`
7812
+ * * Field Name: Direction
7813
+ * * Display Name: Direction
7814
+ * * SQL Data Type: nvarchar(50)
7815
+ * * Default Value: SourceToDest
7816
+ * * Value List Type: List
7817
+ * * Possible Values
7818
+ * * Both
7819
+ * * DestToSource
7820
+ * * SourceToDest
7821
+ * * Description: Direction of field mapping: SourceToDest, DestToSource, or Both.`),
7822
+ TransformPipeline: z.string().nullable().describe(`
7823
+ * * Field Name: TransformPipeline
7824
+ * * Display Name: Transform Pipeline
7825
+ * * SQL Data Type: nvarchar(MAX)
7826
+ * * Description: JSON array of transform names to apply in order (e.g. ["trim", "uppercase"]). See FieldMappingEngine for available transforms.`),
7827
+ IsKeyField: z.boolean().describe(`
7828
+ * * Field Name: IsKeyField
7829
+ * * Display Name: Is Key Field
7830
+ * * SQL Data Type: bit
7831
+ * * Default Value: 0
7832
+ * * Description: When true, this field is used by the MatchEngine to find existing records during sync.`),
7833
+ IsRequired: z.boolean().describe(`
7834
+ * * Field Name: IsRequired
7835
+ * * Display Name: Is Required
7836
+ * * SQL Data Type: bit
7837
+ * * Default Value: 0
7838
+ * * Description: When true, a sync record is rejected if this field has no value.`),
7839
+ DefaultValue: z.string().nullable().describe(`
7840
+ * * Field Name: DefaultValue
7841
+ * * Display Name: Default Value
7842
+ * * SQL Data Type: nvarchar(MAX)
7843
+ * * Description: Default value to use when the source field is null or missing.`),
7844
+ Priority: z.number().describe(`
7845
+ * * Field Name: Priority
7846
+ * * Display Name: Priority
7847
+ * * SQL Data Type: int
7848
+ * * Default Value: 0
7849
+ * * Description: Processing order for this field mapping within the entity map.`),
7850
+ Status: z.union([z.literal('Active'), z.literal('Inactive')]).describe(`
7851
+ * * Field Name: Status
7852
+ * * Display Name: Status
7853
+ * * SQL Data Type: nvarchar(50)
7854
+ * * Default Value: Active
7855
+ * * Value List Type: List
7856
+ * * Possible Values
7857
+ * * Active
7858
+ * * Inactive
7859
+ * * Description: Whether this field mapping is Active or Inactive.`),
7860
+ __mj_CreatedAt: z.date().describe(`
7861
+ * * Field Name: __mj_CreatedAt
7862
+ * * Display Name: Created At
7863
+ * * SQL Data Type: datetimeoffset
7864
+ * * Default Value: getutcdate()`),
7865
+ __mj_UpdatedAt: z.date().describe(`
7866
+ * * Field Name: __mj_UpdatedAt
7867
+ * * Display Name: Updated At
7868
+ * * SQL Data Type: datetimeoffset
7869
+ * * Default Value: getutcdate()`),
7870
+ EntityMap: z.string().describe(`
7871
+ * * Field Name: EntityMap
7872
+ * * Display Name: Entity Map
7873
+ * * SQL Data Type: nvarchar(500)`),
7874
+ });
7663
7875
  /**
7664
7876
  * zod schema definition for the entity MJ: Company Integration Record Maps
7665
7877
  */
@@ -7918,6 +8130,73 @@ export const MJCompanyIntegrationRunSchema = z.object({
7918
8130
  * * Display Name: Run By User
7919
8131
  * * SQL Data Type: nvarchar(100)`),
7920
8132
  });
8133
+ /**
8134
+ * zod schema definition for the entity MJ: Company Integration Sync Watermarks
8135
+ */
8136
+ export const MJCompanyIntegrationSyncWatermarkSchema = z.object({
8137
+ ID: z.string().describe(`
8138
+ * * Field Name: ID
8139
+ * * Display Name: ID
8140
+ * * SQL Data Type: uniqueidentifier
8141
+ * * Default Value: newsequentialid()`),
8142
+ EntityMapID: z.string().describe(`
8143
+ * * Field Name: EntityMapID
8144
+ * * Display Name: Entity Map
8145
+ * * SQL Data Type: uniqueidentifier
8146
+ * * Related Entity/Foreign Key: MJ: Company Integration Entity Maps (vwCompanyIntegrationEntityMaps.ID)`),
8147
+ Direction: z.union([z.literal('Pull'), z.literal('Push')]).describe(`
8148
+ * * Field Name: Direction
8149
+ * * Display Name: Direction
8150
+ * * SQL Data Type: nvarchar(50)
8151
+ * * Default Value: Pull
8152
+ * * Value List Type: List
8153
+ * * Possible Values
8154
+ * * Pull
8155
+ * * Push
8156
+ * * Description: Sync direction this watermark tracks: Pull or Push.`),
8157
+ WatermarkType: z.union([z.literal('ChangeToken'), z.literal('Cursor'), z.literal('Timestamp'), z.literal('Version')]).describe(`
8158
+ * * Field Name: WatermarkType
8159
+ * * Display Name: Watermark Type
8160
+ * * SQL Data Type: nvarchar(50)
8161
+ * * Default Value: Timestamp
8162
+ * * Value List Type: List
8163
+ * * Possible Values
8164
+ * * ChangeToken
8165
+ * * Cursor
8166
+ * * Timestamp
8167
+ * * Version
8168
+ * * Description: The type of watermark: Timestamp, Cursor, ChangeToken, or Version.`),
8169
+ WatermarkValue: z.string().nullable().describe(`
8170
+ * * Field Name: WatermarkValue
8171
+ * * Display Name: Watermark Value
8172
+ * * SQL Data Type: nvarchar(MAX)
8173
+ * * Description: The serialized watermark value used to resume incremental sync.`),
8174
+ LastSyncAt: z.date().nullable().describe(`
8175
+ * * Field Name: LastSyncAt
8176
+ * * Display Name: Last Sync At
8177
+ * * SQL Data Type: datetimeoffset
8178
+ * * Description: Timestamp of the last successful sync for this watermark.`),
8179
+ RecordsSynced: z.number().describe(`
8180
+ * * Field Name: RecordsSynced
8181
+ * * Display Name: Records Synced
8182
+ * * SQL Data Type: int
8183
+ * * Default Value: 0
8184
+ * * Description: Cumulative count of records synced through this watermark.`),
8185
+ __mj_CreatedAt: z.date().describe(`
8186
+ * * Field Name: __mj_CreatedAt
8187
+ * * Display Name: Created At
8188
+ * * SQL Data Type: datetimeoffset
8189
+ * * Default Value: getutcdate()`),
8190
+ __mj_UpdatedAt: z.date().describe(`
8191
+ * * Field Name: __mj_UpdatedAt
8192
+ * * Display Name: Updated At
8193
+ * * SQL Data Type: datetimeoffset
8194
+ * * Default Value: getutcdate()`),
8195
+ EntityMap: z.string().describe(`
8196
+ * * Field Name: EntityMap
8197
+ * * Display Name: Entity Map Name
8198
+ * * SQL Data Type: nvarchar(500)`),
8199
+ });
7921
8200
  /**
7922
8201
  * zod schema definition for the entity MJ: Company Integrations
7923
8202
  */
@@ -8003,13 +8282,30 @@ export const MJCompanyIntegrationSchema = z.object({
8003
8282
  * * Display Name: Name
8004
8283
  * * SQL Data Type: nvarchar(255)
8005
8284
  * * Description: User-friendly name for the company integration instance, typically in the format "Company: Integration".`),
8285
+ SourceTypeID: z.string().nullable().describe(`
8286
+ * * Field Name: SourceTypeID
8287
+ * * Display Name: Source Type
8288
+ * * SQL Data Type: uniqueidentifier
8289
+ * * Related Entity/Foreign Key: MJ: Integration Source Types (vwIntegrationSourceTypes.ID)
8290
+ * * Description: Links this integration to its source type (SaaS API, Database, File Feed, etc.).`),
8291
+ Configuration: z.string().nullable().describe(`
8292
+ * * Field Name: Configuration
8293
+ * * Display Name: Configuration
8294
+ * * SQL Data Type: nvarchar(MAX)
8295
+ * * Description: JSON configuration for the integration connection (server, database, credentials reference, etc.).`),
8296
+ CredentialID: z.string().nullable().describe(`
8297
+ * * Field Name: CredentialID
8298
+ * * Display Name: Credential
8299
+ * * SQL Data Type: uniqueidentifier
8300
+ * * Related Entity/Foreign Key: MJ: Credentials (vwCredentials.ID)
8301
+ * * Description: Optional reference to a Credential record that stores encrypted authentication values for this company integration. Replaces the legacy inline auth fields (AccessToken, RefreshToken, APIKey, etc.).`),
8006
8302
  Company: z.string().describe(`
8007
8303
  * * Field Name: Company
8008
- * * Display Name: Company
8304
+ * * Display Name: Company Name
8009
8305
  * * SQL Data Type: nvarchar(50)`),
8010
8306
  Integration: z.string().describe(`
8011
8307
  * * Field Name: Integration
8012
- * * Display Name: Integration
8308
+ * * Display Name: Integration Name
8013
8309
  * * SQL Data Type: nvarchar(100)`),
8014
8310
  DriverClassName: z.string().nullable().describe(`
8015
8311
  * * Field Name: DriverClassName
@@ -8021,7 +8317,7 @@ export const MJCompanyIntegrationSchema = z.object({
8021
8317
  * * SQL Data Type: nvarchar(100)`),
8022
8318
  LastRunID: z.string().nullable().describe(`
8023
8319
  * * Field Name: LastRunID
8024
- * * Display Name: Last Run ID
8320
+ * * Display Name: Last Run
8025
8321
  * * SQL Data Type: uniqueidentifier`),
8026
8322
  LastRunStartedAt: z.date().nullable().describe(`
8027
8323
  * * Field Name: LastRunStartedAt
@@ -13788,6 +14084,56 @@ export const MJGeneratedCodeSchema = z.object({
13788
14084
  * * Display Name: Linked Entity
13789
14085
  * * SQL Data Type: nvarchar(255)`),
13790
14086
  });
14087
+ /**
14088
+ * zod schema definition for the entity MJ: Integration Source Types
14089
+ */
14090
+ export const MJIntegrationSourceTypeSchema = z.object({
14091
+ ID: z.string().describe(`
14092
+ * * Field Name: ID
14093
+ * * Display Name: ID
14094
+ * * SQL Data Type: uniqueidentifier
14095
+ * * Default Value: newsequentialid()`),
14096
+ Name: z.string().describe(`
14097
+ * * Field Name: Name
14098
+ * * Display Name: Name
14099
+ * * SQL Data Type: nvarchar(200)
14100
+ * * Description: Display name for this source type (e.g. SaaS API, Relational Database, File Feed).`),
14101
+ Description: z.string().nullable().describe(`
14102
+ * * Field Name: Description
14103
+ * * Display Name: Description
14104
+ * * SQL Data Type: nvarchar(MAX)
14105
+ * * Description: Optional longer description of this source type.`),
14106
+ DriverClass: z.string().describe(`
14107
+ * * Field Name: DriverClass
14108
+ * * Display Name: Driver Class
14109
+ * * SQL Data Type: nvarchar(500)
14110
+ * * Description: Fully-qualified class name registered via @RegisterClass that implements BaseIntegrationConnector for this source type.`),
14111
+ IconClass: z.string().nullable().describe(`
14112
+ * * Field Name: IconClass
14113
+ * * Display Name: Icon Class
14114
+ * * SQL Data Type: nvarchar(200)
14115
+ * * Description: Font Awesome icon class for UI display.`),
14116
+ Status: z.union([z.literal('Active'), z.literal('Inactive')]).describe(`
14117
+ * * Field Name: Status
14118
+ * * Display Name: Status
14119
+ * * SQL Data Type: nvarchar(50)
14120
+ * * Default Value: Active
14121
+ * * Value List Type: List
14122
+ * * Possible Values
14123
+ * * Active
14124
+ * * Inactive
14125
+ * * Description: Whether this source type is available for use. Active or Inactive.`),
14126
+ __mj_CreatedAt: z.date().describe(`
14127
+ * * Field Name: __mj_CreatedAt
14128
+ * * Display Name: Created At
14129
+ * * SQL Data Type: datetimeoffset
14130
+ * * Default Value: getutcdate()`),
14131
+ __mj_UpdatedAt: z.date().describe(`
14132
+ * * Field Name: __mj_UpdatedAt
14133
+ * * Display Name: Updated At
14134
+ * * SQL Data Type: datetimeoffset
14135
+ * * Default Value: getutcdate()`),
14136
+ });
13791
14137
  /**
13792
14138
  * zod schema definition for the entity MJ: Integration URL Formats
13793
14139
  */
@@ -13844,9 +14190,11 @@ export const MJIntegrationURLFormatSchema = z.object({
13844
14190
  export const MJIntegrationSchema = z.object({
13845
14191
  Name: z.string().describe(`
13846
14192
  * * Field Name: Name
14193
+ * * Display Name: Name
13847
14194
  * * SQL Data Type: nvarchar(100)`),
13848
14195
  Description: z.string().nullable().describe(`
13849
14196
  * * Field Name: Description
14197
+ * * Display Name: Description
13850
14198
  * * SQL Data Type: nvarchar(255)`),
13851
14199
  NavigationBaseURL: z.string().nullable().describe(`
13852
14200
  * * Field Name: NavigationBaseURL
@@ -13887,8 +14235,19 @@ export const MJIntegrationSchema = z.object({
13887
14235
  * * Default Value: getutcdate()`),
13888
14236
  ID: z.string().describe(`
13889
14237
  * * Field Name: ID
14238
+ * * Display Name: ID
13890
14239
  * * SQL Data Type: uniqueidentifier
13891
14240
  * * Default Value: newsequentialid()`),
14241
+ CredentialTypeID: z.string().nullable().describe(`
14242
+ * * Field Name: CredentialTypeID
14243
+ * * Display Name: Credential Type
14244
+ * * SQL Data Type: uniqueidentifier
14245
+ * * Related Entity/Foreign Key: MJ: Credential Types (vwCredentialTypes.ID)
14246
+ * * Description: Optional link to the credential type required by this integration. Used by the UI to pre-select the credential type when creating new credentials and to filter existing credentials.`),
14247
+ CredentialType: z.string().nullable().describe(`
14248
+ * * Field Name: CredentialType
14249
+ * * Display Name: Credential Type Name
14250
+ * * SQL Data Type: nvarchar(100)`),
13892
14251
  });
13893
14252
  /**
13894
14253
  * zod schema definition for the entity MJ: Libraries
@@ -41066,6 +41425,484 @@ MJCompanyEntity = __decorate([
41066
41425
  RegisterClass(BaseEntity, 'MJ: Companies')
41067
41426
  ], MJCompanyEntity);
41068
41427
  export { MJCompanyEntity };
41428
+ /**
41429
+ * MJ: Company Integration Entity Maps - strongly typed entity sub-class
41430
+ * * Schema: __mj
41431
+ * * Base Table: CompanyIntegrationEntityMap
41432
+ * * Base View: vwCompanyIntegrationEntityMaps
41433
+ * * @description Maps an external object from a company integration to a MemberJunction entity, controlling sync direction, matching, and conflict resolution.
41434
+ * * Primary Key: ID
41435
+ * @extends {BaseEntity}
41436
+ * @class
41437
+ * @public
41438
+ */
41439
+ let MJCompanyIntegrationEntityMapEntity = class MJCompanyIntegrationEntityMapEntity extends BaseEntity {
41440
+ /**
41441
+ * Loads the MJ: Company Integration Entity Maps record from the database
41442
+ * @param ID: string - primary key value to load the MJ: Company Integration Entity Maps record.
41443
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
41444
+ * @returns {Promise<boolean>} - true if successful, false otherwise
41445
+ * @public
41446
+ * @async
41447
+ * @memberof MJCompanyIntegrationEntityMapEntity
41448
+ * @method
41449
+ * @override
41450
+ */
41451
+ async Load(ID, EntityRelationshipsToLoad) {
41452
+ const compositeKey = new CompositeKey();
41453
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
41454
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
41455
+ }
41456
+ /**
41457
+ * * Field Name: ID
41458
+ * * Display Name: ID
41459
+ * * SQL Data Type: uniqueidentifier
41460
+ * * Default Value: newsequentialid()
41461
+ */
41462
+ get ID() {
41463
+ return this.Get('ID');
41464
+ }
41465
+ set ID(value) {
41466
+ this.Set('ID', value);
41467
+ }
41468
+ /**
41469
+ * * Field Name: CompanyIntegrationID
41470
+ * * Display Name: Company Integration
41471
+ * * SQL Data Type: uniqueidentifier
41472
+ * * Related Entity/Foreign Key: MJ: Company Integrations (vwCompanyIntegrations.ID)
41473
+ */
41474
+ get CompanyIntegrationID() {
41475
+ return this.Get('CompanyIntegrationID');
41476
+ }
41477
+ set CompanyIntegrationID(value) {
41478
+ this.Set('CompanyIntegrationID', value);
41479
+ }
41480
+ /**
41481
+ * * Field Name: ExternalObjectName
41482
+ * * Display Name: External Object Name
41483
+ * * SQL Data Type: nvarchar(500)
41484
+ * * Description: The name of the object in the external system (e.g. table name, API resource name).
41485
+ */
41486
+ get ExternalObjectName() {
41487
+ return this.Get('ExternalObjectName');
41488
+ }
41489
+ set ExternalObjectName(value) {
41490
+ this.Set('ExternalObjectName', value);
41491
+ }
41492
+ /**
41493
+ * * Field Name: ExternalObjectLabel
41494
+ * * Display Name: External Object Label
41495
+ * * SQL Data Type: nvarchar(500)
41496
+ * * Description: Optional human-friendly label for the external object.
41497
+ */
41498
+ get ExternalObjectLabel() {
41499
+ return this.Get('ExternalObjectLabel');
41500
+ }
41501
+ set ExternalObjectLabel(value) {
41502
+ this.Set('ExternalObjectLabel', value);
41503
+ }
41504
+ /**
41505
+ * * Field Name: EntityID
41506
+ * * Display Name: Entity
41507
+ * * SQL Data Type: uniqueidentifier
41508
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
41509
+ */
41510
+ get EntityID() {
41511
+ return this.Get('EntityID');
41512
+ }
41513
+ set EntityID(value) {
41514
+ this.Set('EntityID', value);
41515
+ }
41516
+ /**
41517
+ * * Field Name: SyncDirection
41518
+ * * Display Name: Sync Direction
41519
+ * * SQL Data Type: nvarchar(50)
41520
+ * * Default Value: Pull
41521
+ * * Value List Type: List
41522
+ * * Possible Values
41523
+ * * Bidirectional
41524
+ * * Pull
41525
+ * * Push
41526
+ * * Description: Whether data flows from external to MJ (Pull), MJ to external (Push), or both.
41527
+ */
41528
+ get SyncDirection() {
41529
+ return this.Get('SyncDirection');
41530
+ }
41531
+ set SyncDirection(value) {
41532
+ this.Set('SyncDirection', value);
41533
+ }
41534
+ /**
41535
+ * * Field Name: SyncEnabled
41536
+ * * Display Name: Sync Enabled
41537
+ * * SQL Data Type: bit
41538
+ * * Default Value: 1
41539
+ * * Description: When true, this entity map is included in sync runs.
41540
+ */
41541
+ get SyncEnabled() {
41542
+ return this.Get('SyncEnabled');
41543
+ }
41544
+ set SyncEnabled(value) {
41545
+ this.Set('SyncEnabled', value);
41546
+ }
41547
+ /**
41548
+ * * Field Name: MatchStrategy
41549
+ * * Display Name: Match Strategy
41550
+ * * SQL Data Type: nvarchar(MAX)
41551
+ * * Description: JSON configuration for the match engine describing how to identify existing records (key fields, fuzzy thresholds, etc.).
41552
+ */
41553
+ get MatchStrategy() {
41554
+ return this.Get('MatchStrategy');
41555
+ }
41556
+ set MatchStrategy(value) {
41557
+ this.Set('MatchStrategy', value);
41558
+ }
41559
+ /**
41560
+ * * Field Name: ConflictResolution
41561
+ * * Display Name: Conflict Resolution
41562
+ * * SQL Data Type: nvarchar(50)
41563
+ * * Default Value: SourceWins
41564
+ * * Value List Type: List
41565
+ * * Possible Values
41566
+ * * DestWins
41567
+ * * Manual
41568
+ * * MostRecent
41569
+ * * SourceWins
41570
+ * * Description: How to handle conflicts when both source and destination have been modified. SourceWins, DestWins, MostRecent, or Manual.
41571
+ */
41572
+ get ConflictResolution() {
41573
+ return this.Get('ConflictResolution');
41574
+ }
41575
+ set ConflictResolution(value) {
41576
+ this.Set('ConflictResolution', value);
41577
+ }
41578
+ /**
41579
+ * * Field Name: Priority
41580
+ * * Display Name: Priority
41581
+ * * SQL Data Type: int
41582
+ * * Default Value: 0
41583
+ * * Description: Processing order when multiple entity maps exist. Lower numbers are processed first.
41584
+ */
41585
+ get Priority() {
41586
+ return this.Get('Priority');
41587
+ }
41588
+ set Priority(value) {
41589
+ this.Set('Priority', value);
41590
+ }
41591
+ /**
41592
+ * * Field Name: DeleteBehavior
41593
+ * * Display Name: Delete Behavior
41594
+ * * SQL Data Type: nvarchar(50)
41595
+ * * Default Value: SoftDelete
41596
+ * * Value List Type: List
41597
+ * * Possible Values
41598
+ * * DoNothing
41599
+ * * HardDelete
41600
+ * * SoftDelete
41601
+ * * Description: How to handle records that no longer exist in the source. SoftDelete, DoNothing, or HardDelete.
41602
+ */
41603
+ get DeleteBehavior() {
41604
+ return this.Get('DeleteBehavior');
41605
+ }
41606
+ set DeleteBehavior(value) {
41607
+ this.Set('DeleteBehavior', value);
41608
+ }
41609
+ /**
41610
+ * * Field Name: Status
41611
+ * * Display Name: Status
41612
+ * * SQL Data Type: nvarchar(50)
41613
+ * * Default Value: Active
41614
+ * * Value List Type: List
41615
+ * * Possible Values
41616
+ * * Active
41617
+ * * Inactive
41618
+ * * Description: Whether this entity map is Active or Inactive.
41619
+ */
41620
+ get Status() {
41621
+ return this.Get('Status');
41622
+ }
41623
+ set Status(value) {
41624
+ this.Set('Status', value);
41625
+ }
41626
+ /**
41627
+ * * Field Name: Configuration
41628
+ * * Display Name: Configuration
41629
+ * * SQL Data Type: nvarchar(MAX)
41630
+ * * Description: Optional JSON configuration specific to this entity mapping.
41631
+ */
41632
+ get Configuration() {
41633
+ return this.Get('Configuration');
41634
+ }
41635
+ set Configuration(value) {
41636
+ this.Set('Configuration', value);
41637
+ }
41638
+ /**
41639
+ * * Field Name: __mj_CreatedAt
41640
+ * * Display Name: Created At
41641
+ * * SQL Data Type: datetimeoffset
41642
+ * * Default Value: getutcdate()
41643
+ */
41644
+ get __mj_CreatedAt() {
41645
+ return this.Get('__mj_CreatedAt');
41646
+ }
41647
+ /**
41648
+ * * Field Name: __mj_UpdatedAt
41649
+ * * Display Name: Updated At
41650
+ * * SQL Data Type: datetimeoffset
41651
+ * * Default Value: getutcdate()
41652
+ */
41653
+ get __mj_UpdatedAt() {
41654
+ return this.Get('__mj_UpdatedAt');
41655
+ }
41656
+ /**
41657
+ * * Field Name: CompanyIntegration
41658
+ * * Display Name: Company Integration Name
41659
+ * * SQL Data Type: nvarchar(255)
41660
+ */
41661
+ get CompanyIntegration() {
41662
+ return this.Get('CompanyIntegration');
41663
+ }
41664
+ /**
41665
+ * * Field Name: Entity
41666
+ * * Display Name: Entity Name
41667
+ * * SQL Data Type: nvarchar(255)
41668
+ */
41669
+ get Entity() {
41670
+ return this.Get('Entity');
41671
+ }
41672
+ };
41673
+ MJCompanyIntegrationEntityMapEntity = __decorate([
41674
+ RegisterClass(BaseEntity, 'MJ: Company Integration Entity Maps')
41675
+ ], MJCompanyIntegrationEntityMapEntity);
41676
+ export { MJCompanyIntegrationEntityMapEntity };
41677
+ /**
41678
+ * MJ: Company Integration Field Maps - strongly typed entity sub-class
41679
+ * * Schema: __mj
41680
+ * * Base Table: CompanyIntegrationFieldMap
41681
+ * * Base View: vwCompanyIntegrationFieldMaps
41682
+ * * @description Maps individual fields between an external source object and a MemberJunction entity, with optional transform pipeline.
41683
+ * * Primary Key: ID
41684
+ * @extends {BaseEntity}
41685
+ * @class
41686
+ * @public
41687
+ */
41688
+ let MJCompanyIntegrationFieldMapEntity = class MJCompanyIntegrationFieldMapEntity extends BaseEntity {
41689
+ /**
41690
+ * Loads the MJ: Company Integration Field Maps record from the database
41691
+ * @param ID: string - primary key value to load the MJ: Company Integration Field Maps record.
41692
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
41693
+ * @returns {Promise<boolean>} - true if successful, false otherwise
41694
+ * @public
41695
+ * @async
41696
+ * @memberof MJCompanyIntegrationFieldMapEntity
41697
+ * @method
41698
+ * @override
41699
+ */
41700
+ async Load(ID, EntityRelationshipsToLoad) {
41701
+ const compositeKey = new CompositeKey();
41702
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
41703
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
41704
+ }
41705
+ /**
41706
+ * * Field Name: ID
41707
+ * * Display Name: ID
41708
+ * * SQL Data Type: uniqueidentifier
41709
+ * * Default Value: newsequentialid()
41710
+ */
41711
+ get ID() {
41712
+ return this.Get('ID');
41713
+ }
41714
+ set ID(value) {
41715
+ this.Set('ID', value);
41716
+ }
41717
+ /**
41718
+ * * Field Name: EntityMapID
41719
+ * * Display Name: Entity Map ID
41720
+ * * SQL Data Type: uniqueidentifier
41721
+ * * Related Entity/Foreign Key: MJ: Company Integration Entity Maps (vwCompanyIntegrationEntityMaps.ID)
41722
+ */
41723
+ get EntityMapID() {
41724
+ return this.Get('EntityMapID');
41725
+ }
41726
+ set EntityMapID(value) {
41727
+ this.Set('EntityMapID', value);
41728
+ }
41729
+ /**
41730
+ * * Field Name: SourceFieldName
41731
+ * * Display Name: Source Field Name
41732
+ * * SQL Data Type: nvarchar(500)
41733
+ * * Description: The field/column name in the external source system.
41734
+ */
41735
+ get SourceFieldName() {
41736
+ return this.Get('SourceFieldName');
41737
+ }
41738
+ set SourceFieldName(value) {
41739
+ this.Set('SourceFieldName', value);
41740
+ }
41741
+ /**
41742
+ * * Field Name: SourceFieldLabel
41743
+ * * Display Name: Source Field Label
41744
+ * * SQL Data Type: nvarchar(500)
41745
+ * * Description: Optional human-friendly label for the source field.
41746
+ */
41747
+ get SourceFieldLabel() {
41748
+ return this.Get('SourceFieldLabel');
41749
+ }
41750
+ set SourceFieldLabel(value) {
41751
+ this.Set('SourceFieldLabel', value);
41752
+ }
41753
+ /**
41754
+ * * Field Name: DestinationFieldName
41755
+ * * Display Name: Destination Field Name
41756
+ * * SQL Data Type: nvarchar(500)
41757
+ * * Description: The MJ entity field name this source field maps to.
41758
+ */
41759
+ get DestinationFieldName() {
41760
+ return this.Get('DestinationFieldName');
41761
+ }
41762
+ set DestinationFieldName(value) {
41763
+ this.Set('DestinationFieldName', value);
41764
+ }
41765
+ /**
41766
+ * * Field Name: DestinationFieldLabel
41767
+ * * Display Name: Destination Field Label
41768
+ * * SQL Data Type: nvarchar(500)
41769
+ * * Description: Optional human-friendly label for the destination field.
41770
+ */
41771
+ get DestinationFieldLabel() {
41772
+ return this.Get('DestinationFieldLabel');
41773
+ }
41774
+ set DestinationFieldLabel(value) {
41775
+ this.Set('DestinationFieldLabel', value);
41776
+ }
41777
+ /**
41778
+ * * Field Name: Direction
41779
+ * * Display Name: Direction
41780
+ * * SQL Data Type: nvarchar(50)
41781
+ * * Default Value: SourceToDest
41782
+ * * Value List Type: List
41783
+ * * Possible Values
41784
+ * * Both
41785
+ * * DestToSource
41786
+ * * SourceToDest
41787
+ * * Description: Direction of field mapping: SourceToDest, DestToSource, or Both.
41788
+ */
41789
+ get Direction() {
41790
+ return this.Get('Direction');
41791
+ }
41792
+ set Direction(value) {
41793
+ this.Set('Direction', value);
41794
+ }
41795
+ /**
41796
+ * * Field Name: TransformPipeline
41797
+ * * Display Name: Transform Pipeline
41798
+ * * SQL Data Type: nvarchar(MAX)
41799
+ * * Description: JSON array of transform names to apply in order (e.g. ["trim", "uppercase"]). See FieldMappingEngine for available transforms.
41800
+ */
41801
+ get TransformPipeline() {
41802
+ return this.Get('TransformPipeline');
41803
+ }
41804
+ set TransformPipeline(value) {
41805
+ this.Set('TransformPipeline', value);
41806
+ }
41807
+ /**
41808
+ * * Field Name: IsKeyField
41809
+ * * Display Name: Is Key Field
41810
+ * * SQL Data Type: bit
41811
+ * * Default Value: 0
41812
+ * * Description: When true, this field is used by the MatchEngine to find existing records during sync.
41813
+ */
41814
+ get IsKeyField() {
41815
+ return this.Get('IsKeyField');
41816
+ }
41817
+ set IsKeyField(value) {
41818
+ this.Set('IsKeyField', value);
41819
+ }
41820
+ /**
41821
+ * * Field Name: IsRequired
41822
+ * * Display Name: Is Required
41823
+ * * SQL Data Type: bit
41824
+ * * Default Value: 0
41825
+ * * Description: When true, a sync record is rejected if this field has no value.
41826
+ */
41827
+ get IsRequired() {
41828
+ return this.Get('IsRequired');
41829
+ }
41830
+ set IsRequired(value) {
41831
+ this.Set('IsRequired', value);
41832
+ }
41833
+ /**
41834
+ * * Field Name: DefaultValue
41835
+ * * Display Name: Default Value
41836
+ * * SQL Data Type: nvarchar(MAX)
41837
+ * * Description: Default value to use when the source field is null or missing.
41838
+ */
41839
+ get DefaultValue() {
41840
+ return this.Get('DefaultValue');
41841
+ }
41842
+ set DefaultValue(value) {
41843
+ this.Set('DefaultValue', value);
41844
+ }
41845
+ /**
41846
+ * * Field Name: Priority
41847
+ * * Display Name: Priority
41848
+ * * SQL Data Type: int
41849
+ * * Default Value: 0
41850
+ * * Description: Processing order for this field mapping within the entity map.
41851
+ */
41852
+ get Priority() {
41853
+ return this.Get('Priority');
41854
+ }
41855
+ set Priority(value) {
41856
+ this.Set('Priority', value);
41857
+ }
41858
+ /**
41859
+ * * Field Name: Status
41860
+ * * Display Name: Status
41861
+ * * SQL Data Type: nvarchar(50)
41862
+ * * Default Value: Active
41863
+ * * Value List Type: List
41864
+ * * Possible Values
41865
+ * * Active
41866
+ * * Inactive
41867
+ * * Description: Whether this field mapping is Active or Inactive.
41868
+ */
41869
+ get Status() {
41870
+ return this.Get('Status');
41871
+ }
41872
+ set Status(value) {
41873
+ this.Set('Status', value);
41874
+ }
41875
+ /**
41876
+ * * Field Name: __mj_CreatedAt
41877
+ * * Display Name: Created At
41878
+ * * SQL Data Type: datetimeoffset
41879
+ * * Default Value: getutcdate()
41880
+ */
41881
+ get __mj_CreatedAt() {
41882
+ return this.Get('__mj_CreatedAt');
41883
+ }
41884
+ /**
41885
+ * * Field Name: __mj_UpdatedAt
41886
+ * * Display Name: Updated At
41887
+ * * SQL Data Type: datetimeoffset
41888
+ * * Default Value: getutcdate()
41889
+ */
41890
+ get __mj_UpdatedAt() {
41891
+ return this.Get('__mj_UpdatedAt');
41892
+ }
41893
+ /**
41894
+ * * Field Name: EntityMap
41895
+ * * Display Name: Entity Map
41896
+ * * SQL Data Type: nvarchar(500)
41897
+ */
41898
+ get EntityMap() {
41899
+ return this.Get('EntityMap');
41900
+ }
41901
+ };
41902
+ MJCompanyIntegrationFieldMapEntity = __decorate([
41903
+ RegisterClass(BaseEntity, 'MJ: Company Integration Field Maps')
41904
+ ], MJCompanyIntegrationFieldMapEntity);
41905
+ export { MJCompanyIntegrationFieldMapEntity };
41069
41906
  /**
41070
41907
  * MJ: Company Integration Record Maps - strongly typed entity sub-class
41071
41908
  * * Schema: __mj
@@ -41707,6 +42544,162 @@ MJCompanyIntegrationRunEntity = __decorate([
41707
42544
  RegisterClass(BaseEntity, 'MJ: Company Integration Runs')
41708
42545
  ], MJCompanyIntegrationRunEntity);
41709
42546
  export { MJCompanyIntegrationRunEntity };
42547
+ /**
42548
+ * MJ: Company Integration Sync Watermarks - strongly typed entity sub-class
42549
+ * * Schema: __mj
42550
+ * * Base Table: CompanyIntegrationSyncWatermark
42551
+ * * Base View: vwCompanyIntegrationSyncWatermarks
42552
+ * * @description Tracks incremental sync progress per entity map and direction using watermarks (timestamp, cursor, change token, or version).
42553
+ * * Primary Key: ID
42554
+ * @extends {BaseEntity}
42555
+ * @class
42556
+ * @public
42557
+ */
42558
+ let MJCompanyIntegrationSyncWatermarkEntity = class MJCompanyIntegrationSyncWatermarkEntity extends BaseEntity {
42559
+ /**
42560
+ * Loads the MJ: Company Integration Sync Watermarks record from the database
42561
+ * @param ID: string - primary key value to load the MJ: Company Integration Sync Watermarks record.
42562
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
42563
+ * @returns {Promise<boolean>} - true if successful, false otherwise
42564
+ * @public
42565
+ * @async
42566
+ * @memberof MJCompanyIntegrationSyncWatermarkEntity
42567
+ * @method
42568
+ * @override
42569
+ */
42570
+ async Load(ID, EntityRelationshipsToLoad) {
42571
+ const compositeKey = new CompositeKey();
42572
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
42573
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
42574
+ }
42575
+ /**
42576
+ * * Field Name: ID
42577
+ * * Display Name: ID
42578
+ * * SQL Data Type: uniqueidentifier
42579
+ * * Default Value: newsequentialid()
42580
+ */
42581
+ get ID() {
42582
+ return this.Get('ID');
42583
+ }
42584
+ set ID(value) {
42585
+ this.Set('ID', value);
42586
+ }
42587
+ /**
42588
+ * * Field Name: EntityMapID
42589
+ * * Display Name: Entity Map
42590
+ * * SQL Data Type: uniqueidentifier
42591
+ * * Related Entity/Foreign Key: MJ: Company Integration Entity Maps (vwCompanyIntegrationEntityMaps.ID)
42592
+ */
42593
+ get EntityMapID() {
42594
+ return this.Get('EntityMapID');
42595
+ }
42596
+ set EntityMapID(value) {
42597
+ this.Set('EntityMapID', value);
42598
+ }
42599
+ /**
42600
+ * * Field Name: Direction
42601
+ * * Display Name: Direction
42602
+ * * SQL Data Type: nvarchar(50)
42603
+ * * Default Value: Pull
42604
+ * * Value List Type: List
42605
+ * * Possible Values
42606
+ * * Pull
42607
+ * * Push
42608
+ * * Description: Sync direction this watermark tracks: Pull or Push.
42609
+ */
42610
+ get Direction() {
42611
+ return this.Get('Direction');
42612
+ }
42613
+ set Direction(value) {
42614
+ this.Set('Direction', value);
42615
+ }
42616
+ /**
42617
+ * * Field Name: WatermarkType
42618
+ * * Display Name: Watermark Type
42619
+ * * SQL Data Type: nvarchar(50)
42620
+ * * Default Value: Timestamp
42621
+ * * Value List Type: List
42622
+ * * Possible Values
42623
+ * * ChangeToken
42624
+ * * Cursor
42625
+ * * Timestamp
42626
+ * * Version
42627
+ * * Description: The type of watermark: Timestamp, Cursor, ChangeToken, or Version.
42628
+ */
42629
+ get WatermarkType() {
42630
+ return this.Get('WatermarkType');
42631
+ }
42632
+ set WatermarkType(value) {
42633
+ this.Set('WatermarkType', value);
42634
+ }
42635
+ /**
42636
+ * * Field Name: WatermarkValue
42637
+ * * Display Name: Watermark Value
42638
+ * * SQL Data Type: nvarchar(MAX)
42639
+ * * Description: The serialized watermark value used to resume incremental sync.
42640
+ */
42641
+ get WatermarkValue() {
42642
+ return this.Get('WatermarkValue');
42643
+ }
42644
+ set WatermarkValue(value) {
42645
+ this.Set('WatermarkValue', value);
42646
+ }
42647
+ /**
42648
+ * * Field Name: LastSyncAt
42649
+ * * Display Name: Last Sync At
42650
+ * * SQL Data Type: datetimeoffset
42651
+ * * Description: Timestamp of the last successful sync for this watermark.
42652
+ */
42653
+ get LastSyncAt() {
42654
+ return this.Get('LastSyncAt');
42655
+ }
42656
+ set LastSyncAt(value) {
42657
+ this.Set('LastSyncAt', value);
42658
+ }
42659
+ /**
42660
+ * * Field Name: RecordsSynced
42661
+ * * Display Name: Records Synced
42662
+ * * SQL Data Type: int
42663
+ * * Default Value: 0
42664
+ * * Description: Cumulative count of records synced through this watermark.
42665
+ */
42666
+ get RecordsSynced() {
42667
+ return this.Get('RecordsSynced');
42668
+ }
42669
+ set RecordsSynced(value) {
42670
+ this.Set('RecordsSynced', value);
42671
+ }
42672
+ /**
42673
+ * * Field Name: __mj_CreatedAt
42674
+ * * Display Name: Created At
42675
+ * * SQL Data Type: datetimeoffset
42676
+ * * Default Value: getutcdate()
42677
+ */
42678
+ get __mj_CreatedAt() {
42679
+ return this.Get('__mj_CreatedAt');
42680
+ }
42681
+ /**
42682
+ * * Field Name: __mj_UpdatedAt
42683
+ * * Display Name: Updated At
42684
+ * * SQL Data Type: datetimeoffset
42685
+ * * Default Value: getutcdate()
42686
+ */
42687
+ get __mj_UpdatedAt() {
42688
+ return this.Get('__mj_UpdatedAt');
42689
+ }
42690
+ /**
42691
+ * * Field Name: EntityMap
42692
+ * * Display Name: Entity Map Name
42693
+ * * SQL Data Type: nvarchar(500)
42694
+ */
42695
+ get EntityMap() {
42696
+ return this.Get('EntityMap');
42697
+ }
42698
+ };
42699
+ MJCompanyIntegrationSyncWatermarkEntity = __decorate([
42700
+ RegisterClass(BaseEntity, 'MJ: Company Integration Sync Watermarks')
42701
+ ], MJCompanyIntegrationSyncWatermarkEntity);
42702
+ export { MJCompanyIntegrationSyncWatermarkEntity };
41710
42703
  /**
41711
42704
  * MJ: Company Integrations - strongly typed entity sub-class
41712
42705
  * * Schema: __mj
@@ -41923,8 +42916,46 @@ let MJCompanyIntegrationEntity = class MJCompanyIntegrationEntity extends BaseEn
41923
42916
  this.Set('Name', value);
41924
42917
  }
41925
42918
  /**
42919
+ * * Field Name: SourceTypeID
42920
+ * * Display Name: Source Type
42921
+ * * SQL Data Type: uniqueidentifier
42922
+ * * Related Entity/Foreign Key: MJ: Integration Source Types (vwIntegrationSourceTypes.ID)
42923
+ * * Description: Links this integration to its source type (SaaS API, Database, File Feed, etc.).
42924
+ */
42925
+ get SourceTypeID() {
42926
+ return this.Get('SourceTypeID');
42927
+ }
42928
+ set SourceTypeID(value) {
42929
+ this.Set('SourceTypeID', value);
42930
+ }
42931
+ /**
42932
+ * * Field Name: Configuration
42933
+ * * Display Name: Configuration
42934
+ * * SQL Data Type: nvarchar(MAX)
42935
+ * * Description: JSON configuration for the integration connection (server, database, credentials reference, etc.).
42936
+ */
42937
+ get Configuration() {
42938
+ return this.Get('Configuration');
42939
+ }
42940
+ set Configuration(value) {
42941
+ this.Set('Configuration', value);
42942
+ }
42943
+ /**
42944
+ * * Field Name: CredentialID
42945
+ * * Display Name: Credential
42946
+ * * SQL Data Type: uniqueidentifier
42947
+ * * Related Entity/Foreign Key: MJ: Credentials (vwCredentials.ID)
42948
+ * * Description: Optional reference to a Credential record that stores encrypted authentication values for this company integration. Replaces the legacy inline auth fields (AccessToken, RefreshToken, APIKey, etc.).
42949
+ */
42950
+ get CredentialID() {
42951
+ return this.Get('CredentialID');
42952
+ }
42953
+ set CredentialID(value) {
42954
+ this.Set('CredentialID', value);
42955
+ }
42956
+ /**
41926
42957
  * * Field Name: Company
41927
- * * Display Name: Company
42958
+ * * Display Name: Company Name
41928
42959
  * * SQL Data Type: nvarchar(50)
41929
42960
  */
41930
42961
  get Company() {
@@ -41932,7 +42963,7 @@ let MJCompanyIntegrationEntity = class MJCompanyIntegrationEntity extends BaseEn
41932
42963
  }
41933
42964
  /**
41934
42965
  * * Field Name: Integration
41935
- * * Display Name: Integration
42966
+ * * Display Name: Integration Name
41936
42967
  * * SQL Data Type: nvarchar(100)
41937
42968
  */
41938
42969
  get Integration() {
@@ -41956,7 +42987,7 @@ let MJCompanyIntegrationEntity = class MJCompanyIntegrationEntity extends BaseEn
41956
42987
  }
41957
42988
  /**
41958
42989
  * * Field Name: LastRunID
41959
- * * Display Name: Last Run ID
42990
+ * * Display Name: Last Run
41960
42991
  * * SQL Data Type: uniqueidentifier
41961
42992
  */
41962
42993
  get LastRunID() {
@@ -56390,6 +57421,134 @@ MJGeneratedCodeEntity = __decorate([
56390
57421
  RegisterClass(BaseEntity, 'MJ: Generated Codes')
56391
57422
  ], MJGeneratedCodeEntity);
56392
57423
  export { MJGeneratedCodeEntity };
57424
+ /**
57425
+ * MJ: Integration Source Types - strongly typed entity sub-class
57426
+ * * Schema: __mj
57427
+ * * Base Table: IntegrationSourceType
57428
+ * * Base View: vwIntegrationSourceTypes
57429
+ * * @description Defines categories of integration sources such as SaaS API, Relational Database, or File Feed.
57430
+ * * Primary Key: ID
57431
+ * @extends {BaseEntity}
57432
+ * @class
57433
+ * @public
57434
+ */
57435
+ let MJIntegrationSourceTypeEntity = class MJIntegrationSourceTypeEntity extends BaseEntity {
57436
+ /**
57437
+ * Loads the MJ: Integration Source Types record from the database
57438
+ * @param ID: string - primary key value to load the MJ: Integration Source Types record.
57439
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
57440
+ * @returns {Promise<boolean>} - true if successful, false otherwise
57441
+ * @public
57442
+ * @async
57443
+ * @memberof MJIntegrationSourceTypeEntity
57444
+ * @method
57445
+ * @override
57446
+ */
57447
+ async Load(ID, EntityRelationshipsToLoad) {
57448
+ const compositeKey = new CompositeKey();
57449
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
57450
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
57451
+ }
57452
+ /**
57453
+ * * Field Name: ID
57454
+ * * Display Name: ID
57455
+ * * SQL Data Type: uniqueidentifier
57456
+ * * Default Value: newsequentialid()
57457
+ */
57458
+ get ID() {
57459
+ return this.Get('ID');
57460
+ }
57461
+ set ID(value) {
57462
+ this.Set('ID', value);
57463
+ }
57464
+ /**
57465
+ * * Field Name: Name
57466
+ * * Display Name: Name
57467
+ * * SQL Data Type: nvarchar(200)
57468
+ * * Description: Display name for this source type (e.g. SaaS API, Relational Database, File Feed).
57469
+ */
57470
+ get Name() {
57471
+ return this.Get('Name');
57472
+ }
57473
+ set Name(value) {
57474
+ this.Set('Name', value);
57475
+ }
57476
+ /**
57477
+ * * Field Name: Description
57478
+ * * Display Name: Description
57479
+ * * SQL Data Type: nvarchar(MAX)
57480
+ * * Description: Optional longer description of this source type.
57481
+ */
57482
+ get Description() {
57483
+ return this.Get('Description');
57484
+ }
57485
+ set Description(value) {
57486
+ this.Set('Description', value);
57487
+ }
57488
+ /**
57489
+ * * Field Name: DriverClass
57490
+ * * Display Name: Driver Class
57491
+ * * SQL Data Type: nvarchar(500)
57492
+ * * Description: Fully-qualified class name registered via @RegisterClass that implements BaseIntegrationConnector for this source type.
57493
+ */
57494
+ get DriverClass() {
57495
+ return this.Get('DriverClass');
57496
+ }
57497
+ set DriverClass(value) {
57498
+ this.Set('DriverClass', value);
57499
+ }
57500
+ /**
57501
+ * * Field Name: IconClass
57502
+ * * Display Name: Icon Class
57503
+ * * SQL Data Type: nvarchar(200)
57504
+ * * Description: Font Awesome icon class for UI display.
57505
+ */
57506
+ get IconClass() {
57507
+ return this.Get('IconClass');
57508
+ }
57509
+ set IconClass(value) {
57510
+ this.Set('IconClass', value);
57511
+ }
57512
+ /**
57513
+ * * Field Name: Status
57514
+ * * Display Name: Status
57515
+ * * SQL Data Type: nvarchar(50)
57516
+ * * Default Value: Active
57517
+ * * Value List Type: List
57518
+ * * Possible Values
57519
+ * * Active
57520
+ * * Inactive
57521
+ * * Description: Whether this source type is available for use. Active or Inactive.
57522
+ */
57523
+ get Status() {
57524
+ return this.Get('Status');
57525
+ }
57526
+ set Status(value) {
57527
+ this.Set('Status', value);
57528
+ }
57529
+ /**
57530
+ * * Field Name: __mj_CreatedAt
57531
+ * * Display Name: Created At
57532
+ * * SQL Data Type: datetimeoffset
57533
+ * * Default Value: getutcdate()
57534
+ */
57535
+ get __mj_CreatedAt() {
57536
+ return this.Get('__mj_CreatedAt');
57537
+ }
57538
+ /**
57539
+ * * Field Name: __mj_UpdatedAt
57540
+ * * Display Name: Updated At
57541
+ * * SQL Data Type: datetimeoffset
57542
+ * * Default Value: getutcdate()
57543
+ */
57544
+ get __mj_UpdatedAt() {
57545
+ return this.Get('__mj_UpdatedAt');
57546
+ }
57547
+ };
57548
+ MJIntegrationSourceTypeEntity = __decorate([
57549
+ RegisterClass(BaseEntity, 'MJ: Integration Source Types')
57550
+ ], MJIntegrationSourceTypeEntity);
57551
+ export { MJIntegrationSourceTypeEntity };
56393
57552
  /**
56394
57553
  * MJ: Integration URL Formats - strongly typed entity sub-class
56395
57554
  * * Schema: __mj
@@ -56553,6 +57712,7 @@ let MJIntegrationEntity = class MJIntegrationEntity extends BaseEntity {
56553
57712
  }
56554
57713
  /**
56555
57714
  * * Field Name: Name
57715
+ * * Display Name: Name
56556
57716
  * * SQL Data Type: nvarchar(100)
56557
57717
  */
56558
57718
  get Name() {
@@ -56563,6 +57723,7 @@ let MJIntegrationEntity = class MJIntegrationEntity extends BaseEntity {
56563
57723
  }
56564
57724
  /**
56565
57725
  * * Field Name: Description
57726
+ * * Display Name: Description
56566
57727
  * * SQL Data Type: nvarchar(255)
56567
57728
  */
56568
57729
  get Description() {
@@ -56653,6 +57814,7 @@ let MJIntegrationEntity = class MJIntegrationEntity extends BaseEntity {
56653
57814
  }
56654
57815
  /**
56655
57816
  * * Field Name: ID
57817
+ * * Display Name: ID
56656
57818
  * * SQL Data Type: uniqueidentifier
56657
57819
  * * Default Value: newsequentialid()
56658
57820
  */
@@ -56662,6 +57824,27 @@ let MJIntegrationEntity = class MJIntegrationEntity extends BaseEntity {
56662
57824
  set ID(value) {
56663
57825
  this.Set('ID', value);
56664
57826
  }
57827
+ /**
57828
+ * * Field Name: CredentialTypeID
57829
+ * * Display Name: Credential Type
57830
+ * * SQL Data Type: uniqueidentifier
57831
+ * * Related Entity/Foreign Key: MJ: Credential Types (vwCredentialTypes.ID)
57832
+ * * Description: Optional link to the credential type required by this integration. Used by the UI to pre-select the credential type when creating new credentials and to filter existing credentials.
57833
+ */
57834
+ get CredentialTypeID() {
57835
+ return this.Get('CredentialTypeID');
57836
+ }
57837
+ set CredentialTypeID(value) {
57838
+ this.Set('CredentialTypeID', value);
57839
+ }
57840
+ /**
57841
+ * * Field Name: CredentialType
57842
+ * * Display Name: Credential Type Name
57843
+ * * SQL Data Type: nvarchar(100)
57844
+ */
57845
+ get CredentialType() {
57846
+ return this.Get('CredentialType');
57847
+ }
56665
57848
  };
56666
57849
  MJIntegrationEntity = __decorate([
56667
57850
  RegisterClass(BaseEntity, 'MJ: Integrations')