@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.
Files changed (46) hide show
  1. package/AIController.d.ts +7 -4
  2. package/AIController.js +11 -0
  3. package/AIController.js.map +1 -1
  4. package/AuthController.d.ts +2 -1
  5. package/AuthController.js +6 -3
  6. package/AuthController.js.map +1 -1
  7. package/AuthStore.d.ts +1 -21
  8. package/CachingPolicyStore.d.ts +16 -5
  9. package/CachingPolicyStore.js +66 -39
  10. package/CachingPolicyStore.js.map +1 -1
  11. package/DataRecordsController.d.ts +67 -5
  12. package/DataRecordsController.js +141 -78
  13. package/DataRecordsController.js.map +1 -1
  14. package/DataRecordsStore.d.ts +35 -1
  15. package/DataRecordsStore.js.map +1 -1
  16. package/EventRecordsController.d.ts +5 -5
  17. package/EventRecordsController.js +54 -35
  18. package/EventRecordsController.js.map +1 -1
  19. package/FileRecordsController.d.ts +6 -6
  20. package/FileRecordsController.js +142 -76
  21. package/FileRecordsController.js.map +1 -1
  22. package/MemoryStore.d.ts +28 -17
  23. package/MemoryStore.js +457 -110
  24. package/MemoryStore.js.map +1 -1
  25. package/PolicyController.d.ts +512 -677
  26. package/PolicyController.js +1196 -2934
  27. package/PolicyController.js.map +1 -1
  28. package/PolicyStore.d.ts +319 -90
  29. package/PolicyStore.js +125 -0
  30. package/PolicyStore.js.map +1 -1
  31. package/RecordsServer.d.ts +3 -4
  32. package/RecordsServer.js +88 -111
  33. package/RecordsServer.js.map +1 -1
  34. package/RecordsStore.d.ts +3 -0
  35. package/TestUtils.d.ts +1 -1
  36. package/TestUtils.js.map +1 -1
  37. package/Utils.d.ts +21 -3
  38. package/Utils.js +42 -3
  39. package/Utils.js.map +1 -1
  40. package/package.json +3 -3
  41. package/websockets/InstRecordsStore.d.ts +21 -0
  42. package/websockets/InstRecordsStore.js +43 -1
  43. package/websockets/InstRecordsStore.js.map +1 -1
  44. package/websockets/WebsocketController.d.ts +7 -7
  45. package/websockets/WebsocketController.js +153 -82
  46. 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 { returnAuthorizationResult, } from './PolicyController';
11
- import { cleanupObject, getMarkersOrDefault } from './Utils';
12
- import { without } from 'lodash';
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 = getMarkersOrDefault(event.markers);
55
- const authorizeResult = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'event.increment' }, baseRequest), { eventName: eventName, resourceMarkers: markers }));
56
- if (authorizeResult.allowed === false) {
57
- return returnAuthorizationResult(authorizeResult);
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 = authorizeResult.subject.subjectPolicy;
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 = getMarkersOrDefault(result.markers);
129
- const authorizeResult = yield this._policies.authorizeRequest(Object.assign(Object.assign({ action: 'event.count' }, baseRequest), { eventName, resourceMarkers: markers }));
130
- if (authorizeResult.allowed === false) {
131
- return returnAuthorizationResult(authorizeResult);
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 = getMarkersOrDefault(result.markers);
175
- const addedMarkers = markers
176
- ? without(markers, ...existingMarkers)
177
- : [];
178
- const removedMarkers = markers
179
- ? without(existingMarkers, ...markers)
180
- : [];
181
- const authorizeResult = yield this._policies.authorizeRequest(Object.assign(Object.assign({ action: 'event.update' }, baseRequest), { eventName, existingMarkers: existingMarkers, addedMarkers: addedMarkers, removedMarkers: removedMarkers }));
182
- if (authorizeResult.allowed === false) {
183
- return returnAuthorizationResult(authorizeResult);
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: authorizeResult.allowedEventItems,
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":"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"}
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 { AuthorizeDenied, PolicyController } from './PolicyController';
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'] | AuthorizeDenied['errorCode'] | SubscriptionLimitReached | 'invalid_file_data' | 'not_supported';
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 | AuthorizeDenied['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'];
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'] | AuthorizeDenied['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'] | AuthorizeDenied['errorCode'] | NotSupportedError;
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'] | AuthorizeDenied['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
@@ -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, getType } from 'mime';
11
- import { returnAuthorizationResult, } from './PolicyController';
12
- import { PUBLIC_READ_MARKER } from '@casual-simulation/aux-common';
13
- import { getMarkersOrDefault } from './Utils';
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 = getMarkersOrDefault(request.markers);
37
- const result = yield this._policies.authorizeRequest({
38
- action: 'file.create',
39
- recordKeyOrRecordName: recordKeyOrRecordName,
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
- if (result.allowed === false) {
47
- return returnAuthorizationResult(result);
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 = result.subject.subjectPolicy;
50
- userId = result.subject.userId;
51
- if (!result.subject.userId && policy !== 'subjectless') {
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 = result.authorizerId;
62
- const recordName = result.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 = getMarkersOrDefault(fileResult.markers);
197
- const result = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'file.delete' }, baseRequest), { fileSizeInBytes: fileResult.sizeInBytes, fileMimeType: getType(fileResult.fileName), resourceMarkers: markers }));
198
- if (result.allowed === false) {
199
- return returnAuthorizationResult(result);
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 = result.subject.subjectPolicy;
202
- subjectId = result.subject.userId;
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 publisherId = result.authorizerId;
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 = getMarkersOrDefault(fileResult.markers);
260
- const result = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'file.read' }, baseRequest), { fileSizeInBytes: fileResult.sizeInBytes, fileMimeType: getType(fileResult.fileName), resourceMarkers: markers }));
261
- if (result.allowed === false) {
262
- return returnAuthorizationResult(result);
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 = result.subject.subjectPolicy;
265
- subjectId = result.subject.userId;
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: authorizeResult.allowedFileItems.map((f) => f.original),
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 = getMarkersOrDefault(fileResult.markers);
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.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'file.update' }, baseRequest), { existingMarkers,
396
- addedMarkers,
397
- removedMarkers, fileSizeInBytes: fileResult.sizeInBytes, fileMimeType: getType(fileResult.fileName) }));
398
- if (result.allowed === false) {
399
- return returnAuthorizationResult(result);
400
- }
401
- const policy = result.subject.subjectPolicy;
402
- subjectId = result.subject.userId;
403
- if (!subjectId && policy !== 'subjectless') {
404
- return {
405
- success: false,
406
- errorCode: 'not_logged_in',
407
- errorMessage: 'The user must be logged in in order to update files.',
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":"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"}