@casual-simulation/aux-records 3.2.13 → 3.2.14-alpha.7890390188
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/AIController.d.ts +7 -4
- package/AIController.js +11 -0
- package/AIController.js.map +1 -1
- package/AuthController.d.ts +2 -1
- package/AuthController.js +6 -3
- package/AuthController.js.map +1 -1
- package/AuthStore.d.ts +1 -21
- package/CachingPolicyStore.d.ts +16 -5
- package/CachingPolicyStore.js +66 -39
- package/CachingPolicyStore.js.map +1 -1
- package/DataRecordsController.d.ts +67 -5
- package/DataRecordsController.js +141 -78
- package/DataRecordsController.js.map +1 -1
- package/DataRecordsStore.d.ts +35 -1
- package/DataRecordsStore.js.map +1 -1
- package/EventRecordsController.d.ts +5 -5
- package/EventRecordsController.js +54 -35
- package/EventRecordsController.js.map +1 -1
- package/FileRecordsController.d.ts +6 -6
- package/FileRecordsController.js +142 -76
- package/FileRecordsController.js.map +1 -1
- package/MemoryStore.d.ts +28 -17
- package/MemoryStore.js +457 -110
- package/MemoryStore.js.map +1 -1
- package/PolicyController.d.ts +512 -677
- package/PolicyController.js +1196 -2934
- package/PolicyController.js.map +1 -1
- package/PolicyStore.d.ts +319 -90
- package/PolicyStore.js +125 -0
- package/PolicyStore.js.map +1 -1
- package/RecordsServer.d.ts +3 -4
- package/RecordsServer.js +88 -111
- package/RecordsServer.js.map +1 -1
- package/RecordsStore.d.ts +3 -0
- package/TestUtils.d.ts +1 -1
- package/TestUtils.js.map +1 -1
- package/Utils.d.ts +21 -3
- package/Utils.js +42 -3
- package/Utils.js.map +1 -1
- package/package.json +3 -3
- package/websockets/InstRecordsStore.d.ts +21 -0
- package/websockets/InstRecordsStore.js +43 -1
- package/websockets/InstRecordsStore.js.map +1 -1
- package/websockets/WebsocketController.d.ts +7 -7
- package/websockets/WebsocketController.js +153 -82
- package/websockets/WebsocketController.js.map +1 -1
|
@@ -7,10 +7,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
11
|
-
import { cleanupObject,
|
|
12
|
-
import {
|
|
13
|
-
import { PUBLIC_READ_MARKER } from '@casual-simulation/aux-common';
|
|
10
|
+
import { getMarkerResourcesForUpdate, } from './PolicyController';
|
|
11
|
+
import { cleanupObject, getRootMarkersOrDefault } from './Utils';
|
|
12
|
+
import { ACCOUNT_MARKER, } from '@casual-simulation/aux-common';
|
|
14
13
|
import { getSubscriptionFeatures } from './SubscriptionConfiguration';
|
|
15
14
|
/**
|
|
16
15
|
* Defines a class that is able to manage event (count) records.
|
|
@@ -51,12 +50,19 @@ export class EventRecordsController {
|
|
|
51
50
|
if (event.success === false) {
|
|
52
51
|
return event;
|
|
53
52
|
}
|
|
54
|
-
const markers =
|
|
55
|
-
const authorizeResult = yield this._policies.
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
const markers = getRootMarkersOrDefault(event.markers);
|
|
54
|
+
const authorizeResult = yield this._policies.authorizeUserAndInstances(context.context, {
|
|
55
|
+
resourceKind: 'event',
|
|
56
|
+
resourceId: eventName,
|
|
57
|
+
action: 'increment',
|
|
58
|
+
userId: subjectId,
|
|
59
|
+
instances: instances,
|
|
60
|
+
markers: markers,
|
|
61
|
+
});
|
|
62
|
+
if (authorizeResult.success === false) {
|
|
63
|
+
return authorizeResult;
|
|
58
64
|
}
|
|
59
|
-
const policy =
|
|
65
|
+
const policy = context.context.subjectPolicy;
|
|
60
66
|
if (!subjectId && policy !== 'subjectless') {
|
|
61
67
|
return {
|
|
62
68
|
success: false,
|
|
@@ -125,10 +131,17 @@ export class EventRecordsController {
|
|
|
125
131
|
if (result.success === false) {
|
|
126
132
|
return result;
|
|
127
133
|
}
|
|
128
|
-
const markers =
|
|
129
|
-
const authorizeResult = yield this._policies.
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
const markers = getRootMarkersOrDefault(result.markers);
|
|
135
|
+
const authorizeResult = yield this._policies.authorizeUserAndInstances(context.context, {
|
|
136
|
+
resourceKind: 'event',
|
|
137
|
+
resourceId: eventName,
|
|
138
|
+
action: 'count',
|
|
139
|
+
userId: userId,
|
|
140
|
+
instances: instances,
|
|
141
|
+
markers: markers,
|
|
142
|
+
});
|
|
143
|
+
if (authorizeResult.success === false) {
|
|
144
|
+
return authorizeResult;
|
|
132
145
|
}
|
|
133
146
|
return {
|
|
134
147
|
success: true,
|
|
@@ -171,16 +184,23 @@ export class EventRecordsController {
|
|
|
171
184
|
return result;
|
|
172
185
|
}
|
|
173
186
|
const markers = request.markers;
|
|
174
|
-
const existingMarkers =
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
: [
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
187
|
+
const existingMarkers = getRootMarkersOrDefault(result.markers);
|
|
188
|
+
const resourceMarkers = markers !== null && markers !== void 0 ? markers : existingMarkers;
|
|
189
|
+
const authorizeResult = yield this._policies.authorizeUserAndInstancesForResources(context.context, {
|
|
190
|
+
resources: [
|
|
191
|
+
{
|
|
192
|
+
resourceKind: 'event',
|
|
193
|
+
resourceId: eventName,
|
|
194
|
+
action: 'update',
|
|
195
|
+
markers: resourceMarkers,
|
|
196
|
+
},
|
|
197
|
+
...getMarkerResourcesForUpdate(existingMarkers, markers),
|
|
198
|
+
],
|
|
199
|
+
userId: request.userId,
|
|
200
|
+
instances: request.instances,
|
|
201
|
+
});
|
|
202
|
+
if (authorizeResult.success === false) {
|
|
203
|
+
return authorizeResult;
|
|
184
204
|
}
|
|
185
205
|
const metricsResult = yield this._metrics.getSubscriptionEventMetricsByRecordName(recordName);
|
|
186
206
|
const config = yield this._config.getSubscriptionConfiguration();
|
|
@@ -232,26 +252,25 @@ export class EventRecordsController {
|
|
|
232
252
|
if (context.success === false) {
|
|
233
253
|
return context;
|
|
234
254
|
}
|
|
255
|
+
const authorizeResult = yield this._policies.authorizeUserAndInstances(context.context, {
|
|
256
|
+
resourceKind: 'event',
|
|
257
|
+
action: 'list',
|
|
258
|
+
userId: userId,
|
|
259
|
+
instances: instances,
|
|
260
|
+
markers: [ACCOUNT_MARKER],
|
|
261
|
+
});
|
|
262
|
+
if (authorizeResult.success === false) {
|
|
263
|
+
return authorizeResult;
|
|
264
|
+
}
|
|
235
265
|
const recordName = context.context.recordName;
|
|
236
266
|
const result = yield this._store.listEvents(recordName, eventName);
|
|
237
267
|
if (result.success === false) {
|
|
238
268
|
return result;
|
|
239
269
|
}
|
|
240
|
-
const authorizeResult = yield this._policies.authorizeRequest(Object.assign(Object.assign({ action: 'event.list' }, baseRequest), { eventItems: result.events.map((e) => {
|
|
241
|
-
var _a;
|
|
242
|
-
return ({
|
|
243
|
-
eventName: e.eventName,
|
|
244
|
-
markers: (_a = e.markers) !== null && _a !== void 0 ? _a : [PUBLIC_READ_MARKER],
|
|
245
|
-
count: e.count,
|
|
246
|
-
});
|
|
247
|
-
}) }));
|
|
248
|
-
if (authorizeResult.allowed === false) {
|
|
249
|
-
return returnAuthorizationResult(authorizeResult);
|
|
250
|
-
}
|
|
251
270
|
return {
|
|
252
271
|
success: true,
|
|
253
272
|
totalCount: result.totalCount,
|
|
254
|
-
events:
|
|
273
|
+
events: result.events.map((e) => (Object.assign(Object.assign({}, e), { markers: getRootMarkersOrDefault(e.markers) }))),
|
|
255
274
|
};
|
|
256
275
|
}
|
|
257
276
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventRecordsController.js","sourceRoot":"","sources":["EventRecordsController.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAGH,
|
|
1
|
+
{"version":3,"file":"EventRecordsController.js","sourceRoot":"","sources":["EventRecordsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FileRecordsStore, AddFileFailure, MarkFileRecordAsUploadedFailure, EraseFileStoreResult, GetFileNameFromUrlResult, PresignFileReadFailure, GetFileRecordFailure } from './FileRecordsStore';
|
|
2
2
|
import { NotLoggedInError, NotSupportedError, ServerError, SubscriptionLimitReached } from '@casual-simulation/aux-common/Errors';
|
|
3
3
|
import { ValidatePublicRecordKeyFailure } from './RecordsController';
|
|
4
|
-
import {
|
|
4
|
+
import { AuthorizeSubjectFailure, PolicyController } from './PolicyController';
|
|
5
5
|
import { MetricsStore } from './MetricsStore';
|
|
6
6
|
import { ConfigurationStore } from './ConfigurationStore';
|
|
7
7
|
export interface FileRecordsConfiguration {
|
|
@@ -139,7 +139,7 @@ export interface RecordFileFailure {
|
|
|
139
139
|
/**
|
|
140
140
|
* The error code that indicates why the request failed.
|
|
141
141
|
*/
|
|
142
|
-
errorCode: ServerError | NotLoggedInError | ValidatePublicRecordKeyFailure['errorCode'] | AddFileFailure['errorCode'] |
|
|
142
|
+
errorCode: ServerError | NotLoggedInError | ValidatePublicRecordKeyFailure['errorCode'] | AddFileFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'] | SubscriptionLimitReached | 'invalid_file_data' | 'not_supported';
|
|
143
143
|
/**
|
|
144
144
|
* The error message that indicates why the request failed.
|
|
145
145
|
*/
|
|
@@ -190,7 +190,7 @@ export interface EraseFileFailure {
|
|
|
190
190
|
/**
|
|
191
191
|
* The error code that indicates why the request failed.
|
|
192
192
|
*/
|
|
193
|
-
errorCode: ServerError | EraseFileStoreResult['errorCode'] | NotLoggedInError |
|
|
193
|
+
errorCode: ServerError | EraseFileStoreResult['errorCode'] | NotLoggedInError | AuthorizeSubjectFailure['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'];
|
|
194
194
|
/**
|
|
195
195
|
* The error message that indicates why the request failed.
|
|
196
196
|
*/
|
|
@@ -231,7 +231,7 @@ export interface ReadFileSuccess {
|
|
|
231
231
|
}
|
|
232
232
|
export interface ReadFileFailure {
|
|
233
233
|
success: false;
|
|
234
|
-
errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | PresignFileReadFailure['errorCode'] | GetFileRecordFailure['errorCode'] |
|
|
234
|
+
errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | PresignFileReadFailure['errorCode'] | GetFileRecordFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'];
|
|
235
235
|
errorMessage: string;
|
|
236
236
|
}
|
|
237
237
|
export type ListFilesResult = ListFilesSuccess | ListFilesFailure;
|
|
@@ -254,7 +254,7 @@ export interface ListedFile {
|
|
|
254
254
|
}
|
|
255
255
|
export interface ListFilesFailure {
|
|
256
256
|
success: false;
|
|
257
|
-
errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | PresignFileReadFailure['errorCode'] | GetFileRecordFailure['errorCode'] |
|
|
257
|
+
errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | PresignFileReadFailure['errorCode'] | GetFileRecordFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'] | NotSupportedError;
|
|
258
258
|
errorMessage: string;
|
|
259
259
|
}
|
|
260
260
|
export type UpdateFileRecordResult = UpdateFileRecordSuccess | UpdateFileRecordFailure;
|
|
@@ -263,7 +263,7 @@ export interface UpdateFileRecordSuccess {
|
|
|
263
263
|
}
|
|
264
264
|
export interface UpdateFileRecordFailure {
|
|
265
265
|
success: false;
|
|
266
|
-
errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | PresignFileReadFailure['errorCode'] | GetFileRecordFailure['errorCode'] |
|
|
266
|
+
errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | PresignFileReadFailure['errorCode'] | GetFileRecordFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'];
|
|
267
267
|
errorMessage: string;
|
|
268
268
|
}
|
|
269
269
|
//# sourceMappingURL=FileRecordsController.d.ts.map
|
package/FileRecordsController.js
CHANGED
|
@@ -7,11 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { getExtension
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { without } from 'lodash';
|
|
10
|
+
import { getExtension } from 'mime';
|
|
11
|
+
import { getMarkerResourcesForCreation, getMarkerResourcesForUpdate, } from './PolicyController';
|
|
12
|
+
import { ACCOUNT_MARKER, } from '@casual-simulation/aux-common';
|
|
13
|
+
import { getRootMarkersOrDefault } from './Utils';
|
|
15
14
|
import { getSubscriptionFeatures } from './SubscriptionConfiguration';
|
|
16
15
|
/**
|
|
17
16
|
* Defines a class that can manage file records.
|
|
@@ -31,24 +30,73 @@ export class FileRecordsController {
|
|
|
31
30
|
* @returns
|
|
32
31
|
*/
|
|
33
32
|
recordFile(recordKeyOrRecordName, userId, request) {
|
|
33
|
+
var _a, _b;
|
|
34
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
35
|
try {
|
|
36
|
-
const markers =
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const markers = getRootMarkersOrDefault(request.markers);
|
|
37
|
+
const contextResult = yield this._policies.constructAuthorizationContext({
|
|
38
|
+
recordKeyOrRecordName,
|
|
39
|
+
userId,
|
|
40
|
+
});
|
|
41
|
+
if (contextResult.success === false) {
|
|
42
|
+
return contextResult;
|
|
43
|
+
}
|
|
44
|
+
const extension = getExtension(request.fileMimeType);
|
|
45
|
+
const fileName = extension
|
|
46
|
+
? `${request.fileSha256Hex}.${extension}`
|
|
47
|
+
: request.fileSha256Hex;
|
|
48
|
+
const authorization = yield this._policies.authorizeUserAndInstancesForResources(contextResult.context, {
|
|
40
49
|
userId,
|
|
41
|
-
resourceMarkers: markers,
|
|
42
|
-
fileSizeInBytes: request.fileByteLength,
|
|
43
|
-
fileMimeType: request.fileMimeType,
|
|
44
50
|
instances: request.instances,
|
|
51
|
+
resources: [
|
|
52
|
+
{
|
|
53
|
+
resourceKind: 'file',
|
|
54
|
+
resourceId: fileName,
|
|
55
|
+
action: 'create',
|
|
56
|
+
markers: markers,
|
|
57
|
+
},
|
|
58
|
+
...getMarkerResourcesForCreation(markers),
|
|
59
|
+
],
|
|
45
60
|
});
|
|
46
|
-
|
|
47
|
-
|
|
61
|
+
// const result = await this._policies.authorizeRequest({
|
|
62
|
+
// action: 'file.create',
|
|
63
|
+
// recordKeyOrRecordName: recordKeyOrRecordName,
|
|
64
|
+
// userId,
|
|
65
|
+
// resourceMarkers: markers,
|
|
66
|
+
// fileSizeInBytes: request.fileByteLength,
|
|
67
|
+
// fileMimeType: request.fileMimeType,
|
|
68
|
+
// instances: request.instances,
|
|
69
|
+
// });
|
|
70
|
+
if (authorization.success === false) {
|
|
71
|
+
return authorization;
|
|
72
|
+
}
|
|
73
|
+
const createAuthorization = authorization.results[0];
|
|
74
|
+
for (let result of createAuthorization.results) {
|
|
75
|
+
const options = result.permission.options;
|
|
76
|
+
if ('maxFileSizeInBytes' in options &&
|
|
77
|
+
options.maxFileSizeInBytes > 0) {
|
|
78
|
+
if (request.fileByteLength > options.maxFileSizeInBytes) {
|
|
79
|
+
return {
|
|
80
|
+
success: false,
|
|
81
|
+
errorCode: 'unacceptable_request',
|
|
82
|
+
errorMessage: 'The file is too large.',
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if ('allowedMimeTypes' in options &&
|
|
87
|
+
Array.isArray(options.allowedMimeTypes)) {
|
|
88
|
+
if (!options.allowedMimeTypes.includes(request.fileMimeType)) {
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
errorCode: 'unacceptable_request',
|
|
92
|
+
errorMessage: 'The file type is not allowed.',
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
48
96
|
}
|
|
49
|
-
const policy =
|
|
50
|
-
userId =
|
|
51
|
-
if (!
|
|
97
|
+
const policy = contextResult.context.subjectPolicy;
|
|
98
|
+
userId = contextResult.context.userId;
|
|
99
|
+
if (!userId && policy !== 'subjectless') {
|
|
52
100
|
return {
|
|
53
101
|
success: false,
|
|
54
102
|
errorCode: 'not_logged_in',
|
|
@@ -58,8 +106,8 @@ export class FileRecordsController {
|
|
|
58
106
|
if (policy === 'subjectless') {
|
|
59
107
|
userId = null;
|
|
60
108
|
}
|
|
61
|
-
const publisherId =
|
|
62
|
-
const recordName =
|
|
109
|
+
const publisherId = (_b = (_a = contextResult.context.recordKeyCreatorId) !== null && _a !== void 0 ? _a : userId) !== null && _b !== void 0 ? _b : contextResult.context.recordOwnerId;
|
|
110
|
+
const recordName = authorization.recordName;
|
|
63
111
|
const subjectId = userId;
|
|
64
112
|
const metricsResult = yield this._metrics.getSubscriptionFileMetricsByRecordName(recordName);
|
|
65
113
|
const config = yield this._config.getSubscriptionConfiguration();
|
|
@@ -101,10 +149,6 @@ export class FileRecordsController {
|
|
|
101
149
|
};
|
|
102
150
|
}
|
|
103
151
|
}
|
|
104
|
-
const extension = getExtension(request.fileMimeType);
|
|
105
|
-
const fileName = extension
|
|
106
|
-
? `${request.fileSha256Hex}.${extension}`
|
|
107
|
-
: request.fileSha256Hex;
|
|
108
152
|
const presignResult = yield this._store.presignFileUpload({
|
|
109
153
|
recordName,
|
|
110
154
|
fileName: fileName,
|
|
@@ -193,13 +237,30 @@ export class FileRecordsController {
|
|
|
193
237
|
if (fileResult.success === false) {
|
|
194
238
|
return fileResult;
|
|
195
239
|
}
|
|
196
|
-
const markers =
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
240
|
+
const markers = getRootMarkersOrDefault(fileResult.markers);
|
|
241
|
+
const authorization = yield this._policies.authorizeUserAndInstances(context.context, {
|
|
242
|
+
userId: subjectId,
|
|
243
|
+
instances: instances,
|
|
244
|
+
resourceKind: 'file',
|
|
245
|
+
resourceId: fileName,
|
|
246
|
+
action: 'delete',
|
|
247
|
+
markers: markers,
|
|
248
|
+
});
|
|
249
|
+
// const result = await this._policies.authorizeRequestUsingContext(
|
|
250
|
+
// context.context,
|
|
251
|
+
// {
|
|
252
|
+
// action: 'file.delete',
|
|
253
|
+
// ...baseRequest,
|
|
254
|
+
// fileSizeInBytes: fileResult.sizeInBytes,
|
|
255
|
+
// fileMimeType: getType(fileResult.fileName),
|
|
256
|
+
// resourceMarkers: markers,
|
|
257
|
+
// }
|
|
258
|
+
// );
|
|
259
|
+
if (authorization.success === false) {
|
|
260
|
+
return authorization;
|
|
200
261
|
}
|
|
201
|
-
const policy =
|
|
202
|
-
subjectId =
|
|
262
|
+
const policy = context.context.subjectPolicy;
|
|
263
|
+
subjectId = authorization.user.subjectId;
|
|
203
264
|
if (!subjectId && policy !== 'subjectless') {
|
|
204
265
|
return {
|
|
205
266
|
success: false,
|
|
@@ -207,8 +268,7 @@ export class FileRecordsController {
|
|
|
207
268
|
errorMessage: 'The user must be logged in in order to erase files.',
|
|
208
269
|
};
|
|
209
270
|
}
|
|
210
|
-
const
|
|
211
|
-
const recordName = result.recordName;
|
|
271
|
+
const recordName = authorization.recordName;
|
|
212
272
|
const eraseResult = yield this._store.eraseFileRecord(recordName, fileName);
|
|
213
273
|
if (eraseResult.success === false) {
|
|
214
274
|
return {
|
|
@@ -256,13 +316,30 @@ export class FileRecordsController {
|
|
|
256
316
|
if (fileResult.success === false) {
|
|
257
317
|
return fileResult;
|
|
258
318
|
}
|
|
259
|
-
const markers =
|
|
260
|
-
const result = yield this._policies.
|
|
261
|
-
|
|
262
|
-
|
|
319
|
+
const markers = getRootMarkersOrDefault(fileResult.markers);
|
|
320
|
+
const result = yield this._policies.authorizeUserAndInstances(context.context, {
|
|
321
|
+
userId: subjectId,
|
|
322
|
+
instances: instances,
|
|
323
|
+
resourceKind: 'file',
|
|
324
|
+
resourceId: fileName,
|
|
325
|
+
action: 'read',
|
|
326
|
+
markers: markers,
|
|
327
|
+
});
|
|
328
|
+
// const result = await this._policies.authorizeRequestUsingContext(
|
|
329
|
+
// context.context,
|
|
330
|
+
// {
|
|
331
|
+
// action: 'file.read',
|
|
332
|
+
// ...baseRequest,
|
|
333
|
+
// fileSizeInBytes: fileResult.sizeInBytes,
|
|
334
|
+
// fileMimeType: getType(fileResult.fileName),
|
|
335
|
+
// resourceMarkers: markers,
|
|
336
|
+
// }
|
|
337
|
+
// );
|
|
338
|
+
if (result.success === false) {
|
|
339
|
+
return result;
|
|
263
340
|
}
|
|
264
|
-
const policy =
|
|
265
|
-
subjectId = result.
|
|
341
|
+
const policy = context.context.subjectPolicy;
|
|
342
|
+
subjectId = result.user.subjectId;
|
|
266
343
|
if (!subjectId && policy !== 'subjectless') {
|
|
267
344
|
return {
|
|
268
345
|
success: false,
|
|
@@ -326,6 +403,16 @@ export class FileRecordsController {
|
|
|
326
403
|
if (context.success === false) {
|
|
327
404
|
return context;
|
|
328
405
|
}
|
|
406
|
+
const authorizeResult = yield this._policies.authorizeUserAndInstances(context.context, {
|
|
407
|
+
userId: userId,
|
|
408
|
+
instances,
|
|
409
|
+
resourceKind: 'file',
|
|
410
|
+
action: 'list',
|
|
411
|
+
markers: [ACCOUNT_MARKER],
|
|
412
|
+
});
|
|
413
|
+
if (authorizeResult.success === false) {
|
|
414
|
+
return authorizeResult;
|
|
415
|
+
}
|
|
329
416
|
const result2 = yield this._store.listUploadedFiles(context.context.recordName, fileName);
|
|
330
417
|
if (result2.success === false) {
|
|
331
418
|
return {
|
|
@@ -334,27 +421,10 @@ export class FileRecordsController {
|
|
|
334
421
|
errorMessage: result2.errorMessage,
|
|
335
422
|
};
|
|
336
423
|
}
|
|
337
|
-
const files = result2.files;
|
|
338
|
-
const authorizeResult = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'file.list' }, baseRequest), { fileItems: files.map((i) => {
|
|
339
|
-
var _a;
|
|
340
|
-
return ({
|
|
341
|
-
fileName: i.fileName,
|
|
342
|
-
fileSizeInBytes: i.sizeInBytes,
|
|
343
|
-
fileMimeType: getType(i.fileName),
|
|
344
|
-
markers: (_a = i.markers) !== null && _a !== void 0 ? _a : [PUBLIC_READ_MARKER],
|
|
345
|
-
original: i,
|
|
346
|
-
});
|
|
347
|
-
}) }));
|
|
348
|
-
if (authorizeResult.allowed === false) {
|
|
349
|
-
return returnAuthorizationResult(authorizeResult);
|
|
350
|
-
}
|
|
351
|
-
if (!authorizeResult.allowedFileItems) {
|
|
352
|
-
throw new Error('allowedFileItems is null!');
|
|
353
|
-
}
|
|
354
424
|
return {
|
|
355
425
|
success: true,
|
|
356
426
|
recordName: context.context.recordName,
|
|
357
|
-
files:
|
|
427
|
+
files: result2.files,
|
|
358
428
|
totalCount: result2.totalCount,
|
|
359
429
|
};
|
|
360
430
|
}
|
|
@@ -384,29 +454,25 @@ export class FileRecordsController {
|
|
|
384
454
|
if (fileResult.success === false) {
|
|
385
455
|
return fileResult;
|
|
386
456
|
}
|
|
387
|
-
const existingMarkers =
|
|
388
|
-
const addedMarkers = markers
|
|
389
|
-
? without(markers, ...existingMarkers)
|
|
390
|
-
: [];
|
|
391
|
-
const removedMarkers = markers
|
|
392
|
-
? without(existingMarkers, ...markers)
|
|
393
|
-
: [];
|
|
457
|
+
const existingMarkers = getRootMarkersOrDefault(fileResult.markers);
|
|
394
458
|
const resourceMarkers = markers !== null && markers !== void 0 ? markers : existingMarkers;
|
|
395
|
-
const result = yield this._policies.
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
459
|
+
const result = yield this._policies.authorizeUserAndInstancesForResources(context.context, {
|
|
460
|
+
userId: subjectId,
|
|
461
|
+
instances: instances,
|
|
462
|
+
resources: [
|
|
463
|
+
{
|
|
464
|
+
resourceKind: 'file',
|
|
465
|
+
resourceId: fileName,
|
|
466
|
+
action: 'update',
|
|
467
|
+
markers: resourceMarkers,
|
|
468
|
+
},
|
|
469
|
+
...getMarkerResourcesForUpdate(existingMarkers, markers),
|
|
470
|
+
],
|
|
471
|
+
});
|
|
472
|
+
if (result.success === false) {
|
|
473
|
+
return result;
|
|
409
474
|
}
|
|
475
|
+
subjectId = context.context.userId;
|
|
410
476
|
const updateResult = yield this._store.updateFileRecord(result.recordName, fileName, resourceMarkers);
|
|
411
477
|
if (updateResult.success === false) {
|
|
412
478
|
return updateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileRecordsController.js","sourceRoot":"","sources":["FileRecordsController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileRecordsController.js","sourceRoot":"","sources":["FileRecordsController.ts"],"names":[],"mappings":";;;;;;;;;AAmBA,OAAO,EAAE,YAAY,EAAW,MAAM,MAAM,CAAC;AAC7C,OAAO,EAGH,6BAA6B,EAC7B,2BAA2B,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,cAAc,GAGjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAStE;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAM9B,YAAY,MAAgC;QACxC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACG,UAAU,CACZ,qBAA6B,EAC7B,MAAc,EACd,OAA0B;;;YAE1B,IAAI;gBACA,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEzD,MAAM,aAAa,GACf,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC;oBAC/C,qBAAqB;oBACrB,MAAM;iBACT,CAAC,CAAC;gBAEP,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;oBACjC,OAAO,aAAa,CAAC;iBACxB;gBAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,SAAS;oBACtB,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,SAAS,EAAE;oBACzC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;gBAE5B,MAAM,aAAa,GACf,MAAM,IAAI,CAAC,SAAS,CAAC,qCAAqC,CACtD,aAAa,CAAC,OAAO,EACrB;oBACI,MAAM;oBACN,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE;wBACP;4BACI,YAAY,EAAE,MAAM;4BACpB,UAAU,EAAE,QAAQ;4BACpB,MAAM,EAAE,QAAQ;4BAChB,OAAO,EAAE,OAAO;yBACnB;wBACD,GAAG,6BAA6B,CAAC,OAAO,CAAC;qBAC5C;iBACJ,CACJ,CAAC;gBAEN,yDAAyD;gBACzD,6BAA6B;gBAC7B,oDAAoD;gBACpD,cAAc;gBACd,gCAAgC;gBAChC,+CAA+C;gBAC/C,0CAA0C;gBAC1C,oCAAoC;gBACpC,MAAM;gBAEN,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;oBACjC,OAAO,aAAa,CAAC;iBACxB;gBAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAErD,KAAK,IAAI,MAAM,IAAI,mBAAmB,CAAC,OAAO,EAAE;oBAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;oBAE1C,IACI,oBAAoB,IAAI,OAAO;wBAC/B,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAChC;wBACE,IAAI,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE;4BACrD,OAAO;gCACH,OAAO,EAAE,KAAK;gCACd,SAAS,EAAE,sBAAsB;gCACjC,YAAY,EAAE,wBAAwB;6BACzC,CAAC;yBACL;qBACJ;yBAAM,IACH,kBAAkB,IAAI,OAAO;wBAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EACzC;wBACE,IACI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAC1D;4BACE,OAAO;gCACH,OAAO,EAAE,KAAK;gCACd,SAAS,EAAE,sBAAsB;gCACjC,YAAY,EAAE,+BAA+B;6BAChD,CAAC;yBACL;qBACJ;iBACJ;gBAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;gBACnD,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;gBAEtC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,aAAa,EAAE;oBACrC,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,eAAe;wBAC1B,YAAY,EACR,sDAAsD;qBAC7D,CAAC;iBACL;gBAED,IAAI,MAAM,KAAK,aAAa,EAAE;oBAC1B,MAAM,GAAG,IAAI,CAAC;iBACjB;gBAED,MAAM,WAAW,GACb,MAAA,MAAA,aAAa,CAAC,OAAO,CAAC,kBAAkB,mCACxC,MAAM,mCACN,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;gBACxC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;gBAC5C,MAAM,SAAS,GAAG,MAAM,CAAC;gBAEzB,MAAM,aAAa,GACf,MAAM,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CACtD,UAAU,CACb,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,uBAAuB,CACpC,MAAM,EACN,aAAa,CAAC,kBAAkB,EAChC,aAAa,CAAC,cAAc,EAC5B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAC5C,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzB,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,gBAAgB;wBAC3B,YAAY,EACR,0DAA0D;qBACjE,CAAC;iBACL;gBAED,IAAI,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE;oBACpC,IAAI,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE;wBACzD,OAAO;4BACH,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,sBAAsB;4BACjC,YAAY,EAAE,wBAAwB;yBACzC,CAAC;qBACL;iBACJ;gBACD,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE;oBAClC,MAAM,OAAO,GACT,aAAa,CAAC,sBAAsB;wBACpC,OAAO,CAAC,cAAc,CAAC;oBAC3B,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;wBACxC,OAAO;4BACH,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,4BAA4B;4BACvC,YAAY,EACR,+DAA+D;yBACtE,CAAC;qBACL;iBACJ;gBACD,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;oBAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC;oBAC9C,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;wBACpC,OAAO;4BACH,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,4BAA4B;4BACvC,YAAY,EACR,6DAA6D;yBACpE,CAAC;qBACL;iBACJ;gBAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;oBACtD,UAAU;oBACV,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;iBAC3B,CAAC,CAAC;gBAEH,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;oBACjC,OAAO,aAAa,CAAC;iBACxB;gBAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CACjD,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,eAAe,EACvB,OAAO,CACV,CAAC;gBAEF,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;oBACjC,IAAI,aAAa,CAAC,SAAS,KAAK,qBAAqB,EAAE;wBACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC9C,UAAU,EACV,QAAQ,CACX,CAAC;wBACF,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;4BAC9B,OAAO,CAAC,KAAK,CACT,gFAAgF,EAChF,UAAU,CACb,CAAC;4BACF,OAAO;gCACH,OAAO,EAAE,KAAK;gCACd,SAAS,EAAE,cAAc;gCACzB,YAAY,EAAE,UAAU,CAAC,YAAY;6BACxC,CAAC;yBACL;wBAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;4BACtB,OAAO;gCACH,OAAO,EAAE,IAAI;gCACb,QAAQ;gCACR,SAAS,EAAE,aAAa,CAAC,SAAS;gCAClC,aAAa,EAAE,aAAa,CAAC,aAAa;gCAC1C,YAAY,EAAE,aAAa,CAAC,YAAY;gCACxC,OAAO;6BACV,CAAC;yBACL;6BAAM;4BACH,OAAO;gCACH,OAAO,EAAE,KAAK;gCACd,SAAS,EAAE,qBAAqB;gCAChC,YAAY,EACR,wCAAwC;oCACxC,UAAU,CAAC,GAAG;gCAClB,eAAe,EAAE,UAAU,CAAC,GAAG;6BAClC,CAAC;yBACL;qBACJ;oBAED,OAAO,aAAa,CAAC;iBACxB;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,aAAa,EAAE,aAAa,CAAC,aAAa;oBAC1C,YAAY,EAAE,aAAa,CAAC,YAAY;oBACxC,OAAO;iBACV,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,mEAAmE,EACnE,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;;KACJ;IAED;;;;;;OAMG;IACG,SAAS,CACX,qBAA6B,EAC7B,QAAgB,EAChB,SAAiB,EACjB,SAAoB;;YAEpB,IAAI;gBACA,MAAM,WAAW,GAAG;oBAChB,qBAAqB;oBACrB,MAAM,EAAE,SAAS;oBACjB,SAAS;iBACZ,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAC9D,WAAW,CACd,CAAC;gBAEF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC3B,OAAO,OAAO,CAAC;iBAClB;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC9C,OAAO,CAAC,OAAO,CAAC,UAAU,EAC1B,QAAQ,CACX,CAAC;gBAEF,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC9B,OAAO,UAAU,CAAC;iBACrB;gBAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE5D,MAAM,aAAa,GACf,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAC1C,OAAO,CAAC,OAAO,EACf;oBACI,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,OAAO;iBACnB,CACJ,CAAC;gBAEN,oEAAoE;gBACpE,uBAAuB;gBACvB,QAAQ;gBACR,iCAAiC;gBACjC,0BAA0B;gBAC1B,mDAAmD;gBACnD,sDAAsD;gBACtD,oCAAoC;gBACpC,QAAQ;gBACR,KAAK;gBAEL,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;oBACjC,OAAO,aAAa,CAAC;iBACxB;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC7C,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;gBAEzC,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,aAAa,EAAE;oBACxC,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,eAAe;wBAC1B,YAAY,EACR,qDAAqD;qBAC5D,CAAC;iBACL;gBAED,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;gBAE5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CACjD,UAAU,EACV,QAAQ,CACX,CAAC;gBAEF,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC/B,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,WAAW,CAAC,SAAS;wBAChC,YAAY,EAAE,WAAW,CAAC,YAAY;qBACzC,CAAC;iBACL;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,UAAU;oBACV,QAAQ;iBACX,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,iEAAiE,EACjE,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACG,QAAQ,CACV,qBAA6B,EAC7B,QAAgB,EAChB,SAAiB,EACjB,SAAoB;;YAEpB,IAAI;gBACA,MAAM,WAAW,GAAG;oBAChB,qBAAqB;oBACrB,MAAM,EAAE,SAAS;oBACjB,SAAS;iBACZ,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAC9D,WAAW,CACd,CAAC;gBAEF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC3B,OAAO,OAAO,CAAC;iBAClB;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC9C,OAAO,CAAC,OAAO,CAAC,UAAU,EAC1B,QAAQ,CACX,CAAC;gBAEF,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC9B,OAAO,UAAU,CAAC;iBACrB;gBAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,CACzD,OAAO,CAAC,OAAO,EACf;oBACI,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,SAAS;oBACpB,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,OAAO;iBACnB,CACJ,CAAC;gBAEF,oEAAoE;gBACpE,uBAAuB;gBACvB,QAAQ;gBACR,+BAA+B;gBAC/B,0BAA0B;gBAC1B,mDAAmD;gBACnD,sDAAsD;gBACtD,oCAAoC;gBACpC,QAAQ;gBACR,KAAK;gBAEL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC1B,OAAO,MAAM,CAAC;iBACjB;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC7C,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBAElC,IAAI,CAAC,SAAS,IAAI,MAAM,KAAK,aAAa,EAAE;oBACxC,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,eAAe;wBAC1B,YAAY,EACR,oDAAoD;qBAC3D,CAAC;iBACL;gBAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;gBAErC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBACjD,UAAU;oBACV,QAAQ;oBACR,OAAO,EAAE,EAAE;iBACd,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC9B,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;qBACxC,CAAC;iBACL;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,aAAa,EAAE,UAAU,CAAC,aAAa;oBACvC,cAAc,EAAE,UAAU,CAAC,cAAc;iBAC5C,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,iEAAiE,EACjE,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACG,SAAS,CACX,qBAA6B,EAC7B,QAAuB,EACvB,MAAe,EACf,SAAoB;;YAEpB,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;oBAChC,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,eAAe;wBAC1B,YAAY,EAAE,kCAAkC;qBACnD,CAAC;iBACL;gBAED,MAAM,WAAW,GAAG;oBAChB,qBAAqB;oBACrB,MAAM,EAAE,MAAM;oBACd,SAAS;iBACZ,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAC9D,WAAW,CACd,CAAC;gBAEF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC3B,OAAO,OAAO,CAAC;iBAClB;gBAED,MAAM,eAAe,GACjB,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAC1C,OAAO,CAAC,OAAO,EACf;oBACI,MAAM,EAAE,MAAM;oBACd,SAAS;oBACT,YAAY,EAAE,MAAM;oBACpB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,cAAc,CAAC;iBAC5B,CACJ,CAAC;gBAEN,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,EAAE;oBACnC,OAAO,eAAe,CAAC;iBAC1B;gBAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC/C,OAAO,CAAC,OAAO,CAAC,UAAU,EAC1B,QAAQ,CACX,CAAC;gBAEF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC3B,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;qBACrC,CAAC;iBACL;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;oBACtC,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;iBACjC,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,gEAAgE,EAChE,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;QACL,CAAC;KAAA;IAEK,UAAU,CACZ,qBAA6B,EAC7B,QAAgB,EAChB,SAAiB,EACjB,OAAiB,EACjB,SAAoB;;YAEpB,IAAI;gBACA,MAAM,WAAW,GAAG;oBAChB,qBAAqB;oBACrB,MAAM,EAAE,SAAS;oBACjB,SAAS;iBACZ,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAC9D,WAAW,CACd,CAAC;gBAEF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC3B,OAAO,OAAO,CAAC;iBAClB;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC9C,OAAO,CAAC,OAAO,CAAC,UAAU,EAC1B,QAAQ,CACX,CAAC;gBAEF,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC9B,OAAO,UAAU,CAAC;iBACrB;gBAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpE,MAAM,eAAe,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,CAAC;gBAEnD,MAAM,MAAM,GACR,MAAM,IAAI,CAAC,SAAS,CAAC,qCAAqC,CACtD,OAAO,CAAC,OAAO,EACf;oBACI,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE;wBACP;4BACI,YAAY,EAAE,MAAM;4BACpB,UAAU,EAAE,QAAQ;4BACpB,MAAM,EAAE,QAAQ;4BAChB,OAAO,EAAE,eAAe;yBAC3B;wBACD,GAAG,2BAA2B,CAC1B,eAAe,EACf,OAAO,CACV;qBACJ;iBACJ,CACJ,CAAC;gBAEN,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC1B,OAAO,MAAM,CAAC;iBACjB;gBAED,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAEnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CACnD,MAAM,CAAC,UAAU,EACjB,QAAQ,EACR,eAAe,CAClB,CAAC;gBAEF,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;oBAChC,OAAO,YAAY,CAAC;iBACvB;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;iBAChB,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,iEAAiE,EACjE,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;QACL,CAAC;KAAA;IAEK,kBAAkB,CACpB,UAAkB,EAClB,QAAgB;;YAEhB,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACpD,UAAU,EACV,QAAQ,CACX,CAAC;gBAEF,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;oBAC1B,OAAO,MAAM,CAAC;iBACjB;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;iBAChB,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,6EAA6E,EAC7E,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;QACL,CAAC;KAAA;IAEK,kBAAkB,CACpB,OAAe;;YAEf,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;aACxD;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CACT,sEAAsE,EACtE,GAAG,CACN,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,0BAA0B;iBAC3C,CAAC;aACL;QACL,CAAC;KAAA;IAED,uBAAuB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;IACjD,CAAC;CACJ"}
|