@happyvertical/smrt-users 0.57.2 → 0.57.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.
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-users",
5
- "packageVersion": "0.57.2",
5
+ "packageVersion": "0.57.4",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-users:AccessRequestCollection": {
8
8
  "name": "accessrequestcollection",
@@ -6099,6 +6099,2181 @@
6099
6099
  },
6100
6100
  "importPath": "@happyvertical/smrt-users"
6101
6101
  },
6102
+ "@happyvertical/smrt-users:MemberClass": {
6103
+ "name": "memberclass",
6104
+ "className": "MemberClass",
6105
+ "qualifiedName": "@happyvertical/smrt-users:MemberClass",
6106
+ "collection": "memberclasses",
6107
+ "description": "A tenant-configured legal class; it has no authority or entitlement effect.",
6108
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
6109
+ "packageName": "@happyvertical/smrt-users",
6110
+ "fields": {
6111
+ "tenantId": {
6112
+ "type": "text",
6113
+ "required": true,
6114
+ "_meta": {
6115
+ "sqlType": "UUID",
6116
+ "__tenancy": {
6117
+ "isTenantIdField": true,
6118
+ "autoFilter": true,
6119
+ "required": true,
6120
+ "autoPopulate": true,
6121
+ "nullable": false,
6122
+ "mode": "required",
6123
+ "field": "tenantId",
6124
+ "allowSuperAdminBypass": false
6125
+ }
6126
+ }
6127
+ },
6128
+ "key": {
6129
+ "type": "text",
6130
+ "required": false,
6131
+ "_meta": {}
6132
+ },
6133
+ "name": {
6134
+ "type": "text",
6135
+ "required": false
6136
+ },
6137
+ "description": {
6138
+ "type": "text",
6139
+ "required": false
6140
+ },
6141
+ "policyMetadata": {
6142
+ "type": "json",
6143
+ "required": false,
6144
+ "_meta": {
6145
+ "nullable": true
6146
+ }
6147
+ }
6148
+ },
6149
+ "methods": {},
6150
+ "decoratorConfig": {
6151
+ "tableName": "member_classes",
6152
+ "sensitive": true,
6153
+ "indexes": [
6154
+ {
6155
+ "name": "member_classes_tenant_key_uq",
6156
+ "columns": [
6157
+ "tenantId",
6158
+ "key"
6159
+ ],
6160
+ "unique": true
6161
+ }
6162
+ ],
6163
+ "api": {
6164
+ "include": []
6165
+ },
6166
+ "mcp": {
6167
+ "include": []
6168
+ },
6169
+ "cli": false,
6170
+ "tenantScoped": {
6171
+ "mode": "required"
6172
+ },
6173
+ "conflictColumns": [
6174
+ "tenant_id",
6175
+ "slug",
6176
+ "context"
6177
+ ]
6178
+ },
6179
+ "extends": "SmrtObject",
6180
+ "exportName": "MemberClass",
6181
+ "collectionExportName": "MemberClassCollection",
6182
+ "displayLabelField": "name",
6183
+ "validationRules": [],
6184
+ "schema": {
6185
+ "tableName": "member_classes",
6186
+ "ddl": "CREATE TABLE IF NOT EXISTS \"member_classes\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"key\" TEXT,\n \"name\" TEXT,\n \"description\" TEXT,\n \"policy_metadata\" JSON\n);",
6187
+ "columns": {
6188
+ "id": {
6189
+ "type": "UUID",
6190
+ "primaryKey": true,
6191
+ "referenceKind": "id",
6192
+ "notNull": true
6193
+ },
6194
+ "slug": {
6195
+ "type": "TEXT",
6196
+ "notNull": true
6197
+ },
6198
+ "context": {
6199
+ "type": "TEXT",
6200
+ "notNull": true,
6201
+ "default": ""
6202
+ },
6203
+ "created_at": {
6204
+ "type": "TIMESTAMP",
6205
+ "notNull": true,
6206
+ "default": "current_timestamp"
6207
+ },
6208
+ "updated_at": {
6209
+ "type": "TIMESTAMP",
6210
+ "notNull": true,
6211
+ "default": "current_timestamp"
6212
+ },
6213
+ "tenant_id": {
6214
+ "type": "UUID",
6215
+ "referenceKind": "tenantId",
6216
+ "notNull": true,
6217
+ "unique": false
6218
+ },
6219
+ "key": {
6220
+ "type": "TEXT",
6221
+ "notNull": false,
6222
+ "unique": false
6223
+ },
6224
+ "name": {
6225
+ "type": "TEXT",
6226
+ "notNull": false,
6227
+ "unique": false
6228
+ },
6229
+ "description": {
6230
+ "type": "TEXT",
6231
+ "notNull": false,
6232
+ "unique": false
6233
+ },
6234
+ "policy_metadata": {
6235
+ "type": "JSON",
6236
+ "notNull": false,
6237
+ "unique": false
6238
+ }
6239
+ },
6240
+ "indexes": [
6241
+ {
6242
+ "name": "member_classes_slug_context_idx",
6243
+ "columns": [
6244
+ "tenant_id",
6245
+ "slug",
6246
+ "context"
6247
+ ],
6248
+ "unique": true
6249
+ },
6250
+ {
6251
+ "name": "member_classes_tenant_key_uq",
6252
+ "columns": [
6253
+ "tenant_id",
6254
+ "key"
6255
+ ],
6256
+ "unique": true
6257
+ },
6258
+ {
6259
+ "name": "member_classes_tenant_id_created_at_idx",
6260
+ "columns": [
6261
+ "tenant_id",
6262
+ "created_at"
6263
+ ]
6264
+ }
6265
+ ],
6266
+ "version": "0fa7a152"
6267
+ },
6268
+ "importPath": "@happyvertical/smrt-users"
6269
+ },
6270
+ "@happyvertical/smrt-users:LegalMember": {
6271
+ "name": "legalmember",
6272
+ "className": "LegalMember",
6273
+ "qualifiedName": "@happyvertical/smrt-users:LegalMember",
6274
+ "collection": "legalmembers",
6275
+ "description": "The legal register entry, deliberately separate from RBAC Membership.",
6276
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
6277
+ "packageName": "@happyvertical/smrt-users",
6278
+ "fields": {
6279
+ "tenantId": {
6280
+ "type": "text",
6281
+ "required": true,
6282
+ "_meta": {
6283
+ "sqlType": "UUID",
6284
+ "__tenancy": {
6285
+ "isTenantIdField": true,
6286
+ "autoFilter": true,
6287
+ "required": true,
6288
+ "autoPopulate": true,
6289
+ "nullable": false,
6290
+ "mode": "required",
6291
+ "field": "tenantId",
6292
+ "allowSuperAdminBypass": false
6293
+ }
6294
+ }
6295
+ },
6296
+ "memberClassId": {
6297
+ "type": "foreignKey",
6298
+ "required": false,
6299
+ "related": "MemberClass",
6300
+ "_meta": {
6301
+ "onDelete": "RESTRICT"
6302
+ }
6303
+ },
6304
+ "kind": {
6305
+ "type": "text",
6306
+ "required": false,
6307
+ "_meta": {},
6308
+ "enum": [
6309
+ "individual",
6310
+ "organisation"
6311
+ ]
6312
+ },
6313
+ "displayName": {
6314
+ "type": "text",
6315
+ "required": false
6316
+ },
6317
+ "userId": {
6318
+ "type": "foreignKey",
6319
+ "required": false,
6320
+ "related": "User",
6321
+ "_meta": {
6322
+ "nullable": true,
6323
+ "onDelete": "RESTRICT"
6324
+ }
6325
+ },
6326
+ "profileId": {
6327
+ "type": "crossPackageRef",
6328
+ "required": false,
6329
+ "related": "@happyvertical/smrt-profiles:Profile",
6330
+ "_meta": {
6331
+ "nullable": true,
6332
+ "onDelete": "RESTRICT"
6333
+ }
6334
+ },
6335
+ "externalPartyRef": {
6336
+ "type": "text",
6337
+ "required": false,
6338
+ "_meta": {
6339
+ "nullable": true
6340
+ }
6341
+ },
6342
+ "joinedOn": {
6343
+ "type": "text",
6344
+ "required": false,
6345
+ "_meta": {}
6346
+ },
6347
+ "leftOn": {
6348
+ "type": "text",
6349
+ "required": false,
6350
+ "_meta": {
6351
+ "nullable": true
6352
+ }
6353
+ },
6354
+ "status": {
6355
+ "type": "text",
6356
+ "required": false,
6357
+ "_meta": {},
6358
+ "enum": [
6359
+ "active",
6360
+ "suspended",
6361
+ "resigned",
6362
+ "ceased"
6363
+ ]
6364
+ }
6365
+ },
6366
+ "methods": {},
6367
+ "decoratorConfig": {
6368
+ "tableName": "legal_members",
6369
+ "sensitive": true,
6370
+ "indexes": [
6371
+ {
6372
+ "name": "legal_members_tenant_class_status_idx",
6373
+ "columns": [
6374
+ "tenantId",
6375
+ "memberClassId",
6376
+ "status"
6377
+ ]
6378
+ },
6379
+ {
6380
+ "name": "legal_members_tenant_user_idx",
6381
+ "columns": [
6382
+ "tenantId",
6383
+ "userId"
6384
+ ]
6385
+ }
6386
+ ],
6387
+ "api": {
6388
+ "include": []
6389
+ },
6390
+ "mcp": {
6391
+ "include": []
6392
+ },
6393
+ "cli": false,
6394
+ "tenantScoped": {
6395
+ "mode": "required"
6396
+ },
6397
+ "conflictColumns": [
6398
+ "tenant_id",
6399
+ "slug",
6400
+ "context"
6401
+ ]
6402
+ },
6403
+ "extends": "SmrtObject",
6404
+ "exportName": "LegalMember",
6405
+ "collectionExportName": "LegalMemberCollection",
6406
+ "validationRules": [],
6407
+ "schema": {
6408
+ "tableName": "legal_members",
6409
+ "ddl": "CREATE TABLE IF NOT EXISTS \"legal_members\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_class_id\" UUID,\n \"kind\" TEXT,\n \"display_name\" TEXT,\n \"user_id\" UUID,\n \"profile_id\" UUID,\n \"external_party_ref\" TEXT,\n \"joined_on\" TEXT,\n \"left_on\" TEXT,\n \"status\" TEXT\n);",
6410
+ "columns": {
6411
+ "id": {
6412
+ "type": "UUID",
6413
+ "primaryKey": true,
6414
+ "referenceKind": "id",
6415
+ "notNull": true
6416
+ },
6417
+ "slug": {
6418
+ "type": "TEXT",
6419
+ "notNull": true
6420
+ },
6421
+ "context": {
6422
+ "type": "TEXT",
6423
+ "notNull": true,
6424
+ "default": ""
6425
+ },
6426
+ "created_at": {
6427
+ "type": "TIMESTAMP",
6428
+ "notNull": true,
6429
+ "default": "current_timestamp"
6430
+ },
6431
+ "updated_at": {
6432
+ "type": "TIMESTAMP",
6433
+ "notNull": true,
6434
+ "default": "current_timestamp"
6435
+ },
6436
+ "tenant_id": {
6437
+ "type": "UUID",
6438
+ "referenceKind": "tenantId",
6439
+ "notNull": true,
6440
+ "unique": false
6441
+ },
6442
+ "member_class_id": {
6443
+ "type": "UUID",
6444
+ "referenceKind": "foreignKey",
6445
+ "notNull": false,
6446
+ "unique": false,
6447
+ "foreignKey": {
6448
+ "table": "member_classes",
6449
+ "column": "id",
6450
+ "onDelete": "RESTRICT",
6451
+ "onUpdate": "CASCADE"
6452
+ }
6453
+ },
6454
+ "kind": {
6455
+ "type": "TEXT",
6456
+ "notNull": false,
6457
+ "unique": false
6458
+ },
6459
+ "display_name": {
6460
+ "type": "TEXT",
6461
+ "notNull": false,
6462
+ "unique": false
6463
+ },
6464
+ "user_id": {
6465
+ "type": "UUID",
6466
+ "referenceKind": "foreignKey",
6467
+ "notNull": false,
6468
+ "unique": false,
6469
+ "foreignKey": {
6470
+ "table": "users",
6471
+ "column": "id",
6472
+ "onDelete": "RESTRICT",
6473
+ "onUpdate": "CASCADE"
6474
+ }
6475
+ },
6476
+ "profile_id": {
6477
+ "type": "UUID",
6478
+ "referenceKind": "crossPackageRef",
6479
+ "notNull": false,
6480
+ "unique": false
6481
+ },
6482
+ "external_party_ref": {
6483
+ "type": "TEXT",
6484
+ "notNull": false,
6485
+ "unique": false
6486
+ },
6487
+ "joined_on": {
6488
+ "type": "TEXT",
6489
+ "notNull": false,
6490
+ "unique": false
6491
+ },
6492
+ "left_on": {
6493
+ "type": "TEXT",
6494
+ "notNull": false,
6495
+ "unique": false
6496
+ },
6497
+ "status": {
6498
+ "type": "TEXT",
6499
+ "notNull": false,
6500
+ "unique": false
6501
+ }
6502
+ },
6503
+ "indexes": [
6504
+ {
6505
+ "name": "legal_members_slug_context_idx",
6506
+ "columns": [
6507
+ "tenant_id",
6508
+ "slug",
6509
+ "context"
6510
+ ],
6511
+ "unique": true
6512
+ },
6513
+ {
6514
+ "name": "legal_members_tenant_class_status_idx",
6515
+ "columns": [
6516
+ "tenant_id",
6517
+ "member_class_id",
6518
+ "status"
6519
+ ]
6520
+ },
6521
+ {
6522
+ "name": "legal_members_tenant_user_idx",
6523
+ "columns": [
6524
+ "tenant_id",
6525
+ "user_id"
6526
+ ]
6527
+ },
6528
+ {
6529
+ "name": "legal_members_tenant_id_created_at_idx",
6530
+ "columns": [
6531
+ "tenant_id",
6532
+ "created_at"
6533
+ ]
6534
+ },
6535
+ {
6536
+ "name": "legal_members_member_class_id_idx",
6537
+ "columns": [
6538
+ "member_class_id"
6539
+ ]
6540
+ },
6541
+ {
6542
+ "name": "legal_members_user_id_idx",
6543
+ "columns": [
6544
+ "user_id"
6545
+ ]
6546
+ },
6547
+ {
6548
+ "name": "legal_members_profile_id_idx",
6549
+ "columns": [
6550
+ "profile_id"
6551
+ ]
6552
+ }
6553
+ ],
6554
+ "version": "b05fd9f3"
6555
+ },
6556
+ "importPath": "@happyvertical/smrt-users"
6557
+ },
6558
+ "@happyvertical/smrt-users:LegalMemberStatusHistory": {
6559
+ "name": "legalmemberstatushistory",
6560
+ "className": "LegalMemberStatusHistory",
6561
+ "qualifiedName": "@happyvertical/smrt-users:LegalMemberStatusHistory",
6562
+ "collection": "legalmemberstatushistories",
6563
+ "description": "Append-only effective history; current status never erases it.",
6564
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
6565
+ "packageName": "@happyvertical/smrt-users",
6566
+ "fields": {
6567
+ "tenantId": {
6568
+ "type": "text",
6569
+ "required": true,
6570
+ "_meta": {
6571
+ "sqlType": "UUID",
6572
+ "__tenancy": {
6573
+ "isTenantIdField": true,
6574
+ "autoFilter": true,
6575
+ "required": true,
6576
+ "autoPopulate": true,
6577
+ "nullable": false,
6578
+ "mode": "required",
6579
+ "field": "tenantId",
6580
+ "allowSuperAdminBypass": false
6581
+ }
6582
+ }
6583
+ },
6584
+ "memberId": {
6585
+ "type": "foreignKey",
6586
+ "required": false,
6587
+ "related": "LegalMember",
6588
+ "_meta": {
6589
+ "onDelete": "RESTRICT"
6590
+ }
6591
+ },
6592
+ "status": {
6593
+ "type": "text",
6594
+ "required": false,
6595
+ "_meta": {},
6596
+ "enum": [
6597
+ "active",
6598
+ "suspended",
6599
+ "resigned",
6600
+ "ceased"
6601
+ ]
6602
+ },
6603
+ "effectiveOn": {
6604
+ "type": "text",
6605
+ "required": false,
6606
+ "_meta": {}
6607
+ },
6608
+ "sequence": {
6609
+ "type": "integer",
6610
+ "required": false,
6611
+ "_meta": {}
6612
+ },
6613
+ "reason": {
6614
+ "type": "text",
6615
+ "required": false
6616
+ },
6617
+ "actorRef": {
6618
+ "type": "text",
6619
+ "required": false,
6620
+ "_meta": {
6621
+ "nullable": true
6622
+ }
6623
+ }
6624
+ },
6625
+ "methods": {
6626
+ "save": {
6627
+ "name": "save",
6628
+ "async": true,
6629
+ "parameters": [],
6630
+ "returnType": "Promise<this>",
6631
+ "isStatic": false,
6632
+ "isPublic": true
6633
+ },
6634
+ "delete": {
6635
+ "name": "delete",
6636
+ "async": true,
6637
+ "parameters": [],
6638
+ "returnType": "Promise<void>",
6639
+ "isStatic": false,
6640
+ "isPublic": true
6641
+ }
6642
+ },
6643
+ "decoratorConfig": {
6644
+ "tableName": "legal_member_status_history",
6645
+ "sensitive": true,
6646
+ "indexes": [
6647
+ {
6648
+ "name": "legal_member_status_history_member_on_idx",
6649
+ "columns": [
6650
+ "tenantId",
6651
+ "memberId",
6652
+ "effectiveOn"
6653
+ ]
6654
+ }
6655
+ ],
6656
+ "api": {
6657
+ "include": []
6658
+ },
6659
+ "mcp": {
6660
+ "include": []
6661
+ },
6662
+ "cli": false,
6663
+ "tenantScoped": {
6664
+ "mode": "required"
6665
+ },
6666
+ "conflictColumns": [
6667
+ "tenant_id",
6668
+ "slug",
6669
+ "context"
6670
+ ]
6671
+ },
6672
+ "extends": "SmrtObject",
6673
+ "exportName": "LegalMemberStatusHistory",
6674
+ "collectionExportName": "LegalMemberStatusHistoryCollection",
6675
+ "validationRules": [],
6676
+ "schema": {
6677
+ "tableName": "legal_member_status_history",
6678
+ "ddl": "CREATE TABLE IF NOT EXISTS \"legal_member_status_history\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"status\" TEXT,\n \"effective_on\" TEXT,\n \"sequence\" INTEGER,\n \"reason\" TEXT,\n \"actor_ref\" TEXT\n);",
6679
+ "columns": {
6680
+ "id": {
6681
+ "type": "UUID",
6682
+ "primaryKey": true,
6683
+ "referenceKind": "id",
6684
+ "notNull": true
6685
+ },
6686
+ "slug": {
6687
+ "type": "TEXT",
6688
+ "notNull": true
6689
+ },
6690
+ "context": {
6691
+ "type": "TEXT",
6692
+ "notNull": true,
6693
+ "default": ""
6694
+ },
6695
+ "created_at": {
6696
+ "type": "TIMESTAMP",
6697
+ "notNull": true,
6698
+ "default": "current_timestamp"
6699
+ },
6700
+ "updated_at": {
6701
+ "type": "TIMESTAMP",
6702
+ "notNull": true,
6703
+ "default": "current_timestamp"
6704
+ },
6705
+ "tenant_id": {
6706
+ "type": "UUID",
6707
+ "referenceKind": "tenantId",
6708
+ "notNull": true,
6709
+ "unique": false
6710
+ },
6711
+ "member_id": {
6712
+ "type": "UUID",
6713
+ "referenceKind": "foreignKey",
6714
+ "notNull": false,
6715
+ "unique": false,
6716
+ "foreignKey": {
6717
+ "table": "legal_members",
6718
+ "column": "id",
6719
+ "onDelete": "RESTRICT",
6720
+ "onUpdate": "CASCADE"
6721
+ }
6722
+ },
6723
+ "status": {
6724
+ "type": "TEXT",
6725
+ "notNull": false,
6726
+ "unique": false
6727
+ },
6728
+ "effective_on": {
6729
+ "type": "TEXT",
6730
+ "notNull": false,
6731
+ "unique": false
6732
+ },
6733
+ "sequence": {
6734
+ "type": "INTEGER",
6735
+ "notNull": false,
6736
+ "unique": false
6737
+ },
6738
+ "reason": {
6739
+ "type": "TEXT",
6740
+ "notNull": false,
6741
+ "unique": false
6742
+ },
6743
+ "actor_ref": {
6744
+ "type": "TEXT",
6745
+ "notNull": false,
6746
+ "unique": false
6747
+ }
6748
+ },
6749
+ "indexes": [
6750
+ {
6751
+ "name": "legal_member_status_history_slug_context_idx",
6752
+ "columns": [
6753
+ "tenant_id",
6754
+ "slug",
6755
+ "context"
6756
+ ],
6757
+ "unique": true
6758
+ },
6759
+ {
6760
+ "name": "legal_member_status_history_member_on_idx",
6761
+ "columns": [
6762
+ "tenant_id",
6763
+ "member_id",
6764
+ "effective_on"
6765
+ ]
6766
+ },
6767
+ {
6768
+ "name": "legal_member_status_history_tenant_id_created_at_idx",
6769
+ "columns": [
6770
+ "tenant_id",
6771
+ "created_at"
6772
+ ]
6773
+ },
6774
+ {
6775
+ "name": "legal_member_status_history_member_id_idx",
6776
+ "columns": [
6777
+ "member_id"
6778
+ ]
6779
+ }
6780
+ ],
6781
+ "version": "3885f61f"
6782
+ },
6783
+ "importPath": "@happyvertical/smrt-users"
6784
+ },
6785
+ "@happyvertical/smrt-users:LegalMemberReference": {
6786
+ "name": "legalmemberreference",
6787
+ "className": "LegalMemberReference",
6788
+ "qualifiedName": "@happyvertical/smrt-users:LegalMemberReference",
6789
+ "collection": "legalmemberreferences",
6790
+ "description": "A link to authoritative share/dues/subscription/agreement/ledger evidence.",
6791
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
6792
+ "packageName": "@happyvertical/smrt-users",
6793
+ "fields": {
6794
+ "tenantId": {
6795
+ "type": "text",
6796
+ "required": true,
6797
+ "_meta": {
6798
+ "sqlType": "UUID",
6799
+ "__tenancy": {
6800
+ "isTenantIdField": true,
6801
+ "autoFilter": true,
6802
+ "required": true,
6803
+ "autoPopulate": true,
6804
+ "nullable": false,
6805
+ "mode": "required",
6806
+ "field": "tenantId",
6807
+ "allowSuperAdminBypass": false
6808
+ }
6809
+ }
6810
+ },
6811
+ "memberId": {
6812
+ "type": "foreignKey",
6813
+ "required": false,
6814
+ "related": "LegalMember",
6815
+ "_meta": {
6816
+ "onDelete": "RESTRICT"
6817
+ }
6818
+ },
6819
+ "kind": {
6820
+ "type": "text",
6821
+ "required": false,
6822
+ "_meta": {},
6823
+ "enum": [
6824
+ "share",
6825
+ "dues",
6826
+ "subscription",
6827
+ "agreement",
6828
+ "ledger"
6829
+ ]
6830
+ },
6831
+ "sourceType": {
6832
+ "type": "text",
6833
+ "required": false
6834
+ },
6835
+ "sourceId": {
6836
+ "type": "text",
6837
+ "required": false
6838
+ },
6839
+ "authoritative": {
6840
+ "type": "boolean",
6841
+ "required": false,
6842
+ "_meta": {}
6843
+ },
6844
+ "effectiveFrom": {
6845
+ "type": "text",
6846
+ "required": false,
6847
+ "_meta": {}
6848
+ },
6849
+ "effectiveTo": {
6850
+ "type": "text",
6851
+ "required": false,
6852
+ "_meta": {
6853
+ "nullable": true
6854
+ }
6855
+ },
6856
+ "revokesId": {
6857
+ "type": "foreignKey",
6858
+ "required": false,
6859
+ "related": "LegalMemberReference",
6860
+ "_meta": {
6861
+ "nullable": true,
6862
+ "onDelete": "RESTRICT"
6863
+ }
6864
+ }
6865
+ },
6866
+ "methods": {
6867
+ "save": {
6868
+ "name": "save",
6869
+ "async": true,
6870
+ "parameters": [],
6871
+ "returnType": "Promise<this>",
6872
+ "isStatic": false,
6873
+ "isPublic": true
6874
+ },
6875
+ "delete": {
6876
+ "name": "delete",
6877
+ "async": true,
6878
+ "parameters": [],
6879
+ "returnType": "Promise<void>",
6880
+ "isStatic": false,
6881
+ "isPublic": true
6882
+ }
6883
+ },
6884
+ "decoratorConfig": {
6885
+ "tableName": "legal_member_references",
6886
+ "sensitive": true,
6887
+ "indexes": [
6888
+ {
6889
+ "name": "legal_member_references_member_kind_idx",
6890
+ "columns": [
6891
+ "tenantId",
6892
+ "memberId",
6893
+ "kind"
6894
+ ]
6895
+ }
6896
+ ],
6897
+ "api": {
6898
+ "include": []
6899
+ },
6900
+ "mcp": {
6901
+ "include": []
6902
+ },
6903
+ "cli": false,
6904
+ "tenantScoped": {
6905
+ "mode": "required"
6906
+ },
6907
+ "conflictColumns": [
6908
+ "tenant_id",
6909
+ "slug",
6910
+ "context"
6911
+ ]
6912
+ },
6913
+ "extends": "SmrtObject",
6914
+ "exportName": "LegalMemberReference",
6915
+ "collectionExportName": "LegalMemberReferenceCollection",
6916
+ "validationRules": [],
6917
+ "schema": {
6918
+ "tableName": "legal_member_references",
6919
+ "ddl": "CREATE TABLE IF NOT EXISTS \"legal_member_references\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"kind\" TEXT,\n \"source_type\" TEXT,\n \"source_id\" TEXT,\n \"authoritative\" BOOLEAN,\n \"effective_from\" TEXT,\n \"effective_to\" TEXT,\n \"revokes_id\" UUID\n);",
6920
+ "columns": {
6921
+ "id": {
6922
+ "type": "UUID",
6923
+ "primaryKey": true,
6924
+ "referenceKind": "id",
6925
+ "notNull": true
6926
+ },
6927
+ "slug": {
6928
+ "type": "TEXT",
6929
+ "notNull": true
6930
+ },
6931
+ "context": {
6932
+ "type": "TEXT",
6933
+ "notNull": true,
6934
+ "default": ""
6935
+ },
6936
+ "created_at": {
6937
+ "type": "TIMESTAMP",
6938
+ "notNull": true,
6939
+ "default": "current_timestamp"
6940
+ },
6941
+ "updated_at": {
6942
+ "type": "TIMESTAMP",
6943
+ "notNull": true,
6944
+ "default": "current_timestamp"
6945
+ },
6946
+ "tenant_id": {
6947
+ "type": "UUID",
6948
+ "referenceKind": "tenantId",
6949
+ "notNull": true,
6950
+ "unique": false
6951
+ },
6952
+ "member_id": {
6953
+ "type": "UUID",
6954
+ "referenceKind": "foreignKey",
6955
+ "notNull": false,
6956
+ "unique": false,
6957
+ "foreignKey": {
6958
+ "table": "legal_members",
6959
+ "column": "id",
6960
+ "onDelete": "RESTRICT",
6961
+ "onUpdate": "CASCADE"
6962
+ }
6963
+ },
6964
+ "kind": {
6965
+ "type": "TEXT",
6966
+ "notNull": false,
6967
+ "unique": false
6968
+ },
6969
+ "source_type": {
6970
+ "type": "TEXT",
6971
+ "notNull": false,
6972
+ "unique": false
6973
+ },
6974
+ "source_id": {
6975
+ "type": "TEXT",
6976
+ "notNull": false,
6977
+ "unique": false
6978
+ },
6979
+ "authoritative": {
6980
+ "type": "BOOLEAN",
6981
+ "notNull": false,
6982
+ "unique": false
6983
+ },
6984
+ "effective_from": {
6985
+ "type": "TEXT",
6986
+ "notNull": false,
6987
+ "unique": false
6988
+ },
6989
+ "effective_to": {
6990
+ "type": "TEXT",
6991
+ "notNull": false,
6992
+ "unique": false
6993
+ },
6994
+ "revokes_id": {
6995
+ "type": "UUID",
6996
+ "referenceKind": "foreignKey",
6997
+ "notNull": false,
6998
+ "unique": false,
6999
+ "foreignKey": {
7000
+ "table": "legal_member_references",
7001
+ "column": "id",
7002
+ "onDelete": "RESTRICT",
7003
+ "onUpdate": "CASCADE"
7004
+ }
7005
+ }
7006
+ },
7007
+ "indexes": [
7008
+ {
7009
+ "name": "legal_member_references_slug_context_idx",
7010
+ "columns": [
7011
+ "tenant_id",
7012
+ "slug",
7013
+ "context"
7014
+ ],
7015
+ "unique": true
7016
+ },
7017
+ {
7018
+ "name": "legal_member_references_member_kind_idx",
7019
+ "columns": [
7020
+ "tenant_id",
7021
+ "member_id",
7022
+ "kind"
7023
+ ]
7024
+ },
7025
+ {
7026
+ "name": "legal_member_references_tenant_id_created_at_idx",
7027
+ "columns": [
7028
+ "tenant_id",
7029
+ "created_at"
7030
+ ]
7031
+ },
7032
+ {
7033
+ "name": "legal_member_references_member_id_idx",
7034
+ "columns": [
7035
+ "member_id"
7036
+ ]
7037
+ },
7038
+ {
7039
+ "name": "legal_member_references_revokes_id_idx",
7040
+ "columns": [
7041
+ "revokes_id"
7042
+ ]
7043
+ }
7044
+ ],
7045
+ "version": "30237bd4"
7046
+ },
7047
+ "importPath": "@happyvertical/smrt-users"
7048
+ },
7049
+ "@happyvertical/smrt-users:MemberOfficerAppointment": {
7050
+ "name": "memberofficerappointment",
7051
+ "className": "MemberOfficerAppointment",
7052
+ "qualifiedName": "@happyvertical/smrt-users:MemberOfficerAppointment",
7053
+ "collection": "memberofficerappointments",
7054
+ "description": "A dated register of board/officer appointments; it does not implement elections.",
7055
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
7056
+ "packageName": "@happyvertical/smrt-users",
7057
+ "fields": {
7058
+ "tenantId": {
7059
+ "type": "text",
7060
+ "required": true,
7061
+ "_meta": {
7062
+ "sqlType": "UUID",
7063
+ "__tenancy": {
7064
+ "isTenantIdField": true,
7065
+ "autoFilter": true,
7066
+ "required": true,
7067
+ "autoPopulate": true,
7068
+ "nullable": false,
7069
+ "mode": "required",
7070
+ "field": "tenantId",
7071
+ "allowSuperAdminBypass": false
7072
+ }
7073
+ }
7074
+ },
7075
+ "memberId": {
7076
+ "type": "foreignKey",
7077
+ "required": false,
7078
+ "related": "LegalMember",
7079
+ "_meta": {
7080
+ "onDelete": "RESTRICT"
7081
+ }
7082
+ },
7083
+ "role": {
7084
+ "type": "text",
7085
+ "required": false,
7086
+ "_meta": {}
7087
+ },
7088
+ "effectiveFrom": {
7089
+ "type": "text",
7090
+ "required": false,
7091
+ "_meta": {}
7092
+ },
7093
+ "effectiveTo": {
7094
+ "type": "text",
7095
+ "required": false,
7096
+ "_meta": {
7097
+ "nullable": true
7098
+ }
7099
+ },
7100
+ "authority": {
7101
+ "type": "json",
7102
+ "required": false,
7103
+ "_meta": {
7104
+ "nullable": true
7105
+ }
7106
+ }
7107
+ },
7108
+ "methods": {},
7109
+ "decoratorConfig": {
7110
+ "tableName": "member_officer_appointments",
7111
+ "sensitive": true,
7112
+ "indexes": [
7113
+ {
7114
+ "name": "member_officer_appointments_member_term_idx",
7115
+ "columns": [
7116
+ "tenantId",
7117
+ "memberId",
7118
+ "effectiveFrom"
7119
+ ]
7120
+ }
7121
+ ],
7122
+ "api": {
7123
+ "include": []
7124
+ },
7125
+ "mcp": {
7126
+ "include": []
7127
+ },
7128
+ "cli": false,
7129
+ "tenantScoped": {
7130
+ "mode": "required"
7131
+ },
7132
+ "conflictColumns": [
7133
+ "tenant_id",
7134
+ "slug",
7135
+ "context"
7136
+ ]
7137
+ },
7138
+ "extends": "SmrtObject",
7139
+ "exportName": "MemberOfficerAppointment",
7140
+ "collectionExportName": "MemberOfficerAppointmentCollection",
7141
+ "validationRules": [],
7142
+ "schema": {
7143
+ "tableName": "member_officer_appointments",
7144
+ "ddl": "CREATE TABLE IF NOT EXISTS \"member_officer_appointments\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"role\" TEXT,\n \"effective_from\" TEXT,\n \"effective_to\" TEXT,\n \"authority\" JSON\n);",
7145
+ "columns": {
7146
+ "id": {
7147
+ "type": "UUID",
7148
+ "primaryKey": true,
7149
+ "referenceKind": "id",
7150
+ "notNull": true
7151
+ },
7152
+ "slug": {
7153
+ "type": "TEXT",
7154
+ "notNull": true
7155
+ },
7156
+ "context": {
7157
+ "type": "TEXT",
7158
+ "notNull": true,
7159
+ "default": ""
7160
+ },
7161
+ "created_at": {
7162
+ "type": "TIMESTAMP",
7163
+ "notNull": true,
7164
+ "default": "current_timestamp"
7165
+ },
7166
+ "updated_at": {
7167
+ "type": "TIMESTAMP",
7168
+ "notNull": true,
7169
+ "default": "current_timestamp"
7170
+ },
7171
+ "tenant_id": {
7172
+ "type": "UUID",
7173
+ "referenceKind": "tenantId",
7174
+ "notNull": true,
7175
+ "unique": false
7176
+ },
7177
+ "member_id": {
7178
+ "type": "UUID",
7179
+ "referenceKind": "foreignKey",
7180
+ "notNull": false,
7181
+ "unique": false,
7182
+ "foreignKey": {
7183
+ "table": "legal_members",
7184
+ "column": "id",
7185
+ "onDelete": "RESTRICT",
7186
+ "onUpdate": "CASCADE"
7187
+ }
7188
+ },
7189
+ "role": {
7190
+ "type": "TEXT",
7191
+ "notNull": false,
7192
+ "unique": false
7193
+ },
7194
+ "effective_from": {
7195
+ "type": "TEXT",
7196
+ "notNull": false,
7197
+ "unique": false
7198
+ },
7199
+ "effective_to": {
7200
+ "type": "TEXT",
7201
+ "notNull": false,
7202
+ "unique": false
7203
+ },
7204
+ "authority": {
7205
+ "type": "JSON",
7206
+ "notNull": false,
7207
+ "unique": false
7208
+ }
7209
+ },
7210
+ "indexes": [
7211
+ {
7212
+ "name": "member_officer_appointments_slug_context_idx",
7213
+ "columns": [
7214
+ "tenant_id",
7215
+ "slug",
7216
+ "context"
7217
+ ],
7218
+ "unique": true
7219
+ },
7220
+ {
7221
+ "name": "member_officer_appointments_member_term_idx",
7222
+ "columns": [
7223
+ "tenant_id",
7224
+ "member_id",
7225
+ "effective_from"
7226
+ ]
7227
+ },
7228
+ {
7229
+ "name": "member_officer_appointments_tenant_id_created_at_idx",
7230
+ "columns": [
7231
+ "tenant_id",
7232
+ "created_at"
7233
+ ]
7234
+ },
7235
+ {
7236
+ "name": "member_officer_appointments_member_id_idx",
7237
+ "columns": [
7238
+ "member_id"
7239
+ ]
7240
+ }
7241
+ ],
7242
+ "version": "eed54759"
7243
+ },
7244
+ "importPath": "@happyvertical/smrt-users"
7245
+ },
7246
+ "@happyvertical/smrt-users:MemberEligibilitySnapshot": {
7247
+ "name": "membereligibilitysnapshot",
7248
+ "className": "MemberEligibilitySnapshot",
7249
+ "qualifiedName": "@happyvertical/smrt-users:MemberEligibilitySnapshot",
7250
+ "collection": "membereligibilitysnapshots",
7251
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
7252
+ "packageName": "@happyvertical/smrt-users",
7253
+ "fields": {
7254
+ "tenantId": {
7255
+ "type": "text",
7256
+ "required": true,
7257
+ "_meta": {
7258
+ "sqlType": "UUID",
7259
+ "__tenancy": {
7260
+ "isTenantIdField": true,
7261
+ "autoFilter": true,
7262
+ "required": true,
7263
+ "autoPopulate": true,
7264
+ "nullable": false,
7265
+ "mode": "required",
7266
+ "field": "tenantId",
7267
+ "allowSuperAdminBypass": false
7268
+ }
7269
+ }
7270
+ },
7271
+ "memberId": {
7272
+ "type": "foreignKey",
7273
+ "required": false,
7274
+ "related": "LegalMember",
7275
+ "_meta": {
7276
+ "onDelete": "RESTRICT"
7277
+ }
7278
+ },
7279
+ "recordDate": {
7280
+ "type": "text",
7281
+ "required": false,
7282
+ "_meta": {}
7283
+ },
7284
+ "eligible": {
7285
+ "type": "boolean",
7286
+ "required": false,
7287
+ "_meta": {}
7288
+ },
7289
+ "reason": {
7290
+ "type": "text",
7291
+ "required": false
7292
+ },
7293
+ "evidence": {
7294
+ "type": "json",
7295
+ "required": false,
7296
+ "_meta": {
7297
+ "nullable": true
7298
+ }
7299
+ }
7300
+ },
7301
+ "methods": {
7302
+ "save": {
7303
+ "name": "save",
7304
+ "async": true,
7305
+ "parameters": [],
7306
+ "returnType": "Promise<this>",
7307
+ "isStatic": false,
7308
+ "isPublic": true
7309
+ },
7310
+ "delete": {
7311
+ "name": "delete",
7312
+ "async": true,
7313
+ "parameters": [],
7314
+ "returnType": "Promise<void>",
7315
+ "isStatic": false,
7316
+ "isPublic": true
7317
+ }
7318
+ },
7319
+ "decoratorConfig": {
7320
+ "tableName": "member_eligibility_snapshots",
7321
+ "sensitive": true,
7322
+ "indexes": [
7323
+ {
7324
+ "name": "member_eligibility_snapshots_tenant_date_idx",
7325
+ "columns": [
7326
+ "tenantId",
7327
+ "recordDate"
7328
+ ]
7329
+ }
7330
+ ],
7331
+ "api": {
7332
+ "include": []
7333
+ },
7334
+ "mcp": {
7335
+ "include": []
7336
+ },
7337
+ "cli": false,
7338
+ "tenantScoped": {
7339
+ "mode": "required"
7340
+ },
7341
+ "conflictColumns": [
7342
+ "tenant_id",
7343
+ "slug",
7344
+ "context"
7345
+ ]
7346
+ },
7347
+ "extends": "SmrtObject",
7348
+ "exportName": "MemberEligibilitySnapshot",
7349
+ "collectionExportName": "MemberEligibilitySnapshotCollection",
7350
+ "validationRules": [],
7351
+ "schema": {
7352
+ "tableName": "member_eligibility_snapshots",
7353
+ "ddl": "CREATE TABLE IF NOT EXISTS \"member_eligibility_snapshots\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"record_date\" TEXT,\n \"eligible\" BOOLEAN,\n \"reason\" TEXT,\n \"evidence\" JSON\n);",
7354
+ "columns": {
7355
+ "id": {
7356
+ "type": "UUID",
7357
+ "primaryKey": true,
7358
+ "referenceKind": "id",
7359
+ "notNull": true
7360
+ },
7361
+ "slug": {
7362
+ "type": "TEXT",
7363
+ "notNull": true
7364
+ },
7365
+ "context": {
7366
+ "type": "TEXT",
7367
+ "notNull": true,
7368
+ "default": ""
7369
+ },
7370
+ "created_at": {
7371
+ "type": "TIMESTAMP",
7372
+ "notNull": true,
7373
+ "default": "current_timestamp"
7374
+ },
7375
+ "updated_at": {
7376
+ "type": "TIMESTAMP",
7377
+ "notNull": true,
7378
+ "default": "current_timestamp"
7379
+ },
7380
+ "tenant_id": {
7381
+ "type": "UUID",
7382
+ "referenceKind": "tenantId",
7383
+ "notNull": true,
7384
+ "unique": false
7385
+ },
7386
+ "member_id": {
7387
+ "type": "UUID",
7388
+ "referenceKind": "foreignKey",
7389
+ "notNull": false,
7390
+ "unique": false,
7391
+ "foreignKey": {
7392
+ "table": "legal_members",
7393
+ "column": "id",
7394
+ "onDelete": "RESTRICT",
7395
+ "onUpdate": "CASCADE"
7396
+ }
7397
+ },
7398
+ "record_date": {
7399
+ "type": "TEXT",
7400
+ "notNull": false,
7401
+ "unique": false
7402
+ },
7403
+ "eligible": {
7404
+ "type": "BOOLEAN",
7405
+ "notNull": false,
7406
+ "unique": false
7407
+ },
7408
+ "reason": {
7409
+ "type": "TEXT",
7410
+ "notNull": false,
7411
+ "unique": false
7412
+ },
7413
+ "evidence": {
7414
+ "type": "JSON",
7415
+ "notNull": false,
7416
+ "unique": false
7417
+ }
7418
+ },
7419
+ "indexes": [
7420
+ {
7421
+ "name": "member_eligibility_snapshots_slug_context_idx",
7422
+ "columns": [
7423
+ "tenant_id",
7424
+ "slug",
7425
+ "context"
7426
+ ],
7427
+ "unique": true
7428
+ },
7429
+ {
7430
+ "name": "member_eligibility_snapshots_tenant_date_idx",
7431
+ "columns": [
7432
+ "tenant_id",
7433
+ "record_date"
7434
+ ]
7435
+ },
7436
+ {
7437
+ "name": "member_eligibility_snapshots_tenant_id_created_at_idx",
7438
+ "columns": [
7439
+ "tenant_id",
7440
+ "created_at"
7441
+ ]
7442
+ },
7443
+ {
7444
+ "name": "member_eligibility_snapshots_member_id_idx",
7445
+ "columns": [
7446
+ "member_id"
7447
+ ]
7448
+ }
7449
+ ],
7450
+ "version": "f3899c14"
7451
+ },
7452
+ "importPath": "@happyvertical/smrt-users"
7453
+ },
7454
+ "@happyvertical/smrt-users:MemberClassCollection": {
7455
+ "name": "memberclasscollection",
7456
+ "className": "MemberClassCollection",
7457
+ "qualifiedName": "@happyvertical/smrt-users:MemberClassCollection",
7458
+ "collection": "memberclasses",
7459
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
7460
+ "packageName": "@happyvertical/smrt-users",
7461
+ "fields": {},
7462
+ "methods": {},
7463
+ "decoratorConfig": {
7464
+ "api": {
7465
+ "include": []
7466
+ },
7467
+ "mcp": {
7468
+ "include": []
7469
+ },
7470
+ "cli": false,
7471
+ "tableName": "member_classes"
7472
+ },
7473
+ "extends": "SmrtCollection",
7474
+ "extendsTypeArg": "MemberClass",
7475
+ "exportName": "MemberClassCollection",
7476
+ "collectionExportName": "MemberClassCollectionCollection",
7477
+ "schema": {
7478
+ "tableName": "member_classes",
7479
+ "ddl": "CREATE TABLE IF NOT EXISTS \"member_classes\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"key\" TEXT,\n \"name\" TEXT,\n \"description\" TEXT,\n \"policy_metadata\" JSON\n);",
7480
+ "columns": {
7481
+ "id": {
7482
+ "type": "UUID",
7483
+ "primaryKey": true,
7484
+ "referenceKind": "id",
7485
+ "notNull": true
7486
+ },
7487
+ "slug": {
7488
+ "type": "TEXT",
7489
+ "notNull": true
7490
+ },
7491
+ "context": {
7492
+ "type": "TEXT",
7493
+ "notNull": true,
7494
+ "default": ""
7495
+ },
7496
+ "created_at": {
7497
+ "type": "TIMESTAMP",
7498
+ "notNull": true,
7499
+ "default": "current_timestamp"
7500
+ },
7501
+ "updated_at": {
7502
+ "type": "TIMESTAMP",
7503
+ "notNull": true,
7504
+ "default": "current_timestamp"
7505
+ },
7506
+ "tenant_id": {
7507
+ "type": "UUID",
7508
+ "referenceKind": "tenantId",
7509
+ "notNull": true,
7510
+ "unique": false
7511
+ },
7512
+ "key": {
7513
+ "type": "TEXT",
7514
+ "notNull": false,
7515
+ "unique": false
7516
+ },
7517
+ "name": {
7518
+ "type": "TEXT",
7519
+ "notNull": false,
7520
+ "unique": false
7521
+ },
7522
+ "description": {
7523
+ "type": "TEXT",
7524
+ "notNull": false,
7525
+ "unique": false
7526
+ },
7527
+ "policy_metadata": {
7528
+ "type": "JSON",
7529
+ "notNull": false,
7530
+ "unique": false
7531
+ }
7532
+ },
7533
+ "indexes": [
7534
+ {
7535
+ "name": "member_classes_slug_context_idx",
7536
+ "columns": [
7537
+ "tenant_id",
7538
+ "slug",
7539
+ "context"
7540
+ ],
7541
+ "unique": true
7542
+ },
7543
+ {
7544
+ "name": "member_classes_tenant_key_uq",
7545
+ "columns": [
7546
+ "tenant_id",
7547
+ "key"
7548
+ ],
7549
+ "unique": true
7550
+ },
7551
+ {
7552
+ "name": "member_classes_tenant_id_created_at_idx",
7553
+ "columns": [
7554
+ "tenant_id",
7555
+ "created_at"
7556
+ ]
7557
+ }
7558
+ ],
7559
+ "version": "0fa7a152"
7560
+ },
7561
+ "importPath": "@happyvertical/smrt-users"
7562
+ },
7563
+ "@happyvertical/smrt-users:LegalMemberCollection": {
7564
+ "name": "legalmembercollection",
7565
+ "className": "LegalMemberCollection",
7566
+ "qualifiedName": "@happyvertical/smrt-users:LegalMemberCollection",
7567
+ "collection": "legalmembers",
7568
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
7569
+ "packageName": "@happyvertical/smrt-users",
7570
+ "fields": {},
7571
+ "methods": {},
7572
+ "decoratorConfig": {
7573
+ "api": {
7574
+ "include": []
7575
+ },
7576
+ "mcp": {
7577
+ "include": []
7578
+ },
7579
+ "cli": false,
7580
+ "tableName": "legal_members"
7581
+ },
7582
+ "extends": "SmrtCollection",
7583
+ "extendsTypeArg": "LegalMember",
7584
+ "exportName": "LegalMemberCollection",
7585
+ "collectionExportName": "LegalMemberCollectionCollection",
7586
+ "schema": {
7587
+ "tableName": "legal_members",
7588
+ "ddl": "CREATE TABLE IF NOT EXISTS \"legal_members\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_class_id\" UUID,\n \"kind\" TEXT,\n \"display_name\" TEXT,\n \"user_id\" UUID,\n \"profile_id\" UUID,\n \"external_party_ref\" TEXT,\n \"joined_on\" TEXT,\n \"left_on\" TEXT,\n \"status\" TEXT\n);",
7589
+ "columns": {
7590
+ "id": {
7591
+ "type": "UUID",
7592
+ "primaryKey": true,
7593
+ "referenceKind": "id",
7594
+ "notNull": true
7595
+ },
7596
+ "slug": {
7597
+ "type": "TEXT",
7598
+ "notNull": true
7599
+ },
7600
+ "context": {
7601
+ "type": "TEXT",
7602
+ "notNull": true,
7603
+ "default": ""
7604
+ },
7605
+ "created_at": {
7606
+ "type": "TIMESTAMP",
7607
+ "notNull": true,
7608
+ "default": "current_timestamp"
7609
+ },
7610
+ "updated_at": {
7611
+ "type": "TIMESTAMP",
7612
+ "notNull": true,
7613
+ "default": "current_timestamp"
7614
+ },
7615
+ "tenant_id": {
7616
+ "type": "UUID",
7617
+ "referenceKind": "tenantId",
7618
+ "notNull": true,
7619
+ "unique": false
7620
+ },
7621
+ "member_class_id": {
7622
+ "type": "UUID",
7623
+ "referenceKind": "foreignKey",
7624
+ "notNull": false,
7625
+ "unique": false,
7626
+ "foreignKey": {
7627
+ "table": "member_classes",
7628
+ "column": "id",
7629
+ "onDelete": "RESTRICT",
7630
+ "onUpdate": "CASCADE"
7631
+ }
7632
+ },
7633
+ "kind": {
7634
+ "type": "TEXT",
7635
+ "notNull": false,
7636
+ "unique": false
7637
+ },
7638
+ "display_name": {
7639
+ "type": "TEXT",
7640
+ "notNull": false,
7641
+ "unique": false
7642
+ },
7643
+ "user_id": {
7644
+ "type": "UUID",
7645
+ "referenceKind": "foreignKey",
7646
+ "notNull": false,
7647
+ "unique": false,
7648
+ "foreignKey": {
7649
+ "table": "users",
7650
+ "column": "id",
7651
+ "onDelete": "RESTRICT",
7652
+ "onUpdate": "CASCADE"
7653
+ }
7654
+ },
7655
+ "profile_id": {
7656
+ "type": "UUID",
7657
+ "referenceKind": "crossPackageRef",
7658
+ "notNull": false,
7659
+ "unique": false
7660
+ },
7661
+ "external_party_ref": {
7662
+ "type": "TEXT",
7663
+ "notNull": false,
7664
+ "unique": false
7665
+ },
7666
+ "joined_on": {
7667
+ "type": "TEXT",
7668
+ "notNull": false,
7669
+ "unique": false
7670
+ },
7671
+ "left_on": {
7672
+ "type": "TEXT",
7673
+ "notNull": false,
7674
+ "unique": false
7675
+ },
7676
+ "status": {
7677
+ "type": "TEXT",
7678
+ "notNull": false,
7679
+ "unique": false
7680
+ }
7681
+ },
7682
+ "indexes": [
7683
+ {
7684
+ "name": "legal_members_slug_context_idx",
7685
+ "columns": [
7686
+ "tenant_id",
7687
+ "slug",
7688
+ "context"
7689
+ ],
7690
+ "unique": true
7691
+ },
7692
+ {
7693
+ "name": "legal_members_tenant_class_status_idx",
7694
+ "columns": [
7695
+ "tenant_id",
7696
+ "member_class_id",
7697
+ "status"
7698
+ ]
7699
+ },
7700
+ {
7701
+ "name": "legal_members_tenant_user_idx",
7702
+ "columns": [
7703
+ "tenant_id",
7704
+ "user_id"
7705
+ ]
7706
+ },
7707
+ {
7708
+ "name": "legal_members_tenant_id_created_at_idx",
7709
+ "columns": [
7710
+ "tenant_id",
7711
+ "created_at"
7712
+ ]
7713
+ },
7714
+ {
7715
+ "name": "legal_members_member_class_id_idx",
7716
+ "columns": [
7717
+ "member_class_id"
7718
+ ]
7719
+ },
7720
+ {
7721
+ "name": "legal_members_user_id_idx",
7722
+ "columns": [
7723
+ "user_id"
7724
+ ]
7725
+ },
7726
+ {
7727
+ "name": "legal_members_profile_id_idx",
7728
+ "columns": [
7729
+ "profile_id"
7730
+ ]
7731
+ }
7732
+ ],
7733
+ "version": "b05fd9f3"
7734
+ },
7735
+ "importPath": "@happyvertical/smrt-users"
7736
+ },
7737
+ "@happyvertical/smrt-users:LegalMemberStatusHistoryCollection": {
7738
+ "name": "legalmemberstatushistorycollection",
7739
+ "className": "LegalMemberStatusHistoryCollection",
7740
+ "qualifiedName": "@happyvertical/smrt-users:LegalMemberStatusHistoryCollection",
7741
+ "collection": "legalmemberstatushistories",
7742
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
7743
+ "packageName": "@happyvertical/smrt-users",
7744
+ "fields": {},
7745
+ "methods": {},
7746
+ "decoratorConfig": {
7747
+ "api": {
7748
+ "include": []
7749
+ },
7750
+ "mcp": {
7751
+ "include": []
7752
+ },
7753
+ "cli": false,
7754
+ "tableName": "legal_member_status_history"
7755
+ },
7756
+ "extends": "SmrtCollection",
7757
+ "extendsTypeArg": "LegalMemberStatusHistory",
7758
+ "exportName": "LegalMemberStatusHistoryCollection",
7759
+ "collectionExportName": "LegalMemberStatusHistoryCollectionCollection",
7760
+ "schema": {
7761
+ "tableName": "legal_member_status_history",
7762
+ "ddl": "CREATE TABLE IF NOT EXISTS \"legal_member_status_history\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"status\" TEXT,\n \"effective_on\" TEXT,\n \"sequence\" INTEGER,\n \"reason\" TEXT,\n \"actor_ref\" TEXT\n);",
7763
+ "columns": {
7764
+ "id": {
7765
+ "type": "UUID",
7766
+ "primaryKey": true,
7767
+ "referenceKind": "id",
7768
+ "notNull": true
7769
+ },
7770
+ "slug": {
7771
+ "type": "TEXT",
7772
+ "notNull": true
7773
+ },
7774
+ "context": {
7775
+ "type": "TEXT",
7776
+ "notNull": true,
7777
+ "default": ""
7778
+ },
7779
+ "created_at": {
7780
+ "type": "TIMESTAMP",
7781
+ "notNull": true,
7782
+ "default": "current_timestamp"
7783
+ },
7784
+ "updated_at": {
7785
+ "type": "TIMESTAMP",
7786
+ "notNull": true,
7787
+ "default": "current_timestamp"
7788
+ },
7789
+ "tenant_id": {
7790
+ "type": "UUID",
7791
+ "referenceKind": "tenantId",
7792
+ "notNull": true,
7793
+ "unique": false
7794
+ },
7795
+ "member_id": {
7796
+ "type": "UUID",
7797
+ "referenceKind": "foreignKey",
7798
+ "notNull": false,
7799
+ "unique": false,
7800
+ "foreignKey": {
7801
+ "table": "legal_members",
7802
+ "column": "id",
7803
+ "onDelete": "RESTRICT",
7804
+ "onUpdate": "CASCADE"
7805
+ }
7806
+ },
7807
+ "status": {
7808
+ "type": "TEXT",
7809
+ "notNull": false,
7810
+ "unique": false
7811
+ },
7812
+ "effective_on": {
7813
+ "type": "TEXT",
7814
+ "notNull": false,
7815
+ "unique": false
7816
+ },
7817
+ "sequence": {
7818
+ "type": "INTEGER",
7819
+ "notNull": false,
7820
+ "unique": false
7821
+ },
7822
+ "reason": {
7823
+ "type": "TEXT",
7824
+ "notNull": false,
7825
+ "unique": false
7826
+ },
7827
+ "actor_ref": {
7828
+ "type": "TEXT",
7829
+ "notNull": false,
7830
+ "unique": false
7831
+ }
7832
+ },
7833
+ "indexes": [
7834
+ {
7835
+ "name": "legal_member_status_history_slug_context_idx",
7836
+ "columns": [
7837
+ "tenant_id",
7838
+ "slug",
7839
+ "context"
7840
+ ],
7841
+ "unique": true
7842
+ },
7843
+ {
7844
+ "name": "legal_member_status_history_member_on_idx",
7845
+ "columns": [
7846
+ "tenant_id",
7847
+ "member_id",
7848
+ "effective_on"
7849
+ ]
7850
+ },
7851
+ {
7852
+ "name": "legal_member_status_history_tenant_id_created_at_idx",
7853
+ "columns": [
7854
+ "tenant_id",
7855
+ "created_at"
7856
+ ]
7857
+ },
7858
+ {
7859
+ "name": "legal_member_status_history_member_id_idx",
7860
+ "columns": [
7861
+ "member_id"
7862
+ ]
7863
+ }
7864
+ ],
7865
+ "version": "3885f61f"
7866
+ },
7867
+ "importPath": "@happyvertical/smrt-users"
7868
+ },
7869
+ "@happyvertical/smrt-users:LegalMemberReferenceCollection": {
7870
+ "name": "legalmemberreferencecollection",
7871
+ "className": "LegalMemberReferenceCollection",
7872
+ "qualifiedName": "@happyvertical/smrt-users:LegalMemberReferenceCollection",
7873
+ "collection": "legalmemberreferences",
7874
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
7875
+ "packageName": "@happyvertical/smrt-users",
7876
+ "fields": {},
7877
+ "methods": {},
7878
+ "decoratorConfig": {
7879
+ "api": {
7880
+ "include": []
7881
+ },
7882
+ "mcp": {
7883
+ "include": []
7884
+ },
7885
+ "cli": false,
7886
+ "tableName": "legal_member_references"
7887
+ },
7888
+ "extends": "SmrtCollection",
7889
+ "extendsTypeArg": "LegalMemberReference",
7890
+ "exportName": "LegalMemberReferenceCollection",
7891
+ "collectionExportName": "LegalMemberReferenceCollectionCollection",
7892
+ "schema": {
7893
+ "tableName": "legal_member_references",
7894
+ "ddl": "CREATE TABLE IF NOT EXISTS \"legal_member_references\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"kind\" TEXT,\n \"source_type\" TEXT,\n \"source_id\" TEXT,\n \"authoritative\" BOOLEAN,\n \"effective_from\" TEXT,\n \"effective_to\" TEXT,\n \"revokes_id\" UUID\n);",
7895
+ "columns": {
7896
+ "id": {
7897
+ "type": "UUID",
7898
+ "primaryKey": true,
7899
+ "referenceKind": "id",
7900
+ "notNull": true
7901
+ },
7902
+ "slug": {
7903
+ "type": "TEXT",
7904
+ "notNull": true
7905
+ },
7906
+ "context": {
7907
+ "type": "TEXT",
7908
+ "notNull": true,
7909
+ "default": ""
7910
+ },
7911
+ "created_at": {
7912
+ "type": "TIMESTAMP",
7913
+ "notNull": true,
7914
+ "default": "current_timestamp"
7915
+ },
7916
+ "updated_at": {
7917
+ "type": "TIMESTAMP",
7918
+ "notNull": true,
7919
+ "default": "current_timestamp"
7920
+ },
7921
+ "tenant_id": {
7922
+ "type": "UUID",
7923
+ "referenceKind": "tenantId",
7924
+ "notNull": true,
7925
+ "unique": false
7926
+ },
7927
+ "member_id": {
7928
+ "type": "UUID",
7929
+ "referenceKind": "foreignKey",
7930
+ "notNull": false,
7931
+ "unique": false,
7932
+ "foreignKey": {
7933
+ "table": "legal_members",
7934
+ "column": "id",
7935
+ "onDelete": "RESTRICT",
7936
+ "onUpdate": "CASCADE"
7937
+ }
7938
+ },
7939
+ "kind": {
7940
+ "type": "TEXT",
7941
+ "notNull": false,
7942
+ "unique": false
7943
+ },
7944
+ "source_type": {
7945
+ "type": "TEXT",
7946
+ "notNull": false,
7947
+ "unique": false
7948
+ },
7949
+ "source_id": {
7950
+ "type": "TEXT",
7951
+ "notNull": false,
7952
+ "unique": false
7953
+ },
7954
+ "authoritative": {
7955
+ "type": "BOOLEAN",
7956
+ "notNull": false,
7957
+ "unique": false
7958
+ },
7959
+ "effective_from": {
7960
+ "type": "TEXT",
7961
+ "notNull": false,
7962
+ "unique": false
7963
+ },
7964
+ "effective_to": {
7965
+ "type": "TEXT",
7966
+ "notNull": false,
7967
+ "unique": false
7968
+ },
7969
+ "revokes_id": {
7970
+ "type": "UUID",
7971
+ "referenceKind": "foreignKey",
7972
+ "notNull": false,
7973
+ "unique": false,
7974
+ "foreignKey": {
7975
+ "table": "legal_member_references",
7976
+ "column": "id",
7977
+ "onDelete": "RESTRICT",
7978
+ "onUpdate": "CASCADE"
7979
+ }
7980
+ }
7981
+ },
7982
+ "indexes": [
7983
+ {
7984
+ "name": "legal_member_references_slug_context_idx",
7985
+ "columns": [
7986
+ "tenant_id",
7987
+ "slug",
7988
+ "context"
7989
+ ],
7990
+ "unique": true
7991
+ },
7992
+ {
7993
+ "name": "legal_member_references_member_kind_idx",
7994
+ "columns": [
7995
+ "tenant_id",
7996
+ "member_id",
7997
+ "kind"
7998
+ ]
7999
+ },
8000
+ {
8001
+ "name": "legal_member_references_tenant_id_created_at_idx",
8002
+ "columns": [
8003
+ "tenant_id",
8004
+ "created_at"
8005
+ ]
8006
+ },
8007
+ {
8008
+ "name": "legal_member_references_member_id_idx",
8009
+ "columns": [
8010
+ "member_id"
8011
+ ]
8012
+ },
8013
+ {
8014
+ "name": "legal_member_references_revokes_id_idx",
8015
+ "columns": [
8016
+ "revokes_id"
8017
+ ]
8018
+ }
8019
+ ],
8020
+ "version": "30237bd4"
8021
+ },
8022
+ "importPath": "@happyvertical/smrt-users"
8023
+ },
8024
+ "@happyvertical/smrt-users:MemberOfficerAppointmentCollection": {
8025
+ "name": "memberofficerappointmentcollection",
8026
+ "className": "MemberOfficerAppointmentCollection",
8027
+ "qualifiedName": "@happyvertical/smrt-users:MemberOfficerAppointmentCollection",
8028
+ "collection": "memberofficerappointments",
8029
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
8030
+ "packageName": "@happyvertical/smrt-users",
8031
+ "fields": {},
8032
+ "methods": {},
8033
+ "decoratorConfig": {
8034
+ "api": {
8035
+ "include": []
8036
+ },
8037
+ "mcp": {
8038
+ "include": []
8039
+ },
8040
+ "cli": false,
8041
+ "tableName": "member_officer_appointments"
8042
+ },
8043
+ "extends": "SmrtCollection",
8044
+ "extendsTypeArg": "MemberOfficerAppointment",
8045
+ "exportName": "MemberOfficerAppointmentCollection",
8046
+ "collectionExportName": "MemberOfficerAppointmentCollectionCollection",
8047
+ "schema": {
8048
+ "tableName": "member_officer_appointments",
8049
+ "ddl": "CREATE TABLE IF NOT EXISTS \"member_officer_appointments\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"role\" TEXT,\n \"effective_from\" TEXT,\n \"effective_to\" TEXT,\n \"authority\" JSON\n);",
8050
+ "columns": {
8051
+ "id": {
8052
+ "type": "UUID",
8053
+ "primaryKey": true,
8054
+ "referenceKind": "id",
8055
+ "notNull": true
8056
+ },
8057
+ "slug": {
8058
+ "type": "TEXT",
8059
+ "notNull": true
8060
+ },
8061
+ "context": {
8062
+ "type": "TEXT",
8063
+ "notNull": true,
8064
+ "default": ""
8065
+ },
8066
+ "created_at": {
8067
+ "type": "TIMESTAMP",
8068
+ "notNull": true,
8069
+ "default": "current_timestamp"
8070
+ },
8071
+ "updated_at": {
8072
+ "type": "TIMESTAMP",
8073
+ "notNull": true,
8074
+ "default": "current_timestamp"
8075
+ },
8076
+ "tenant_id": {
8077
+ "type": "UUID",
8078
+ "referenceKind": "tenantId",
8079
+ "notNull": true,
8080
+ "unique": false
8081
+ },
8082
+ "member_id": {
8083
+ "type": "UUID",
8084
+ "referenceKind": "foreignKey",
8085
+ "notNull": false,
8086
+ "unique": false,
8087
+ "foreignKey": {
8088
+ "table": "legal_members",
8089
+ "column": "id",
8090
+ "onDelete": "RESTRICT",
8091
+ "onUpdate": "CASCADE"
8092
+ }
8093
+ },
8094
+ "role": {
8095
+ "type": "TEXT",
8096
+ "notNull": false,
8097
+ "unique": false
8098
+ },
8099
+ "effective_from": {
8100
+ "type": "TEXT",
8101
+ "notNull": false,
8102
+ "unique": false
8103
+ },
8104
+ "effective_to": {
8105
+ "type": "TEXT",
8106
+ "notNull": false,
8107
+ "unique": false
8108
+ },
8109
+ "authority": {
8110
+ "type": "JSON",
8111
+ "notNull": false,
8112
+ "unique": false
8113
+ }
8114
+ },
8115
+ "indexes": [
8116
+ {
8117
+ "name": "member_officer_appointments_slug_context_idx",
8118
+ "columns": [
8119
+ "tenant_id",
8120
+ "slug",
8121
+ "context"
8122
+ ],
8123
+ "unique": true
8124
+ },
8125
+ {
8126
+ "name": "member_officer_appointments_member_term_idx",
8127
+ "columns": [
8128
+ "tenant_id",
8129
+ "member_id",
8130
+ "effective_from"
8131
+ ]
8132
+ },
8133
+ {
8134
+ "name": "member_officer_appointments_tenant_id_created_at_idx",
8135
+ "columns": [
8136
+ "tenant_id",
8137
+ "created_at"
8138
+ ]
8139
+ },
8140
+ {
8141
+ "name": "member_officer_appointments_member_id_idx",
8142
+ "columns": [
8143
+ "member_id"
8144
+ ]
8145
+ }
8146
+ ],
8147
+ "version": "eed54759"
8148
+ },
8149
+ "importPath": "@happyvertical/smrt-users"
8150
+ },
8151
+ "@happyvertical/smrt-users:MemberEligibilitySnapshotCollection": {
8152
+ "name": "membereligibilitysnapshotcollection",
8153
+ "className": "MemberEligibilitySnapshotCollection",
8154
+ "qualifiedName": "@happyvertical/smrt-users:MemberEligibilitySnapshotCollection",
8155
+ "collection": "membereligibilitysnapshots",
8156
+ "filePath": "/home/runner/work/smrt/smrt/packages/users/src/member-register/models.ts",
8157
+ "packageName": "@happyvertical/smrt-users",
8158
+ "fields": {},
8159
+ "methods": {},
8160
+ "decoratorConfig": {
8161
+ "api": {
8162
+ "include": []
8163
+ },
8164
+ "mcp": {
8165
+ "include": []
8166
+ },
8167
+ "cli": false,
8168
+ "tableName": "member_eligibility_snapshots"
8169
+ },
8170
+ "extends": "SmrtCollection",
8171
+ "extendsTypeArg": "MemberEligibilitySnapshot",
8172
+ "exportName": "MemberEligibilitySnapshotCollection",
8173
+ "collectionExportName": "MemberEligibilitySnapshotCollectionCollection",
8174
+ "schema": {
8175
+ "tableName": "member_eligibility_snapshots",
8176
+ "ddl": "CREATE TABLE IF NOT EXISTS \"member_eligibility_snapshots\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID NOT NULL,\n \"member_id\" UUID,\n \"record_date\" TEXT,\n \"eligible\" BOOLEAN,\n \"reason\" TEXT,\n \"evidence\" JSON\n);",
8177
+ "columns": {
8178
+ "id": {
8179
+ "type": "UUID",
8180
+ "primaryKey": true,
8181
+ "referenceKind": "id",
8182
+ "notNull": true
8183
+ },
8184
+ "slug": {
8185
+ "type": "TEXT",
8186
+ "notNull": true
8187
+ },
8188
+ "context": {
8189
+ "type": "TEXT",
8190
+ "notNull": true,
8191
+ "default": ""
8192
+ },
8193
+ "created_at": {
8194
+ "type": "TIMESTAMP",
8195
+ "notNull": true,
8196
+ "default": "current_timestamp"
8197
+ },
8198
+ "updated_at": {
8199
+ "type": "TIMESTAMP",
8200
+ "notNull": true,
8201
+ "default": "current_timestamp"
8202
+ },
8203
+ "tenant_id": {
8204
+ "type": "UUID",
8205
+ "referenceKind": "tenantId",
8206
+ "notNull": true,
8207
+ "unique": false
8208
+ },
8209
+ "member_id": {
8210
+ "type": "UUID",
8211
+ "referenceKind": "foreignKey",
8212
+ "notNull": false,
8213
+ "unique": false,
8214
+ "foreignKey": {
8215
+ "table": "legal_members",
8216
+ "column": "id",
8217
+ "onDelete": "RESTRICT",
8218
+ "onUpdate": "CASCADE"
8219
+ }
8220
+ },
8221
+ "record_date": {
8222
+ "type": "TEXT",
8223
+ "notNull": false,
8224
+ "unique": false
8225
+ },
8226
+ "eligible": {
8227
+ "type": "BOOLEAN",
8228
+ "notNull": false,
8229
+ "unique": false
8230
+ },
8231
+ "reason": {
8232
+ "type": "TEXT",
8233
+ "notNull": false,
8234
+ "unique": false
8235
+ },
8236
+ "evidence": {
8237
+ "type": "JSON",
8238
+ "notNull": false,
8239
+ "unique": false
8240
+ }
8241
+ },
8242
+ "indexes": [
8243
+ {
8244
+ "name": "member_eligibility_snapshots_slug_context_idx",
8245
+ "columns": [
8246
+ "tenant_id",
8247
+ "slug",
8248
+ "context"
8249
+ ],
8250
+ "unique": true
8251
+ },
8252
+ {
8253
+ "name": "member_eligibility_snapshots_tenant_date_idx",
8254
+ "columns": [
8255
+ "tenant_id",
8256
+ "record_date"
8257
+ ]
8258
+ },
8259
+ {
8260
+ "name": "member_eligibility_snapshots_tenant_id_created_at_idx",
8261
+ "columns": [
8262
+ "tenant_id",
8263
+ "created_at"
8264
+ ]
8265
+ },
8266
+ {
8267
+ "name": "member_eligibility_snapshots_member_id_idx",
8268
+ "columns": [
8269
+ "member_id"
8270
+ ]
8271
+ }
8272
+ ],
8273
+ "version": "f3899c14"
8274
+ },
8275
+ "importPath": "@happyvertical/smrt-users"
8276
+ },
6102
8277
  "@happyvertical/smrt-users:AccessRequest": {
6103
8278
  "name": "accessrequest",
6104
8279
  "className": "AccessRequest",