44 * Tenant-scoped keys include the tenantId to ensure cache isolation between tenants.
55 * Platform-scoped keys are for platform-level data not tied to a specific tenant.
66 * Reference keys are for non-tenant-scoped reference/configuration data.
7+ *
8+ * Key hierarchy follows the pattern: [scope, tenantId?, domain, entity?, id?]
9+ * so that invalidating a parent key cascades to all children.
710 */
811
912export const tenantKeys = {
1013 all : ( tenantId : string ) => [ 'tenants' , tenantId ] as const ,
1114
15+ // Accounts
1216 accounts : ( tenantId : string ) =>
1317 [ ...tenantKeys . all ( tenantId ) , 'accounts' ] as const ,
1418 account : ( tenantId : string , accountId : string ) =>
1519 [ ...tenantKeys . accounts ( tenantId ) , accountId ] as const ,
20+ accountPostings : ( tenantId : string , accountId : string ) =>
21+ [ ...tenantKeys . account ( tenantId , accountId ) , 'postings' ] as const ,
1622
23+ // Liens
1724 liens : ( tenantId : string , accountId : string ) =>
1825 [ ...tenantKeys . account ( tenantId , accountId ) , 'liens' ] as const ,
1926
27+ // Transactions
2028 transactions : ( tenantId : string ) =>
2129 [ ...tenantKeys . all ( tenantId ) , 'transactions' ] as const ,
2230 transaction : ( tenantId : string , transactionId : string ) =>
2331 [ ...tenantKeys . transactions ( tenantId ) , transactionId ] as const ,
2432
33+ // Sagas
2534 sagas : ( tenantId : string ) =>
2635 [ ...tenantKeys . all ( tenantId ) , 'sagas' ] as const ,
2736 saga : ( tenantId : string , sagaId : string ) =>
2837 [ ...tenantKeys . sagas ( tenantId ) , sagaId ] as const ,
2938
39+ // Payments
3040 payments : ( tenantId : string ) =>
3141 [ ...tenantKeys . all ( tenantId ) , 'payments' ] as const ,
3242 payment : ( tenantId : string , paymentOrderId : string ) =>
3343 [ ...tenantKeys . payments ( tenantId ) , paymentOrderId ] as const ,
3444
45+ // Parties
3546 parties : ( tenantId : string ) =>
3647 [ ...tenantKeys . all ( tenantId ) , 'parties' ] as const ,
3748 party : ( tenantId : string , partyId : string ) =>
@@ -42,6 +53,7 @@ export const tenantKeys = {
4253 partyTypes : ( tenantId : string ) =>
4354 [ ...tenantKeys . all ( tenantId ) , 'party-types' ] as const ,
4455
56+ // Internal accounts
4557 internalAccounts : ( tenantId : string ) =>
4658 [ ...tenantKeys . all ( tenantId ) , 'internal-accounts' ] as const ,
4759 internalAccount : ( tenantId : string , accountId : string ) =>
@@ -50,11 +62,31 @@ export const tenantKeys = {
5062 accountLiens : ( tenantId : string , accountId : string ) =>
5163 [ ...tenantKeys . all ( tenantId ) , 'liens' , accountId ] as const ,
5264
65+ // Ledger
66+ ledger : ( tenantId : string ) =>
67+ [ ...tenantKeys . all ( tenantId ) , 'ledger' ] as const ,
68+ bookingLogs : ( tenantId : string ) =>
69+ [ ...tenantKeys . ledger ( tenantId ) , 'bookingLogs' ] as const ,
70+ bookingLog : ( tenantId : string , bookingLogId : string ) =>
71+ [ ...tenantKeys . ledger ( tenantId ) , 'bookingLog' , bookingLogId ] as const ,
72+ ledgerPostings : ( tenantId : string , accountId : string ) =>
73+ [ ...tenantKeys . ledger ( tenantId ) , 'postings' , accountId ] as const ,
74+
75+ // Positions
76+ positions : ( tenantId : string ) =>
77+ [ ...tenantKeys . all ( tenantId ) , 'positions' ] as const ,
78+ position : ( tenantId : string , logId : string ) =>
79+ [ ...tenantKeys . positions ( tenantId ) , logId ] as const ,
80+
81+ // Market data
5382 marketDataSets : ( tenantId : string ) =>
5483 [ ...tenantKeys . all ( tenantId ) , 'market-data' , 'datasets' ] as const ,
5584 marketDataSet : ( tenantId : string , datasetCode : string ) =>
5685 [ ...tenantKeys . marketDataSets ( tenantId ) , datasetCode ] as const ,
86+ marketDataObservations : ( tenantId : string , datasetCode : string ) =>
87+ [ ...tenantKeys . marketDataSet ( tenantId , datasetCode ) , 'observations' ] as const ,
5788
89+ // Reconciliation
5890 reconciliationRuns : ( tenantId : string ) =>
5991 [ ...tenantKeys . all ( tenantId ) , 'reconciliation-runs' ] as const ,
6092 reconciliationRun : ( tenantId : string , runId : string ) =>
@@ -66,6 +98,8 @@ export const platformKeys = {
6698
6799 tenants : ( ) => [ ...platformKeys . all , 'tenants' ] as const ,
68100 tenant : ( tenantId : string ) => [ ...platformKeys . tenants ( ) , tenantId ] as const ,
101+ tenantProvisioningStatus : ( tenantId : string ) =>
102+ [ ...platformKeys . tenant ( tenantId ) , 'provisioning-status' ] as const ,
69103
70104 health : ( ) => [ ...platformKeys . all , 'health' ] as const ,
71105
@@ -94,6 +128,8 @@ export const referenceKeys = {
94128
95129 sagas : ( ) => [ ...referenceKeys . all , 'sagas' ] as const ,
96130 saga : ( sagaId : string ) => [ ...referenceKeys . sagas ( ) , sagaId ] as const ,
131+ activeSaga : ( sagaName : string ) =>
132+ [ ...referenceKeys . sagas ( ) , 'active' , sagaName ] as const ,
97133
98134 mappings : ( ) => [ ...referenceKeys . all , 'mappings' ] as const ,
99135 mapping : ( mappingId : string ) => [ ...referenceKeys . mappings ( ) , mappingId ] as const ,
0 commit comments