@expo/entity 0.40.0 → 0.41.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.
- package/build/AuthorizationResultBasedEntityAssociationLoader.js +2 -4
- package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -1
- package/build/Entity.d.ts +28 -6
- package/build/Entity.js +41 -3
- package/build/Entity.js.map +1 -1
- package/build/ReadonlyEntity.d.ts +24 -5
- package/build/ReadonlyEntity.js +31 -3
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +37 -68
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/Entity-test.js +49 -9
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +4 -4
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +9 -17
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +32 -64
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +3 -3
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +4 -8
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +6 -6
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +35 -81
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/ReadonlyEntity-test.js +39 -6
- package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +4 -10
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +7 -22
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/utils/__tests__/EntityPrivacyUtils-test.js +13 -47
- package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +1 -1
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +2 -5
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +1 -1
- package/package.json +2 -2
- package/src/AuthorizationResultBasedEntityAssociationLoader.ts +2 -4
- package/src/Entity.ts +163 -7
- package/src/ReadonlyEntity.ts +119 -6
- package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +37 -68
- package/src/__tests__/Entity-test.ts +62 -9
- package/src/__tests__/EntityAssociationLoader-test.ts +4 -6
- package/src/__tests__/EntityCommonUseCases-test.ts +14 -17
- package/src/__tests__/EntityEdges-test.ts +36 -64
- package/src/__tests__/EntityLoader-test.ts +3 -5
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +6 -8
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +6 -6
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +53 -81
- package/src/__tests__/ReadonlyEntity-test.ts +46 -6
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +13 -15
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +16 -22
- package/src/utils/__tests__/EntityPrivacyUtils-test.ts +19 -47
- package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +2 -5
|
@@ -66,9 +66,7 @@ describe(EntityPrivacyUtils_1.canViewerUpdateAsync, () => {
|
|
|
66
66
|
it('appropriately executes update privacy policy', async () => {
|
|
67
67
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
68
68
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
69
|
-
const testEntity = await SimpleTestDenyDeleteEntity.creator(viewerContext)
|
|
70
|
-
.enforcing()
|
|
71
|
-
.createAsync();
|
|
69
|
+
const testEntity = await SimpleTestDenyDeleteEntity.creator(viewerContext).createAsync();
|
|
72
70
|
const canViewerUpdate = await (0, EntityPrivacyUtils_1.canViewerUpdateAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
73
71
|
expect(canViewerUpdate).toBe(true);
|
|
74
72
|
const canViewerUpdateResult = await (0, EntityPrivacyUtils_1.getCanViewerUpdateResultAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
@@ -77,9 +75,7 @@ describe(EntityPrivacyUtils_1.canViewerUpdateAsync, () => {
|
|
|
77
75
|
it('denies when policy denies', async () => {
|
|
78
76
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
79
77
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
80
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
81
|
-
.enforcing()
|
|
82
|
-
.createAsync();
|
|
78
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
83
79
|
const canViewerUpdate = await (0, EntityPrivacyUtils_1.canViewerUpdateAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
84
80
|
expect(canViewerUpdate).toBe(false);
|
|
85
81
|
const canViewerUpdateResult = await (0, EntityPrivacyUtils_1.getCanViewerUpdateResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
@@ -91,9 +87,7 @@ describe(EntityPrivacyUtils_1.canViewerUpdateAsync, () => {
|
|
|
91
87
|
it('rethrows non-authorization errors', async () => {
|
|
92
88
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
93
89
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
94
|
-
const testEntity = await SimpleTestThrowOtherErrorEntity.creator(viewerContext)
|
|
95
|
-
.enforcing()
|
|
96
|
-
.createAsync();
|
|
90
|
+
const testEntity = await SimpleTestThrowOtherErrorEntity.creator(viewerContext).createAsync();
|
|
97
91
|
await expect((0, EntityPrivacyUtils_1.canViewerUpdateAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrow('update error');
|
|
98
92
|
await expect((0, EntityPrivacyUtils_1.getCanViewerUpdateResultAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrow('update error');
|
|
99
93
|
});
|
|
@@ -102,9 +96,7 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
102
96
|
it('appropriately executes update privacy policy', async () => {
|
|
103
97
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
104
98
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
105
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
106
|
-
.enforcing()
|
|
107
|
-
.createAsync();
|
|
99
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
108
100
|
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
109
101
|
expect(canViewerDelete).toBe(true);
|
|
110
102
|
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
@@ -113,9 +105,7 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
113
105
|
it('denies when policy denies', async () => {
|
|
114
106
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
115
107
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
116
|
-
const testEntity = await SimpleTestDenyDeleteEntity.creator(viewerContext)
|
|
117
|
-
.enforcing()
|
|
118
|
-
.createAsync();
|
|
108
|
+
const testEntity = await SimpleTestDenyDeleteEntity.creator(viewerContext).createAsync();
|
|
119
109
|
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
120
110
|
expect(canViewerDelete).toBe(false);
|
|
121
111
|
const canViewerDeleteResult = await (0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestDenyDeleteEntity, testEntity);
|
|
@@ -127,12 +117,9 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
127
117
|
it('denies when recursive policy denies for CASCADE_DELETE', async () => {
|
|
128
118
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
129
119
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
130
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
131
|
-
.enforcing()
|
|
132
|
-
.createAsync();
|
|
120
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
133
121
|
// add another entity referencing testEntity that would cascade deletion to itself when testEntity is deleted
|
|
134
122
|
const leafEntity = await LeafDenyDeleteEntity.creator(viewerContext)
|
|
135
|
-
.enforcing()
|
|
136
123
|
.setField('simple_test_deny_update_cascade_delete_id', testEntity.getID())
|
|
137
124
|
.createAsync();
|
|
138
125
|
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
@@ -146,12 +133,9 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
146
133
|
it('denies when recursive policy denies for SET_NULL', async () => {
|
|
147
134
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
148
135
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
149
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
150
|
-
.enforcing()
|
|
151
|
-
.createAsync();
|
|
136
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
152
137
|
// add another entity referencing testEntity that would set null to its column when testEntity is deleted
|
|
153
138
|
const leafEntity = await LeafDenyUpdateEntity.creator(viewerContext)
|
|
154
|
-
.enforcing()
|
|
155
139
|
.setField('simple_test_deny_update_set_null_id', testEntity.getID())
|
|
156
140
|
.createAsync();
|
|
157
141
|
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
@@ -165,17 +149,13 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
165
149
|
it('allows when recursive policy allows for CASCADE_DELETE and SET_NULL', async () => {
|
|
166
150
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
167
151
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
168
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
169
|
-
.enforcing()
|
|
170
|
-
.createAsync();
|
|
152
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
171
153
|
// add another entity referencing testEntity that would cascade deletion to itself when testEntity is deleted
|
|
172
154
|
await LeafDenyUpdateEntity.creator(viewerContext)
|
|
173
|
-
.enforcing()
|
|
174
155
|
.setField('simple_test_deny_update_cascade_delete_id', testEntity.getID())
|
|
175
156
|
.createAsync();
|
|
176
157
|
// add another entity referencing testEntity that would set null to its column when testEntity is deleted
|
|
177
158
|
await LeafDenyDeleteEntity.creator(viewerContext)
|
|
178
|
-
.enforcing()
|
|
179
159
|
.setField('simple_test_deny_update_set_null_id', testEntity.getID())
|
|
180
160
|
.createAsync();
|
|
181
161
|
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
@@ -186,20 +166,15 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
186
166
|
it('rethrows non-authorization errors', async () => {
|
|
187
167
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
188
168
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
189
|
-
const testEntity = await SimpleTestThrowOtherErrorEntity.creator(viewerContext)
|
|
190
|
-
.enforcing()
|
|
191
|
-
.createAsync();
|
|
169
|
+
const testEntity = await SimpleTestThrowOtherErrorEntity.creator(viewerContext).createAsync();
|
|
192
170
|
await expect((0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrowError('delete error');
|
|
193
171
|
await expect((0, EntityPrivacyUtils_1.getCanViewerDeleteResultAsync)(SimpleTestThrowOtherErrorEntity, testEntity)).rejects.toThrowError('delete error');
|
|
194
172
|
});
|
|
195
173
|
it('returns false when edge cannot be read', async () => {
|
|
196
174
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
197
175
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
198
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
199
|
-
.enforcing()
|
|
200
|
-
.createAsync();
|
|
176
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
201
177
|
const leafEntity = await LeafDenyReadEntity.creator(viewerContext)
|
|
202
|
-
.enforcing()
|
|
203
178
|
.setField('simple_test_id', testEntity.getID())
|
|
204
179
|
.createAsync();
|
|
205
180
|
const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity);
|
|
@@ -213,11 +188,8 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
213
188
|
it('rethrows non-authorization edge read errors', async () => {
|
|
214
189
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
215
190
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
216
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext)
|
|
217
|
-
.enforcing()
|
|
218
|
-
.createAsync();
|
|
191
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext).createAsync();
|
|
219
192
|
await SimpleTestThrowOtherErrorEntity.creator(viewerContext)
|
|
220
|
-
.enforcing()
|
|
221
193
|
.setField('simple_test_id', testEntity.getID())
|
|
222
194
|
.createAsync();
|
|
223
195
|
await expect((0, EntityPrivacyUtils_1.canViewerDeleteAsync)(SimpleTestDenyUpdateEntity, testEntity)).rejects.toThrowError('read in cascading delete error');
|
|
@@ -227,11 +199,8 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
227
199
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
228
200
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
229
201
|
const canViewerDelete = await viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
|
|
230
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext, queryContext)
|
|
231
|
-
.enforcing()
|
|
232
|
-
.createAsync();
|
|
202
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext, queryContext).createAsync();
|
|
233
203
|
await LeafDenyReadEntity.creator(viewerContext, queryContext)
|
|
234
|
-
.enforcing()
|
|
235
204
|
.setField('simple_test_id', testEntity.getID())
|
|
236
205
|
.createAsync();
|
|
237
206
|
// this would fail if transactions weren't supported or correctly passed through
|
|
@@ -239,11 +208,8 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
239
208
|
});
|
|
240
209
|
expect(canViewerDelete).toBe(true);
|
|
241
210
|
const canViewerDeleteResult = await viewerContext.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
|
|
242
|
-
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext, queryContext)
|
|
243
|
-
.enforcing()
|
|
244
|
-
.createAsync();
|
|
211
|
+
const testEntity = await SimpleTestDenyUpdateEntity.creator(viewerContext, queryContext).createAsync();
|
|
245
212
|
await LeafDenyReadEntity.creator(viewerContext, queryContext)
|
|
246
|
-
.enforcing()
|
|
247
213
|
.setField('simple_test_id', testEntity.getID())
|
|
248
214
|
.createAsync();
|
|
249
215
|
// this would fail if transactions weren't supported or correctly passed through
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPrivacyUtils-test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/EntityPrivacyUtils-test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAoC;AAEpC,0DAAkC;AAElC,oFAA4D;AAC5D,uEAAyE;AACzE,qDAA+C;AAC/C,iFAGmC;AAGnC,wEAAgD;AAChD,4GAAoF;AACpF,0GAAkF;AAClF,qEAAqE;AACrE,8DAO+B;AAC/B,4GAAyG;AAEzG,SAAS,0CAA0C,CACjD,gBAA+C;IAE/C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,gBAA+C,EAC/C,EAAE,QAAQ,EAAE,MAAM,EAA2D;IAE7E,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,0CAA0C,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC;IACjE,MAAM,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,IAAA,oBAAU,EAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,+CAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,QAAQ,CAAC,yCAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,wBAAwB,CAAC,qBAAqB,EAAE;YAC9C,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE;YAC5B,MAAM,EAAE,+CAAyB,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,aAAa,CAAC;aAC5E,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,MAAM,CAAC,IAAA,yCAAoB,EAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC7F,cAAc,CACf,CAAC;QACF,MAAM,MAAM,CACV,IAAA,kDAA6B,EAAC,+BAA+B,EAAE,UAAU,CAAC,CAC3E,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,wBAAwB,CAAC,qBAAqB,EAAE;YAC9C,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE;YAC5B,MAAM,EAAE,+CAAyB,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,6GAA6G;QAC7G,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;aACjE,SAAS,EAAE;aACX,QAAQ,CAAC,2CAA2C,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aACzE,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,wBAAwB,CAAC,qBAAqB,EAAE;YAC9C,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE;YAC5B,MAAM,EAAE,+CAAyB,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,yGAAyG;QACzG,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;aACjE,SAAS,EAAE;aACX,QAAQ,CAAC,qCAAqC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aACnE,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,wBAAwB,CAAC,qBAAqB,EAAE;YAC9C,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE;YAC5B,MAAM,EAAE,+CAAyB,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,6GAA6G;QAC7G,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;aAC9C,SAAS,EAAE;aACX,QAAQ,CAAC,2CAA2C,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aACzE,WAAW,EAAE,CAAC;QACjB,yGAAyG;QACzG,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;aAC9C,SAAS,EAAE;aACX,QAAQ,CAAC,qCAAqC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aACnE,WAAW,EAAE,CAAC;QAEjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,aAAa,CAAC;aAC5E,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,MAAM,CACV,IAAA,yCAAoB,EAAC,+BAA+B,EAAE,UAAU,CAAC,CAClE,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,MAAM,CACV,IAAA,kDAA6B,EAAC,+BAA+B,EAAE,UAAU,CAAC,CAC3E,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC;aAC/D,SAAS,EAAE;aACX,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aAC9C,WAAW,EAAE,CAAC;QACjB,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,qBAAqB,GAAG,MAAM,IAAA,kDAA6B,EAC/D,0BAA0B,EAC1B,UAAU,CACX,CAAC;QACF,wBAAwB,CAAC,qBAAqB,EAAE;YAC9C,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE;YAC5B,MAAM,EAAE,+CAAyB,CAAC,IAAI;SACvC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC;aACvE,SAAS,EAAE;aACX,WAAW,EAAE,CAAC;QACjB,MAAM,+BAA+B,CAAC,OAAO,CAAC,aAAa,CAAC;aACzD,SAAS,EAAE;aACX,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;aAC9C,WAAW,EAAE,CAAC;QACjB,MAAM,MAAM,CAAC,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAC7F,gCAAgC,CACjC,CAAC;QACF,MAAM,MAAM,CACV,IAAA,kDAA6B,EAAC,0BAA0B,EAAE,UAAU,CAAC,CACtE,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,6CAA6C,CACvF,UAAU,EACV,KAAK,EAAE,YAAY,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC;iBACrF,SAAS,EAAE;iBACX,WAAW,EAAE,CAAC;YACjB,MAAM,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC;iBAC1D,SAAS,EAAE;iBACX,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;iBAC9C,WAAW,EAAE,CAAC;YACjB,gFAAgF;YAChF,OAAO,MAAM,IAAA,yCAAoB,EAAC,0BAA0B,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC1F,CAAC,CACF,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,6CAA6C,CAC7F,UAAU,EACV,KAAK,EAAE,YAAY,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC;iBACrF,SAAS,EAAE;iBACX,WAAW,EAAE,CAAC;YACjB,MAAM,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC;iBAC1D,SAAS,EAAE;iBACX,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;iBAC9C,WAAW,EAAE,CAAC;YACjB,gFAAgF;YAChF,OAAO,MAAM,IAAA,kDAA6B,EACxC,0BAA0B,EAC1B,UAAU,EACV,YAAY,CACb,CAAC;QACJ,CAAC,CACF,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AA6BH,MAAM,6BAMJ,SAAQ,6BAA2E;IACvD,SAAS,GAAG;QACtC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,qCAA2B,EAA0D;KAC1F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;CACH;AAED,MAAM,6BAMJ,SAAQ,6BAA2E;IACvD,SAAS,GAAG;QACtC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,qCAA2B,EAA0D;KAC1F,CAAC;CACH;AAED,MAAM,kCAMJ,SAAQ,6BAA2E;IACvD,SAAS,GAAG;QACtC;YACE,KAAK,CAAC,aAAa,CACjB,cAA8B,EAC9B,aAAiC,EACjC,iBAMC,EACD,OAAgB;gBAEhB,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,wCAAoB,CAAC,IAAI,CAAC;YACnC,CAAC;SACF;QACD,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC;YACE,KAAK,CAAC,aAAa;gBACjB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;SACF;KACF,CAAC;IAC0B,WAAW,GAAG;QACxC;YACE,KAAK,CAAC,aAAa;gBACjB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;SACF;KACF,CAAC;CACH;AAED,MAAM,2BAMJ,SAAQ,6BAA2E;IACvD,SAAS,GAAG;QACtC;YACE,KAAK,CAAC,aAAa,CACjB,cAA8B,EAC9B,YAAgC,EAChC,iBAMC,EACD,OAAgB;gBAEhB,IAAI,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;oBACnC,OAAO,wCAAoB,CAAC,KAAK,CAAC;gBACpC,CAAC;gBACD,OAAO,iBAAiB,CAAC,oBAAoB;oBAC3C,CAAC,CAAC,wCAAoB,CAAC,IAAI;oBAC3B,CAAC,CAAC,wCAAoB,CAAC,KAAK,CAAC;YACjC,CAAC;SACF;KACF,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,sCAA4B,EAA0D;KAC3F,CAAC;CACH;AAED,MAAM,oBAAqB,SAAQ,gBAAuD;IACxF,MAAM,CAAC,yBAAyB;QAY9B,OAAO;YACL,WAAW,EAAE,oBAAoB;YACjC,mBAAmB,EAAE,IAAI,6BAAmB,CAA2B;gBACrE,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,WAAW;qBACxB,CAAC;oBACF,uDAAuD;oBACvD,wBAAwB,EAAE,IAAI,wBAAS,CAAC;wBACtC,UAAU,EAAE,0BAA0B;wBACtC,WAAW,EAAE;4BACX,qBAAqB,EAAE,oBAAoB;4BAC3C,oBAAoB,EAAE,kDAA0B,CAAC,QAAQ;yBAC1D;qBACF,CAAC;oBACF,iGAAiG;oBACjG,mCAAmC,EAAE,IAAI,wBAAS,CAAC;wBACjD,UAAU,EAAE,qCAAqC;wBACjD,WAAW,EAAE;4BACX,qBAAqB,EAAE,0BAA0B;4BACjD,oBAAoB,EAAE,kDAA0B,CAAC,QAAQ;yBAC1D;qBACF,CAAC;oBACF,oEAAoE;oBACpE,yCAAyC,EAAE,IAAI,wBAAS,CAAC;wBACvD,UAAU,EAAE,2CAA2C;wBACvD,WAAW,EAAE;4BACX,qBAAqB,EAAE,0BAA0B;4BACjD,oBAAoB,EAAE,kDAA0B,CAAC,cAAc;yBAChE;qBACF,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,6BAA6B;SAClD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,oBAAqB,SAAQ,gBAAuD;IACxF,MAAM,CAAC,yBAAyB;QAY9B,OAAO;YACL,WAAW,EAAE,oBAAoB;YACjC,mBAAmB,EAAE,IAAI,6BAAmB,CAA2B;gBACrE,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,WAAW;qBACxB,CAAC;oBACF,mEAAmE;oBACnE,yCAAyC,EAAE,IAAI,wBAAS,CAAC;wBACvD,UAAU,EAAE,2CAA2C;wBACvD,WAAW,EAAE;4BACX,qBAAqB,EAAE,0BAA0B;4BACjD,oBAAoB,EAAE,kDAA0B,CAAC,cAAc;yBAChE;qBACF,CAAC;oBACF,kGAAkG;oBAClG,mCAAmC,EAAE,IAAI,wBAAS,CAAC;wBACjD,UAAU,EAAE,qCAAqC;wBACjD,WAAW,EAAE;4BACX,qBAAqB,EAAE,0BAA0B;4BACjD,oBAAoB,EAAE,kDAA0B,CAAC,QAAQ;yBAC1D;qBACF,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,6BAA6B;SAClD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,kBAAmB,SAAQ,gBAAqD;IACpF,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,kBAAkB;YAC/B,mBAAmB,EAAE,IAAI,6BAAmB,CAAyB;gBACnE,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,WAAW;qBACxB,CAAC;oBACF,cAAc,EAAE,IAAI,wBAAS,CAAC;wBAC5B,UAAU,EAAE,gBAAgB;wBAC5B,WAAW,EAAE;4BACX,qBAAqB,EAAE,0BAA0B;4BACjD,6BAA6B,EAAE,IAAI;4BACnC,oBAAoB,EAAE,kDAA0B,CAAC,QAAQ;yBAC1D;qBACF,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,2BAA2B;SAChD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,0BAA2B,SAAQ,gBAA+C;IACtF,MAAM,CAAC,yBAAyB;QAY9B,OAAO;YACL,WAAW,EAAE,0BAA0B;YACvC,mBAAmB,EAAE,IAAI,6BAAmB,CAAmB;gBAC7D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE;oBACZ,oBAAoB;oBACpB,oBAAoB;oBACpB,kBAAkB;oBAClB,+BAA+B;iBAChC;gBACD,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,WAAW;qBACxB,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,6BAA6B;SAClD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,0BAA2B,SAAQ,gBAA+C;IACtF,MAAM,CAAC,yBAAyB;QAY9B,OAAO;YACL,WAAW,EAAE,0BAA0B;YACvC,mBAAmB,EAAE,IAAI,6BAAmB,CAAmB;gBAC7D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE;oBACZ,oBAAoB;oBACpB,oBAAoB;oBACpB,kBAAkB;oBAClB,+BAA+B;iBAChC;gBACD,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,WAAW;qBACxB,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,6BAA6B;SAClD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,+BAAgC,SAAQ,gBAI7C;IACC,MAAM,CAAC,yBAAyB;QAY9B,OAAO;YACL,WAAW,EAAE,+BAA+B;YAC5C,mBAAmB,EAAE,IAAI,6BAAmB,CAAkC;gBAC5E,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,EAAE;gBAChB,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,wBAAS,CAAC;wBAChB,UAAU,EAAE,WAAW;qBACxB,CAAC;oBACF,cAAc,EAAE,IAAI,wBAAS,CAAC;wBAC5B,UAAU,EAAE,gBAAgB;wBAC5B,WAAW,EAAE;4BACX,qBAAqB,EAAE,0BAA0B;4BACjD,6BAA6B,EAAE,IAAI;4BACnC,oBAAoB,EAAE,kDAA0B,CAAC,QAAQ;yBAC1D;qBACF,CAAC;iBACH;gBACD,qBAAqB,EAAE,UAAU;gBACjC,kBAAkB,EAAE,OAAO;aAC5B,CAAC;YACF,kBAAkB,EAAE,kCAAkC;SACvD,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"EntityPrivacyUtils-test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/EntityPrivacyUtils-test.ts"],"names":[],"mappings":"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"}
|
package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js
CHANGED
|
@@ -19,18 +19,16 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
19
19
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
20
20
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
21
21
|
// create root
|
|
22
|
-
const testEntity = await TestEntity.creator(viewerContext).
|
|
22
|
+
const testEntity = await TestEntity.creator(viewerContext).createAsync();
|
|
23
23
|
// create a bunch of leaves referencing root with
|
|
24
24
|
// edgeDeletionPermissionInferenceBehavior = EntityEdgeDeletionPermissionInferenceBehavior.ONE_IMPLIES_ALL
|
|
25
25
|
for (let i = 0; i < 10; i++) {
|
|
26
26
|
await TestLeafEntity.creator(viewerContext)
|
|
27
|
-
.enforcing()
|
|
28
27
|
.setField('test_entity_id', testEntity.getID())
|
|
29
28
|
.createAsync();
|
|
30
29
|
}
|
|
31
30
|
for (let i = 0; i < 10; i++) {
|
|
32
31
|
await TestLeafLookupByFieldEntity.creator(viewerContext)
|
|
33
|
-
.enforcing()
|
|
34
32
|
.setField('test_entity_id', testEntity.getID())
|
|
35
33
|
.createAsync();
|
|
36
34
|
}
|
|
@@ -47,11 +45,10 @@ describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
|
|
|
47
45
|
const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
|
|
48
46
|
const viewerContext = new ViewerContext_1.default(companionProvider);
|
|
49
47
|
// create root
|
|
50
|
-
const testEntity = await TestEntity.creator(viewerContext).
|
|
48
|
+
const testEntity = await TestEntity.creator(viewerContext).createAsync();
|
|
51
49
|
// create a bunch of leaves with no edgeDeletionPermissionInferenceBehavior
|
|
52
50
|
for (let i = 0; i < 10; i++) {
|
|
53
51
|
await TestLeafNoInferenceEntity.creator(viewerContext)
|
|
54
|
-
.enforcing()
|
|
55
52
|
.setField('test_entity_id', testEntity.getID())
|
|
56
53
|
.createAsync();
|
|
57
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAElC,oFAA4D;AAC5D,uEAGqC;AACrC,qDAA+C;AAC/C,oFAA4D;AAE5D,wEAAgD;AAChD,4GAAoF;AACpF,0GAAkF;AAClF,8DAA6D;AAC7D,4GAAyG;AAEzG,QAAQ,CAAC,yCAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;YAE3D,cAAc;YACd,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/entity",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"description": "A privacy-first data model",
|
|
5
5
|
"files": [
|
|
6
6
|
"build",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"ts-mockito": "^2.6.1",
|
|
51
51
|
"typescript": "^5.7.3"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "ee4be736a9a0ba580e9af0194e07c9cd36b1c599"
|
|
54
54
|
}
|
|
@@ -410,8 +410,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
410
410
|
let associatedEntityResult: Result<ReadonlyEntity<any, any, any, any>> | null;
|
|
411
411
|
if (associatedEntityLookupByField) {
|
|
412
412
|
associatedEntityResult = await currentEntity
|
|
413
|
-
.
|
|
414
|
-
.withAuthorizationResults()
|
|
413
|
+
.associationLoaderWithAuthorizationResults(this.queryContext)
|
|
415
414
|
.loadAssociatedEntityByFieldEqualingAsync(
|
|
416
415
|
fieldIdentifyingAssociatedEntity,
|
|
417
416
|
associatedEntityClass,
|
|
@@ -419,8 +418,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
419
418
|
);
|
|
420
419
|
} else {
|
|
421
420
|
const associatedEntityResultLocal = await currentEntity
|
|
422
|
-
.
|
|
423
|
-
.withAuthorizationResults()
|
|
421
|
+
.associationLoaderWithAuthorizationResults(this.queryContext)
|
|
424
422
|
.loadAssociatedEntityAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass);
|
|
425
423
|
|
|
426
424
|
if (associatedEntityResultLocal.ok && associatedEntityResultLocal.value === null) {
|
package/src/Entity.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AuthorizationResultBasedCreateMutator,
|
|
3
|
+
AuthorizationResultBasedDeleteMutator,
|
|
4
|
+
AuthorizationResultBasedUpdateMutator,
|
|
5
|
+
} from './AuthorizationResultBasedEntityMutator';
|
|
6
|
+
import EnforcingEntityCreator from './EnforcingEntityCreator';
|
|
7
|
+
import EnforcingEntityDeleter from './EnforcingEntityDeleter';
|
|
8
|
+
import EnforcingEntityUpdater from './EnforcingEntityUpdater';
|
|
1
9
|
import { EntityCompanionDefinition } from './EntityCompanionProvider';
|
|
2
10
|
import EntityCreator from './EntityCreator';
|
|
3
11
|
import EntityDeleter from './EntityDeleter';
|
|
@@ -65,16 +73,60 @@ export default abstract class Entity<
|
|
|
65
73
|
.getViewerScopedEntityCompanionForClass(this)
|
|
66
74
|
.getQueryContextProvider()
|
|
67
75
|
.getQueryContext(),
|
|
68
|
-
):
|
|
76
|
+
): EnforcingEntityCreator<
|
|
69
77
|
TMFields,
|
|
70
78
|
TMID,
|
|
71
79
|
TMViewerContext,
|
|
72
|
-
TMViewerContext2,
|
|
73
80
|
TMEntity,
|
|
74
81
|
TMPrivacyPolicy,
|
|
75
82
|
TMSelectedFields
|
|
76
83
|
> {
|
|
77
|
-
return new EntityCreator(viewerContext, queryContext, this);
|
|
84
|
+
return new EntityCreator(viewerContext, queryContext, this).enforcing();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Vend mutator for creating a new entity in given query context.
|
|
89
|
+
* @param viewerContext - viewer context of creating user
|
|
90
|
+
* @param queryContext - query context in which to perform the create
|
|
91
|
+
* @returns mutator for creating an entity
|
|
92
|
+
*/
|
|
93
|
+
static creatorWithAuthorizationResults<
|
|
94
|
+
TMFields extends object,
|
|
95
|
+
TMID extends NonNullable<TMFields[TMSelectedFields]>,
|
|
96
|
+
TMViewerContext extends ViewerContext,
|
|
97
|
+
TMViewerContext2 extends TMViewerContext,
|
|
98
|
+
TMEntity extends Entity<TMFields, TMID, TMViewerContext, TMSelectedFields>,
|
|
99
|
+
TMPrivacyPolicy extends EntityPrivacyPolicy<
|
|
100
|
+
TMFields,
|
|
101
|
+
TMID,
|
|
102
|
+
TMViewerContext,
|
|
103
|
+
TMEntity,
|
|
104
|
+
TMSelectedFields
|
|
105
|
+
>,
|
|
106
|
+
TMSelectedFields extends keyof TMFields = keyof TMFields,
|
|
107
|
+
>(
|
|
108
|
+
this: IEntityClass<
|
|
109
|
+
TMFields,
|
|
110
|
+
TMID,
|
|
111
|
+
TMViewerContext,
|
|
112
|
+
TMEntity,
|
|
113
|
+
TMPrivacyPolicy,
|
|
114
|
+
TMSelectedFields
|
|
115
|
+
>,
|
|
116
|
+
viewerContext: TMViewerContext2,
|
|
117
|
+
queryContext: EntityQueryContext = viewerContext
|
|
118
|
+
.getViewerScopedEntityCompanionForClass(this)
|
|
119
|
+
.getQueryContextProvider()
|
|
120
|
+
.getQueryContext(),
|
|
121
|
+
): AuthorizationResultBasedCreateMutator<
|
|
122
|
+
TMFields,
|
|
123
|
+
TMID,
|
|
124
|
+
TMViewerContext,
|
|
125
|
+
TMEntity,
|
|
126
|
+
TMPrivacyPolicy,
|
|
127
|
+
TMSelectedFields
|
|
128
|
+
> {
|
|
129
|
+
return new EntityCreator(viewerContext, queryContext, this).withAuthorizationResults();
|
|
78
130
|
}
|
|
79
131
|
|
|
80
132
|
/**
|
|
@@ -111,8 +163,60 @@ export default abstract class Entity<
|
|
|
111
163
|
.getViewerScopedEntityCompanionForClass(this)
|
|
112
164
|
.getQueryContextProvider()
|
|
113
165
|
.getQueryContext(),
|
|
114
|
-
):
|
|
115
|
-
|
|
166
|
+
): EnforcingEntityUpdater<
|
|
167
|
+
TMFields,
|
|
168
|
+
TMID,
|
|
169
|
+
TMViewerContext,
|
|
170
|
+
TMEntity,
|
|
171
|
+
TMPrivacyPolicy,
|
|
172
|
+
TMSelectedFields
|
|
173
|
+
> {
|
|
174
|
+
return new EntityUpdater(existingEntity, queryContext, this).enforcing();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Vend mutator for updating an existing entity in given query context.
|
|
179
|
+
* @param existingEntity - entity to update
|
|
180
|
+
* @param queryContext - query context in which to perform the update
|
|
181
|
+
* @returns mutator for updating existingEntity
|
|
182
|
+
*/
|
|
183
|
+
static updaterWithAuthorizationResults<
|
|
184
|
+
TMFields extends object,
|
|
185
|
+
TMID extends NonNullable<TMFields[TMSelectedFields]>,
|
|
186
|
+
TMViewerContext extends ViewerContext,
|
|
187
|
+
TMEntity extends Entity<TMFields, TMID, TMViewerContext, TMSelectedFields>,
|
|
188
|
+
TMPrivacyPolicy extends EntityPrivacyPolicy<
|
|
189
|
+
TMFields,
|
|
190
|
+
TMID,
|
|
191
|
+
TMViewerContext,
|
|
192
|
+
TMEntity,
|
|
193
|
+
TMSelectedFields
|
|
194
|
+
>,
|
|
195
|
+
TMSelectedFields extends keyof TMFields = keyof TMFields,
|
|
196
|
+
>(
|
|
197
|
+
this: IEntityClass<
|
|
198
|
+
TMFields,
|
|
199
|
+
TMID,
|
|
200
|
+
TMViewerContext,
|
|
201
|
+
TMEntity,
|
|
202
|
+
TMPrivacyPolicy,
|
|
203
|
+
TMSelectedFields
|
|
204
|
+
>,
|
|
205
|
+
existingEntity: TMEntity,
|
|
206
|
+
queryContext: EntityQueryContext = existingEntity
|
|
207
|
+
.getViewerContext()
|
|
208
|
+
.getViewerScopedEntityCompanionForClass(this)
|
|
209
|
+
.getQueryContextProvider()
|
|
210
|
+
.getQueryContext(),
|
|
211
|
+
): AuthorizationResultBasedUpdateMutator<
|
|
212
|
+
TMFields,
|
|
213
|
+
TMID,
|
|
214
|
+
TMViewerContext,
|
|
215
|
+
TMEntity,
|
|
216
|
+
TMPrivacyPolicy,
|
|
217
|
+
TMSelectedFields
|
|
218
|
+
> {
|
|
219
|
+
return new EntityUpdater(existingEntity, queryContext, this).withAuthorizationResults();
|
|
116
220
|
}
|
|
117
221
|
|
|
118
222
|
/**
|
|
@@ -149,8 +253,60 @@ export default abstract class Entity<
|
|
|
149
253
|
.getViewerScopedEntityCompanionForClass(this)
|
|
150
254
|
.getQueryContextProvider()
|
|
151
255
|
.getQueryContext(),
|
|
152
|
-
):
|
|
153
|
-
|
|
256
|
+
): EnforcingEntityDeleter<
|
|
257
|
+
TMFields,
|
|
258
|
+
TMID,
|
|
259
|
+
TMViewerContext,
|
|
260
|
+
TMEntity,
|
|
261
|
+
TMPrivacyPolicy,
|
|
262
|
+
TMSelectedFields
|
|
263
|
+
> {
|
|
264
|
+
return new EntityDeleter(existingEntity, queryContext, this).enforcing();
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Vend mutator for deleting an existing entity in given query context.
|
|
269
|
+
* @param existingEntity - entity to delete
|
|
270
|
+
* @param queryContext - query context in which to perform the delete
|
|
271
|
+
* @returns mutator for deleting existingEntity
|
|
272
|
+
*/
|
|
273
|
+
static deleterWithAuthorizationResults<
|
|
274
|
+
TMFields extends object,
|
|
275
|
+
TMID extends NonNullable<TMFields[TMSelectedFields]>,
|
|
276
|
+
TMViewerContext extends ViewerContext,
|
|
277
|
+
TMEntity extends Entity<TMFields, TMID, TMViewerContext, TMSelectedFields>,
|
|
278
|
+
TMPrivacyPolicy extends EntityPrivacyPolicy<
|
|
279
|
+
TMFields,
|
|
280
|
+
TMID,
|
|
281
|
+
TMViewerContext,
|
|
282
|
+
TMEntity,
|
|
283
|
+
TMSelectedFields
|
|
284
|
+
>,
|
|
285
|
+
TMSelectedFields extends keyof TMFields = keyof TMFields,
|
|
286
|
+
>(
|
|
287
|
+
this: IEntityClass<
|
|
288
|
+
TMFields,
|
|
289
|
+
TMID,
|
|
290
|
+
TMViewerContext,
|
|
291
|
+
TMEntity,
|
|
292
|
+
TMPrivacyPolicy,
|
|
293
|
+
TMSelectedFields
|
|
294
|
+
>,
|
|
295
|
+
existingEntity: TMEntity,
|
|
296
|
+
queryContext: EntityQueryContext = existingEntity
|
|
297
|
+
.getViewerContext()
|
|
298
|
+
.getViewerScopedEntityCompanionForClass(this)
|
|
299
|
+
.getQueryContextProvider()
|
|
300
|
+
.getQueryContext(),
|
|
301
|
+
): AuthorizationResultBasedDeleteMutator<
|
|
302
|
+
TMFields,
|
|
303
|
+
TMID,
|
|
304
|
+
TMViewerContext,
|
|
305
|
+
TMEntity,
|
|
306
|
+
TMPrivacyPolicy,
|
|
307
|
+
TMSelectedFields
|
|
308
|
+
> {
|
|
309
|
+
return new EntityDeleter(existingEntity, queryContext, this).withAuthorizationResults();
|
|
154
310
|
}
|
|
155
311
|
}
|
|
156
312
|
|