@memberjunction/core-entities 6.1.0-edge.3 → 6.1.0-edge.4

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.
@@ -19762,7 +19762,7 @@ export const MJFormChromeRuleSchema = z.object({
19762
19762
  * * Description: Contribution key to pin when TargetKind is Contribution. Null for Relationship rows.`),
19763
19763
  Inclusion: z.union([z.literal('More'), z.literal('None'), z.literal('Primary')]).describe(`
19764
19764
  * * Field Name: Inclusion
19765
- * * Display Name: Inclusion
19765
+ * * Display Name: Inclusion Rule
19766
19766
  * * SQL Data Type: nvarchar(20)
19767
19767
  * * Value List Type: List
19768
19768
  * * Possible Values
@@ -19783,7 +19783,7 @@ export const MJFormChromeRuleSchema = z.object({
19783
19783
  * * Description: Tie-break when more than one rule matches the same target. Higher Sequence wins.`),
19784
19784
  Title: z.string().nullable().describe(`
19785
19785
  * * Field Name: Title
19786
- * * Display Name: Title
19786
+ * * Display Name: Section Title
19787
19787
  * * SQL Data Type: nvarchar(100)
19788
19788
  * * Description: Optional admin display title for this section. Null keeps the relationship DisplayName or contribution name. Survives OpenApp upgrades because the row is keyed by RelatedEntityID / ContributionKey, not by the previous label.`),
19789
19789
  __mj_CreatedAt: z.date().describe(`
@@ -19969,6 +19969,156 @@ export const MJGeneratedCodeSchema = z.object({
19969
19969
  * * Display Name: Linked Entity
19970
19970
  * * SQL Data Type: nvarchar(255)`),
19971
19971
  });
19972
+ /**
19973
+ * zod schema definition for the entity MJ: Identity Claim Types
19974
+ */
19975
+ export const MJIdentityClaimTypeSchema = z.object({
19976
+ ID: z.string().describe(`
19977
+ * * Field Name: ID
19978
+ * * Display Name: ID
19979
+ * * SQL Data Type: uniqueidentifier
19980
+ * * Default Value: newsequentialid()`),
19981
+ Name: z.string().describe(`
19982
+ * * Field Name: Name
19983
+ * * Display Name: Name
19984
+ * * SQL Data Type: nvarchar(100)
19985
+ * * Description: Unique name identifying this claim type (e.g., "EntitlementGrant", "PersonAccountLink", "OrgInvite").`),
19986
+ Description: z.string().nullable().describe(`
19987
+ * * Field Name: Description
19988
+ * * Display Name: Description
19989
+ * * SQL Data Type: nvarchar(MAX)
19990
+ * * Description: Optional description explaining the intent and behavior of this claim type.`),
19991
+ DriverClass: z.string().describe(`
19992
+ * * Field Name: DriverClass
19993
+ * * Display Name: Driver Class
19994
+ * * SQL Data Type: nvarchar(255)
19995
+ * * Description: Plugin class name implementing BaseIdentityClaimDriver, registered via @RegisterClass(BaseIdentityClaimDriver, DriverClass) and resolved at runtime.`),
19996
+ Configuration: z.string().nullable().describe(`
19997
+ * * Field Name: Configuration
19998
+ * * Display Name: Configuration
19999
+ * * SQL Data Type: nvarchar(MAX)
20000
+ * * Description: JSON configuration specific to this claim type driver.`),
20001
+ DefaultExpirationDays: z.number().describe(`
20002
+ * * Field Name: DefaultExpirationDays
20003
+ * * Display Name: Default Expiration Days
20004
+ * * SQL Data Type: int
20005
+ * * Default Value: 30
20006
+ * * Description: Default lifespan in days for claims of this type before they expire automatically.`),
20007
+ IsActive: z.boolean().describe(`
20008
+ * * Field Name: IsActive
20009
+ * * Display Name: Is Active
20010
+ * * SQL Data Type: bit
20011
+ * * Default Value: 1
20012
+ * * Description: Whether this claim type is active and available for issuing new claims.`),
20013
+ __mj_CreatedAt: z.date().describe(`
20014
+ * * Field Name: __mj_CreatedAt
20015
+ * * Display Name: Created At
20016
+ * * SQL Data Type: datetimeoffset
20017
+ * * Default Value: getutcdate()`),
20018
+ __mj_UpdatedAt: z.date().describe(`
20019
+ * * Field Name: __mj_UpdatedAt
20020
+ * * Display Name: Updated At
20021
+ * * SQL Data Type: datetimeoffset
20022
+ * * Default Value: getutcdate()`),
20023
+ });
20024
+ /**
20025
+ * zod schema definition for the entity MJ: Identity Claims
20026
+ */
20027
+ export const MJIdentityClaimSchema = z.object({
20028
+ ID: z.string().describe(`
20029
+ * * Field Name: ID
20030
+ * * Display Name: ID
20031
+ * * SQL Data Type: uniqueidentifier
20032
+ * * Default Value: newsequentialid()`),
20033
+ ClaimTypeID: z.string().describe(`
20034
+ * * Field Name: ClaimTypeID
20035
+ * * Display Name: Claim Type ID
20036
+ * * SQL Data Type: uniqueidentifier
20037
+ * * Related Entity/Foreign Key: MJ: Identity Claim Types (vwIdentityClaimTypes.ID)
20038
+ * * Description: Foreign key linking this claim to its IdentityClaimType definition.`),
20039
+ NormalizedEmail: z.string().describe(`
20040
+ * * Field Name: NormalizedEmail
20041
+ * * Display Name: Email Address
20042
+ * * SQL Data Type: nvarchar(255)
20043
+ * * Description: Normalized lowercase email address of the intended claimant.`),
20044
+ EntityID: z.string().nullable().describe(`
20045
+ * * Field Name: EntityID
20046
+ * * Display Name: Entity ID
20047
+ * * SQL Data Type: uniqueidentifier
20048
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
20049
+ * * Description: Optional polymorphic foreign key to the Entity representing the resource being claimed.`),
20050
+ RecordID: z.string().nullable().describe(`
20051
+ * * Field Name: RecordID
20052
+ * * Display Name: Record ID
20053
+ * * SQL Data Type: nvarchar(255)
20054
+ * * Description: Optional primary key / record ID of the specific entity record being claimed.`),
20055
+ PayloadJSON: z.string().nullable().describe(`
20056
+ * * Field Name: PayloadJSON
20057
+ * * Display Name: Payload
20058
+ * * SQL Data Type: nvarchar(MAX)
20059
+ * * Description: Optional payload JSON containing custom data or parameters consumed by the claim type driver during redemption.`),
20060
+ Status: z.union([z.literal('Claimed'), z.literal('Expired'), z.literal('Pending'), z.literal('Revoked')]).describe(`
20061
+ * * Field Name: Status
20062
+ * * Display Name: Status
20063
+ * * SQL Data Type: nvarchar(20)
20064
+ * * Default Value: Pending
20065
+ * * Value List Type: List
20066
+ * * Possible Values
20067
+ * * Claimed
20068
+ * * Expired
20069
+ * * Pending
20070
+ * * Revoked
20071
+ * * Description: Current lifecycle state of the claim: Pending, Claimed, Expired, or Revoked.`),
20072
+ ExpiresAt: z.date().describe(`
20073
+ * * Field Name: ExpiresAt
20074
+ * * Display Name: Expires At
20075
+ * * SQL Data Type: datetimeoffset
20076
+ * * Description: Timestamp after which this claim can no longer be redeemed.`),
20077
+ ClaimedAt: z.date().nullable().describe(`
20078
+ * * Field Name: ClaimedAt
20079
+ * * Display Name: Claimed At
20080
+ * * SQL Data Type: datetimeoffset
20081
+ * * Description: Timestamp when the claim was successfully redeemed.`),
20082
+ ClaimedByUserID: z.string().nullable().describe(`
20083
+ * * Field Name: ClaimedByUserID
20084
+ * * Display Name: Claimed By User ID
20085
+ * * SQL Data Type: uniqueidentifier
20086
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
20087
+ * * Description: User ID of the authenticated user who successfully claimed this record.`),
20088
+ MagicLinkInviteID: z.string().nullable().describe(`
20089
+ * * Field Name: MagicLinkInviteID
20090
+ * * Display Name: Magic Link Invite ID
20091
+ * * SQL Data Type: uniqueidentifier
20092
+ * * Related Entity/Foreign Key: MJ: Magic Link Invites (vwMagicLinkInvites.ID)
20093
+ * * Description: Optional link to a MagicLinkInvite record for email ownership verification links.`),
20094
+ MetadataJSON: z.string().nullable().describe(`
20095
+ * * Field Name: MetadataJSON
20096
+ * * Display Name: Metadata
20097
+ * * SQL Data Type: nvarchar(MAX)
20098
+ * * Description: Optional metadata JSON for auditing or tracking client provenance.`),
20099
+ __mj_CreatedAt: z.date().describe(`
20100
+ * * Field Name: __mj_CreatedAt
20101
+ * * Display Name: Created At
20102
+ * * SQL Data Type: datetimeoffset
20103
+ * * Default Value: getutcdate()`),
20104
+ __mj_UpdatedAt: z.date().describe(`
20105
+ * * Field Name: __mj_UpdatedAt
20106
+ * * Display Name: Updated At
20107
+ * * SQL Data Type: datetimeoffset
20108
+ * * Default Value: getutcdate()`),
20109
+ ClaimType: z.string().describe(`
20110
+ * * Field Name: ClaimType
20111
+ * * Display Name: Claim Type
20112
+ * * SQL Data Type: nvarchar(100)`),
20113
+ Entity: z.string().nullable().describe(`
20114
+ * * Field Name: Entity
20115
+ * * Display Name: Entity
20116
+ * * SQL Data Type: nvarchar(255)`),
20117
+ ClaimedByUser: z.string().nullable().describe(`
20118
+ * * Field Name: ClaimedByUser
20119
+ * * Display Name: Claimed By User
20120
+ * * SQL Data Type: nvarchar(100)`),
20121
+ });
19972
20122
  /**
19973
20123
  * zod schema definition for the entity MJ: Instance Configurations
19974
20124
  */
@@ -82504,32 +82654,34 @@ let MJFormChromeRuleEntity = class MJFormChromeRuleEntity extends BaseEntity {
82504
82654
  }
82505
82655
  /**
82506
82656
  * Validate() method override for MJ: Form Chrome Rules entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
82507
- * * Table-Level: Ensures that if the Target Kind is 'Relationship', a Related Entity must be specified and the Contribution Key must be empty. Conversely, if the Target Kind is 'Contribution', a Contribution Key must be specified and the Related Entity must be empty.
82657
+ * * Table-Level: Ensures that if the target kind is 'Relationship', a related entity is specified and the contribution key is empty. If the target kind is 'Contribution', a contribution key must be specified and the related entity must be empty.
82508
82658
  * @public
82509
82659
  * @method
82510
82660
  * @override
82511
82661
  */
82512
82662
  Validate() {
82513
82663
  const result = super.Validate();
82514
- this.ValidateTargetKindDependencies(result);
82664
+ this.ValidateTargetKindAndAssociatedKeys(result);
82515
82665
  result.Success = result.Success && (result.Errors.length === 0);
82516
82666
  return result;
82517
82667
  }
82518
82668
  /**
82519
- * Ensures that if the Target Kind is 'Relationship', a Related Entity must be specified and the Contribution Key must be empty. Conversely, if the Target Kind is 'Contribution', a Contribution Key must be specified and the Related Entity must be empty.
82669
+ * Ensures that if the target kind is 'Relationship', a related entity is specified and the contribution key is empty. If the target kind is 'Contribution', a contribution key must be specified and the related entity must be empty.
82520
82670
  * @param result - the ValidationResult object to add any errors or warnings to
82521
82671
  * @public
82522
82672
  * @method
82523
82673
  */
82524
- ValidateTargetKindDependencies(result) {
82525
- if (this.TargetKind === 'Relationship') {
82674
+ ValidateTargetKindAndAssociatedKeys(result) {
82675
+ const isRelationship = this.TargetKind === "Relationship";
82676
+ const isContribution = this.TargetKind === "Contribution";
82677
+ if (isRelationship) {
82526
82678
  if (this.RelatedEntityID == null || this.ContributionKey != null) {
82527
- result.Errors.push(new ValidationErrorInfo("TargetKind", "When Target Kind is 'Relationship', Related Entity must be specified and Contribution Key must be empty.", this.TargetKind, ValidationErrorType.Failure));
82679
+ result.Errors.push(new ValidationErrorInfo("RelatedEntityID", "When Target Kind is 'Relationship', Related Entity ID must be specified and Contribution Key must be empty.", this.RelatedEntityID, ValidationErrorType.Failure));
82528
82680
  }
82529
82681
  }
82530
- else if (this.TargetKind === 'Contribution') {
82682
+ else if (isContribution) {
82531
82683
  if (this.ContributionKey == null || this.RelatedEntityID != null) {
82532
- result.Errors.push(new ValidationErrorInfo("TargetKind", "When Target Kind is 'Contribution', Contribution Key must be specified and Related Entity must be empty.", this.TargetKind, ValidationErrorType.Failure));
82684
+ result.Errors.push(new ValidationErrorInfo("ContributionKey", "When Target Kind is 'Contribution', Contribution Key must be specified and Related Entity ID must be empty.", this.ContributionKey, ValidationErrorType.Failure));
82533
82685
  }
82534
82686
  }
82535
82687
  else {
@@ -82604,7 +82756,7 @@ let MJFormChromeRuleEntity = class MJFormChromeRuleEntity extends BaseEntity {
82604
82756
  }
82605
82757
  /**
82606
82758
  * * Field Name: Inclusion
82607
- * * Display Name: Inclusion
82759
+ * * Display Name: Inclusion Rule
82608
82760
  * * SQL Data Type: nvarchar(20)
82609
82761
  * * Value List Type: List
82610
82762
  * * Possible Values
@@ -82646,7 +82798,7 @@ let MJFormChromeRuleEntity = class MJFormChromeRuleEntity extends BaseEntity {
82646
82798
  }
82647
82799
  /**
82648
82800
  * * Field Name: Title
82649
- * * Display Name: Title
82801
+ * * Display Name: Section Title
82650
82802
  * * SQL Data Type: nvarchar(100)
82651
82803
  * * Description: Optional admin display title for this section. Null keeps the relationship DisplayName or contribution name. Survives OpenApp upgrades because the row is keyed by RelatedEntityID / ContributionKey, not by the previous label.
82652
82804
  */
@@ -83079,6 +83231,373 @@ MJGeneratedCodeEntity = __decorate([
83079
83231
  RegisterClass(BaseEntity, 'MJ: Generated Codes')
83080
83232
  ], MJGeneratedCodeEntity);
83081
83233
  export { MJGeneratedCodeEntity };
83234
+ /**
83235
+ * MJ: Identity Claim Types - strongly typed entity sub-class
83236
+ * * Schema: __mj
83237
+ * * Base Table: IdentityClaimType
83238
+ * * Base View: vwIdentityClaimTypes
83239
+ * * @description Metadata catalog of identity claim types. Each row defines a claim kind whose lifecycle (create, claim, revoke, expire) is executed by a BaseIdentityClaimDriver plugin resolved at runtime from DriverClass via ClassFactory.
83240
+ * * Primary Key: ID
83241
+ * @extends {BaseEntity}
83242
+ * @class
83243
+ * @public
83244
+ */
83245
+ let MJIdentityClaimTypeEntity = class MJIdentityClaimTypeEntity extends BaseEntity {
83246
+ /**
83247
+ * Loads the MJ: Identity Claim Types record from the database
83248
+ * @param ID: string - primary key value to load the MJ: Identity Claim Types record.
83249
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
83250
+ * @returns {Promise<boolean>} - true if successful, false otherwise
83251
+ * @public
83252
+ * @async
83253
+ * @memberof MJIdentityClaimTypeEntity
83254
+ * @method
83255
+ * @override
83256
+ */
83257
+ async Load(ID, EntityRelationshipsToLoad) {
83258
+ const compositeKey = new CompositeKey();
83259
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
83260
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
83261
+ }
83262
+ /**
83263
+ * * Field Name: ID
83264
+ * * Display Name: ID
83265
+ * * SQL Data Type: uniqueidentifier
83266
+ * * Default Value: newsequentialid()
83267
+ */
83268
+ get ID() {
83269
+ return this.Get('ID');
83270
+ }
83271
+ set ID(value) {
83272
+ this.Set('ID', value);
83273
+ }
83274
+ /**
83275
+ * * Field Name: Name
83276
+ * * Display Name: Name
83277
+ * * SQL Data Type: nvarchar(100)
83278
+ * * Description: Unique name identifying this claim type (e.g., "EntitlementGrant", "PersonAccountLink", "OrgInvite").
83279
+ */
83280
+ get Name() {
83281
+ return this.Get('Name');
83282
+ }
83283
+ set Name(value) {
83284
+ this.Set('Name', value);
83285
+ }
83286
+ /**
83287
+ * * Field Name: Description
83288
+ * * Display Name: Description
83289
+ * * SQL Data Type: nvarchar(MAX)
83290
+ * * Description: Optional description explaining the intent and behavior of this claim type.
83291
+ */
83292
+ get Description() {
83293
+ return this.Get('Description');
83294
+ }
83295
+ set Description(value) {
83296
+ this.Set('Description', value);
83297
+ }
83298
+ /**
83299
+ * * Field Name: DriverClass
83300
+ * * Display Name: Driver Class
83301
+ * * SQL Data Type: nvarchar(255)
83302
+ * * Description: Plugin class name implementing BaseIdentityClaimDriver, registered via @RegisterClass(BaseIdentityClaimDriver, DriverClass) and resolved at runtime.
83303
+ */
83304
+ get DriverClass() {
83305
+ return this.Get('DriverClass');
83306
+ }
83307
+ set DriverClass(value) {
83308
+ this.Set('DriverClass', value);
83309
+ }
83310
+ /**
83311
+ * * Field Name: Configuration
83312
+ * * Display Name: Configuration
83313
+ * * SQL Data Type: nvarchar(MAX)
83314
+ * * Description: JSON configuration specific to this claim type driver.
83315
+ */
83316
+ get Configuration() {
83317
+ return this.Get('Configuration');
83318
+ }
83319
+ set Configuration(value) {
83320
+ this.Set('Configuration', value);
83321
+ }
83322
+ /**
83323
+ * * Field Name: DefaultExpirationDays
83324
+ * * Display Name: Default Expiration Days
83325
+ * * SQL Data Type: int
83326
+ * * Default Value: 30
83327
+ * * Description: Default lifespan in days for claims of this type before they expire automatically.
83328
+ */
83329
+ get DefaultExpirationDays() {
83330
+ return this.Get('DefaultExpirationDays');
83331
+ }
83332
+ set DefaultExpirationDays(value) {
83333
+ this.Set('DefaultExpirationDays', value);
83334
+ }
83335
+ /**
83336
+ * * Field Name: IsActive
83337
+ * * Display Name: Is Active
83338
+ * * SQL Data Type: bit
83339
+ * * Default Value: 1
83340
+ * * Description: Whether this claim type is active and available for issuing new claims.
83341
+ */
83342
+ get IsActive() {
83343
+ return this.Get('IsActive');
83344
+ }
83345
+ set IsActive(value) {
83346
+ this.Set('IsActive', value);
83347
+ }
83348
+ /**
83349
+ * * Field Name: __mj_CreatedAt
83350
+ * * Display Name: Created At
83351
+ * * SQL Data Type: datetimeoffset
83352
+ * * Default Value: getutcdate()
83353
+ */
83354
+ get __mj_CreatedAt() {
83355
+ return this.Get('__mj_CreatedAt');
83356
+ }
83357
+ /**
83358
+ * * Field Name: __mj_UpdatedAt
83359
+ * * Display Name: Updated At
83360
+ * * SQL Data Type: datetimeoffset
83361
+ * * Default Value: getutcdate()
83362
+ */
83363
+ get __mj_UpdatedAt() {
83364
+ return this.Get('__mj_UpdatedAt');
83365
+ }
83366
+ };
83367
+ MJIdentityClaimTypeEntity = __decorate([
83368
+ RegisterClass(BaseEntity, 'MJ: Identity Claim Types')
83369
+ ], MJIdentityClaimTypeEntity);
83370
+ export { MJIdentityClaimTypeEntity };
83371
+ /**
83372
+ * MJ: Identity Claims - strongly typed entity sub-class
83373
+ * * Schema: __mj
83374
+ * * Base Table: IdentityClaim
83375
+ * * Base View: vwIdentityClaims
83376
+ * * @description Records of pending, claimed, or expired identity claims addressed to an email address. Facilitates cross-system entitlement claiming, account linking, and invite verification.
83377
+ * * Primary Key: ID
83378
+ * @extends {BaseEntity}
83379
+ * @class
83380
+ * @public
83381
+ */
83382
+ let MJIdentityClaimEntity = class MJIdentityClaimEntity extends BaseEntity {
83383
+ /**
83384
+ * Loads the MJ: Identity Claims record from the database
83385
+ * @param ID: string - primary key value to load the MJ: Identity Claims record.
83386
+ * @param EntityRelationshipsToLoad - (optional) the relationships to load
83387
+ * @returns {Promise<boolean>} - true if successful, false otherwise
83388
+ * @public
83389
+ * @async
83390
+ * @memberof MJIdentityClaimEntity
83391
+ * @method
83392
+ * @override
83393
+ */
83394
+ async Load(ID, EntityRelationshipsToLoad) {
83395
+ const compositeKey = new CompositeKey();
83396
+ compositeKey.KeyValuePairs.push({ FieldName: 'ID', Value: ID });
83397
+ return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
83398
+ }
83399
+ /**
83400
+ * * Field Name: ID
83401
+ * * Display Name: ID
83402
+ * * SQL Data Type: uniqueidentifier
83403
+ * * Default Value: newsequentialid()
83404
+ */
83405
+ get ID() {
83406
+ return this.Get('ID');
83407
+ }
83408
+ set ID(value) {
83409
+ this.Set('ID', value);
83410
+ }
83411
+ /**
83412
+ * * Field Name: ClaimTypeID
83413
+ * * Display Name: Claim Type ID
83414
+ * * SQL Data Type: uniqueidentifier
83415
+ * * Related Entity/Foreign Key: MJ: Identity Claim Types (vwIdentityClaimTypes.ID)
83416
+ * * Description: Foreign key linking this claim to its IdentityClaimType definition.
83417
+ */
83418
+ get ClaimTypeID() {
83419
+ return this.Get('ClaimTypeID');
83420
+ }
83421
+ set ClaimTypeID(value) {
83422
+ this.Set('ClaimTypeID', value);
83423
+ }
83424
+ /**
83425
+ * * Field Name: NormalizedEmail
83426
+ * * Display Name: Email Address
83427
+ * * SQL Data Type: nvarchar(255)
83428
+ * * Description: Normalized lowercase email address of the intended claimant.
83429
+ */
83430
+ get NormalizedEmail() {
83431
+ return this.Get('NormalizedEmail');
83432
+ }
83433
+ set NormalizedEmail(value) {
83434
+ this.Set('NormalizedEmail', value);
83435
+ }
83436
+ /**
83437
+ * * Field Name: EntityID
83438
+ * * Display Name: Entity ID
83439
+ * * SQL Data Type: uniqueidentifier
83440
+ * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
83441
+ * * Description: Optional polymorphic foreign key to the Entity representing the resource being claimed.
83442
+ */
83443
+ get EntityID() {
83444
+ return this.Get('EntityID');
83445
+ }
83446
+ set EntityID(value) {
83447
+ this.Set('EntityID', value);
83448
+ }
83449
+ /**
83450
+ * * Field Name: RecordID
83451
+ * * Display Name: Record ID
83452
+ * * SQL Data Type: nvarchar(255)
83453
+ * * Description: Optional primary key / record ID of the specific entity record being claimed.
83454
+ */
83455
+ get RecordID() {
83456
+ return this.Get('RecordID');
83457
+ }
83458
+ set RecordID(value) {
83459
+ this.Set('RecordID', value);
83460
+ }
83461
+ /**
83462
+ * * Field Name: PayloadJSON
83463
+ * * Display Name: Payload
83464
+ * * SQL Data Type: nvarchar(MAX)
83465
+ * * Description: Optional payload JSON containing custom data or parameters consumed by the claim type driver during redemption.
83466
+ */
83467
+ get PayloadJSON() {
83468
+ return this.Get('PayloadJSON');
83469
+ }
83470
+ set PayloadJSON(value) {
83471
+ this.Set('PayloadJSON', value);
83472
+ }
83473
+ /**
83474
+ * * Field Name: Status
83475
+ * * Display Name: Status
83476
+ * * SQL Data Type: nvarchar(20)
83477
+ * * Default Value: Pending
83478
+ * * Value List Type: List
83479
+ * * Possible Values
83480
+ * * Claimed
83481
+ * * Expired
83482
+ * * Pending
83483
+ * * Revoked
83484
+ * * Description: Current lifecycle state of the claim: Pending, Claimed, Expired, or Revoked.
83485
+ */
83486
+ get Status() {
83487
+ return this.Get('Status');
83488
+ }
83489
+ set Status(value) {
83490
+ this.Set('Status', value);
83491
+ }
83492
+ /**
83493
+ * * Field Name: ExpiresAt
83494
+ * * Display Name: Expires At
83495
+ * * SQL Data Type: datetimeoffset
83496
+ * * Description: Timestamp after which this claim can no longer be redeemed.
83497
+ */
83498
+ get ExpiresAt() {
83499
+ return this.Get('ExpiresAt');
83500
+ }
83501
+ set ExpiresAt(value) {
83502
+ this.Set('ExpiresAt', value);
83503
+ }
83504
+ /**
83505
+ * * Field Name: ClaimedAt
83506
+ * * Display Name: Claimed At
83507
+ * * SQL Data Type: datetimeoffset
83508
+ * * Description: Timestamp when the claim was successfully redeemed.
83509
+ */
83510
+ get ClaimedAt() {
83511
+ return this.Get('ClaimedAt');
83512
+ }
83513
+ set ClaimedAt(value) {
83514
+ this.Set('ClaimedAt', value);
83515
+ }
83516
+ /**
83517
+ * * Field Name: ClaimedByUserID
83518
+ * * Display Name: Claimed By User ID
83519
+ * * SQL Data Type: uniqueidentifier
83520
+ * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)
83521
+ * * Description: User ID of the authenticated user who successfully claimed this record.
83522
+ */
83523
+ get ClaimedByUserID() {
83524
+ return this.Get('ClaimedByUserID');
83525
+ }
83526
+ set ClaimedByUserID(value) {
83527
+ this.Set('ClaimedByUserID', value);
83528
+ }
83529
+ /**
83530
+ * * Field Name: MagicLinkInviteID
83531
+ * * Display Name: Magic Link Invite ID
83532
+ * * SQL Data Type: uniqueidentifier
83533
+ * * Related Entity/Foreign Key: MJ: Magic Link Invites (vwMagicLinkInvites.ID)
83534
+ * * Description: Optional link to a MagicLinkInvite record for email ownership verification links.
83535
+ */
83536
+ get MagicLinkInviteID() {
83537
+ return this.Get('MagicLinkInviteID');
83538
+ }
83539
+ set MagicLinkInviteID(value) {
83540
+ this.Set('MagicLinkInviteID', value);
83541
+ }
83542
+ /**
83543
+ * * Field Name: MetadataJSON
83544
+ * * Display Name: Metadata
83545
+ * * SQL Data Type: nvarchar(MAX)
83546
+ * * Description: Optional metadata JSON for auditing or tracking client provenance.
83547
+ */
83548
+ get MetadataJSON() {
83549
+ return this.Get('MetadataJSON');
83550
+ }
83551
+ set MetadataJSON(value) {
83552
+ this.Set('MetadataJSON', value);
83553
+ }
83554
+ /**
83555
+ * * Field Name: __mj_CreatedAt
83556
+ * * Display Name: Created At
83557
+ * * SQL Data Type: datetimeoffset
83558
+ * * Default Value: getutcdate()
83559
+ */
83560
+ get __mj_CreatedAt() {
83561
+ return this.Get('__mj_CreatedAt');
83562
+ }
83563
+ /**
83564
+ * * Field Name: __mj_UpdatedAt
83565
+ * * Display Name: Updated At
83566
+ * * SQL Data Type: datetimeoffset
83567
+ * * Default Value: getutcdate()
83568
+ */
83569
+ get __mj_UpdatedAt() {
83570
+ return this.Get('__mj_UpdatedAt');
83571
+ }
83572
+ /**
83573
+ * * Field Name: ClaimType
83574
+ * * Display Name: Claim Type
83575
+ * * SQL Data Type: nvarchar(100)
83576
+ */
83577
+ get ClaimType() {
83578
+ return this.Get('ClaimType');
83579
+ }
83580
+ /**
83581
+ * * Field Name: Entity
83582
+ * * Display Name: Entity
83583
+ * * SQL Data Type: nvarchar(255)
83584
+ */
83585
+ get Entity() {
83586
+ return this.Get('Entity');
83587
+ }
83588
+ /**
83589
+ * * Field Name: ClaimedByUser
83590
+ * * Display Name: Claimed By User
83591
+ * * SQL Data Type: nvarchar(100)
83592
+ */
83593
+ get ClaimedByUser() {
83594
+ return this.Get('ClaimedByUser');
83595
+ }
83596
+ };
83597
+ MJIdentityClaimEntity = __decorate([
83598
+ RegisterClass(BaseEntity, 'MJ: Identity Claims')
83599
+ ], MJIdentityClaimEntity);
83600
+ export { MJIdentityClaimEntity };
83082
83601
  /**
83083
83602
  * MJ: Instance Configurations - strongly typed entity sub-class
83084
83603
  * * Schema: __mj