@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
@@ -1,7 +1,8 @@
1
1
  import { NotAuthorizedError, NotLoggedInError, ServerError, SubscriptionLimitReached } from '@casual-simulation/aux-common/Errors';
2
2
  import { DataRecordsStore, EraseDataStoreResult, GetDataStoreResult, SetDataResult, UserPolicy, ListDataStoreFailure } from './DataRecordsStore';
3
3
  import { ValidatePublicRecordKeyFailure } from './RecordsController';
4
- import { AuthorizeDenied, PolicyController } from './PolicyController';
4
+ import { AuthorizeSubjectFailure, PolicyController } from './PolicyController';
5
+ import { DenialReason } from '@casual-simulation/aux-common';
5
6
  import { MetricsStore } from './MetricsStore';
6
7
  import { ConfigurationStore } from './ConfigurationStore';
7
8
  import { ZodIssue } from 'zod';
@@ -53,6 +54,11 @@ export declare class DataRecordsController {
53
54
  * @param instances The instances that are loaded.
54
55
  */
55
56
  listData(recordName: string, address: string | null, userId?: string, instances?: string[]): Promise<ListDataResult>;
57
+ /**
58
+ * Lists some data from the given record, filtered by the given marker and starting at the given address.
59
+ * @param request The request that should be used to list the data.
60
+ */
61
+ listDataByMarker(request: ListDataByMarkerRequest): Promise<ListDataResult>;
56
62
  /**
57
63
  * Erases the data in the given record and address.
58
64
  * Uses the given record key to access the record and the given subject ID to determine if the user is allowed to access the record.
@@ -107,7 +113,7 @@ export interface RecordDataFailure {
107
113
  /**
108
114
  * The error code for the failure.
109
115
  */
110
- errorCode: ServerError | NotLoggedInError | NotAuthorizedError | ValidatePublicRecordKeyFailure['errorCode'] | SetDataResult['errorCode'] | SubscriptionLimitReached | 'unacceptable_request' | 'not_supported' | 'invalid_update_policy' | 'invalid_delete_policy';
116
+ errorCode: ServerError | NotLoggedInError | NotAuthorizedError | ValidatePublicRecordKeyFailure['errorCode'] | SetDataResult['errorCode'] | SubscriptionLimitReached | 'unacceptable_request' | 'not_supported' | 'invalid_update_policy' | 'invalid_delete_policy' | AuthorizeSubjectFailure['errorCode'];
111
117
  /**
112
118
  * The error message for the failure.
113
119
  */
@@ -116,6 +122,10 @@ export interface RecordDataFailure {
116
122
  * The reason for the error.
117
123
  */
118
124
  errorReason?: 'data_not_allowed' | 'too_many_items' | 'data_too_large';
125
+ /**
126
+ * The reason why the request was denied authorization.
127
+ */
128
+ reason?: DenialReason;
119
129
  /**
120
130
  * The issues with the request.
121
131
  */
@@ -182,7 +192,7 @@ export interface GetDataFailure {
182
192
  /**
183
193
  * The error code for the failure.
184
194
  */
185
- errorCode: ServerError | GetDataStoreResult['errorCode'] | AuthorizeDenied['errorCode'] | 'not_supported';
195
+ errorCode: ServerError | GetDataStoreResult['errorCode'] | AuthorizeSubjectFailure['errorCode'] | 'not_supported';
186
196
  /**
187
197
  * The error message for the failure.
188
198
  */
@@ -229,12 +239,42 @@ export interface EraseDataFailure {
229
239
  /**
230
240
  * The error code for the failure.
231
241
  */
232
- errorCode: ServerError | NotLoggedInError | NotAuthorizedError | EraseDataStoreResult['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'] | AuthorizeDenied['errorCode'];
242
+ errorCode: ServerError | NotLoggedInError | NotAuthorizedError | EraseDataStoreResult['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'];
233
243
  /**
234
244
  * The error message for the failure.
235
245
  */
236
246
  errorMessage: string;
237
247
  }
248
+ /**
249
+ * Defines an interface that represents the possible options in a list data request.
250
+ */
251
+ export interface ListDataByMarkerRequest {
252
+ /**
253
+ * The record key or name that should be used to list the data.
254
+ */
255
+ recordKeyOrName: string;
256
+ /**
257
+ * The ID of the user that is currently logged in.
258
+ */
259
+ userId: string;
260
+ /**
261
+ * The list of instances that are currently loaded.
262
+ */
263
+ instances?: string[];
264
+ /**
265
+ * The marker that the data should be filtered by.
266
+ */
267
+ marker: string;
268
+ /**
269
+ * The address that the listing should start after.
270
+ */
271
+ startingAddress: string | null;
272
+ /**
273
+ * The order that the data should be sorted in.
274
+ * Defaults to "ascending".
275
+ */
276
+ sort?: 'ascending' | 'descending';
277
+ }
238
278
  /**
239
279
  * The possible results of a list data request.
240
280
  *
@@ -266,10 +306,32 @@ export interface ListDataSuccess {
266
306
  * The total number of items in the record.
267
307
  */
268
308
  totalCount: number;
309
+ /**
310
+ * The marker that was listed.
311
+ * If null, then all markers are listed.
312
+ */
313
+ marker?: string;
269
314
  }
315
+ /**
316
+ * Defines an interface that represents a single item in a list data result.
317
+ *
318
+ * @dochash types/records/data
319
+ * @docgroup 04-list
320
+ * @order 2
321
+ * @docname ListedData
322
+ */
270
323
  export interface ListedData {
324
+ /**
325
+ * The data contained in the item.
326
+ */
271
327
  data: any;
328
+ /**
329
+ * The address that the data is stored at.
330
+ */
272
331
  address: string;
332
+ /**
333
+ * The markers that have been applied to the data.
334
+ */
273
335
  markers: string[];
274
336
  }
275
337
  /**
@@ -282,7 +344,7 @@ export interface ListedData {
282
344
  */
283
345
  export interface ListDataFailure {
284
346
  success: false;
285
- errorCode: ServerError | ListDataStoreFailure['errorCode'] | AuthorizeDenied['errorCode'] | 'not_supported';
347
+ errorCode: ServerError | ListDataStoreFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'] | 'not_supported';
286
348
  errorMessage: string;
287
349
  }
288
350
  //# sourceMappingURL=DataRecordsController.d.ts.map
@@ -8,9 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { doesSubjectMatchPolicy, isValidUserPolicy, } from './DataRecordsStore';
11
- import { returnAuthorizationResult, } from './PolicyController';
12
- import { PUBLIC_READ_MARKER, hasValue } from '@casual-simulation/aux-common';
13
- import { without } from 'lodash';
11
+ import { getMarkerResourcesForCreation, getMarkerResourcesForUpdate, } from './PolicyController';
12
+ import { ACCOUNT_MARKER, PUBLIC_READ_MARKER, hasValue, } from '@casual-simulation/aux-common';
14
13
  import { getSubscriptionFeatures } from './SubscriptionConfiguration';
15
14
  import { byteLengthOfString } from './Utils';
16
15
  import { z } from 'zod';
@@ -42,26 +41,17 @@ export class DataRecordsController {
42
41
  * @param instances The list of instances that are currently loaded.
43
42
  */
44
43
  recordData(recordKeyOrRecordName, address, data, subjectId, updatePolicy, deletePolicy, markers = null, instances = null) {
45
- var _a, _b;
44
+ var _a, _b, _c, _d;
46
45
  return __awaiter(this, void 0, void 0, function* () {
47
46
  try {
48
- const baseRequest = {
47
+ const contextResult = yield this._policies.constructAuthorizationContext({
49
48
  recordKeyOrRecordName,
50
49
  userId: subjectId,
51
- instances,
52
- };
53
- const result = yield this._policies.constructAuthorizationContext(baseRequest);
54
- // const result = await this._policies.authorizeRequest({
55
- // action: 'data.create',
56
- // recordKeyOrRecordName,
57
- // address: address,
58
- // userId: subjectId,
59
- // resourceMarkers,
60
- // });
61
- if (result.success === false) {
62
- return result;
50
+ });
51
+ if (contextResult.success === false) {
52
+ return contextResult;
63
53
  }
64
- const policy = result.context.subjectPolicy;
54
+ const policy = contextResult.context.subjectPolicy;
65
55
  if (!subjectId && policy !== 'subjectless') {
66
56
  return {
67
57
  success: false,
@@ -108,7 +98,7 @@ export class DataRecordsController {
108
98
  };
109
99
  }
110
100
  }
111
- const recordName = result.context.recordName;
101
+ const recordName = contextResult.context.recordName;
112
102
  const existingRecord = yield this._store.getData(recordName, address);
113
103
  if (existingRecord.success) {
114
104
  const existingUpdatePolicy = (_a = existingRecord.updatePolicy) !== null && _a !== void 0 ? _a : true;
@@ -120,30 +110,47 @@ export class DataRecordsController {
120
110
  };
121
111
  }
122
112
  }
123
- let request;
124
113
  let resourceMarkers;
125
114
  if (existingRecord.success) {
126
115
  const existingMarkers = (_b = existingRecord.markers) !== null && _b !== void 0 ? _b : [
127
116
  PUBLIC_READ_MARKER,
128
117
  ];
129
- const addedMarkers = markers
130
- ? without(markers, ...existingMarkers)
131
- : [];
132
- const removedMarkers = markers
133
- ? without(existingMarkers, ...markers)
134
- : [];
135
118
  resourceMarkers = markers !== null && markers !== void 0 ? markers : existingMarkers;
136
- request = Object.assign(Object.assign({ action: 'data.update' }, baseRequest), { address: address, existingMarkers,
137
- addedMarkers,
138
- removedMarkers });
119
+ const authorization = yield this._policies.authorizeUserAndInstancesForResources(contextResult.context, {
120
+ userId: subjectId,
121
+ instances,
122
+ resources: [
123
+ {
124
+ resourceKind: 'data',
125
+ resourceId: address,
126
+ action: 'update',
127
+ markers: resourceMarkers,
128
+ },
129
+ ...getMarkerResourcesForUpdate(existingMarkers, markers),
130
+ ],
131
+ });
132
+ if (authorization.success === false) {
133
+ return authorization;
134
+ }
139
135
  }
140
136
  else {
141
137
  resourceMarkers = markers !== null && markers !== void 0 ? markers : [PUBLIC_READ_MARKER];
142
- request = Object.assign(Object.assign({ action: 'data.create' }, baseRequest), { address: address, resourceMarkers: resourceMarkers });
143
- }
144
- const authorization = yield this._policies.authorizeRequestUsingContext(result.context, request);
145
- if (authorization.allowed === false) {
146
- return returnAuthorizationResult(authorization);
138
+ const authorization = yield this._policies.authorizeUserAndInstancesForResources(contextResult.context, {
139
+ userId: subjectId,
140
+ instances,
141
+ resources: [
142
+ {
143
+ resourceKind: 'data',
144
+ resourceId: address,
145
+ action: 'create',
146
+ markers: resourceMarkers,
147
+ },
148
+ ...getMarkerResourcesForCreation(resourceMarkers),
149
+ ],
150
+ });
151
+ if (authorization.success === false) {
152
+ return authorization;
153
+ }
147
154
  }
148
155
  const metricsResult = yield this._metrics.getSubscriptionDataMetricsByRecordName(recordName);
149
156
  const config = yield this._config.getSubscriptionConfiguration();
@@ -173,7 +180,7 @@ export class DataRecordsController {
173
180
  };
174
181
  }
175
182
  }
176
- if (request.action === 'data.create') {
183
+ if (!existingRecord.success) {
177
184
  // Check metrics
178
185
  if (features.data.maxItems > 0) {
179
186
  if (metricsResult.totalItems >= features.data.maxItems) {
@@ -186,7 +193,7 @@ export class DataRecordsController {
186
193
  }
187
194
  }
188
195
  }
189
- const result2 = yield this._store.setData(recordName, address, data, authorization.authorizerId, subjectId, updatePolicy, deletePolicy, resourceMarkers);
196
+ const result2 = yield this._store.setData(recordName, address, data, (_d = (_c = contextResult.context.recordKeyCreatorId) !== null && _c !== void 0 ? _c : subjectId) !== null && _d !== void 0 ? _d : contextResult.context.recordOwnerId, subjectId, updatePolicy, deletePolicy, resourceMarkers);
190
197
  if (result2.success === false) {
191
198
  return {
192
199
  success: false,
@@ -239,9 +246,16 @@ export class DataRecordsController {
239
246
  };
240
247
  }
241
248
  const markers = (_a = result.markers) !== null && _a !== void 0 ? _a : [PUBLIC_READ_MARKER];
242
- const authorization = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'data.read' }, baseRequest), { address, resourceMarkers: markers }));
243
- if (authorization.allowed === false) {
244
- return returnAuthorizationResult(authorization);
249
+ const authorization = yield this._policies.authorizeUserAndInstances(context.context, {
250
+ userId: userId,
251
+ instances,
252
+ resourceKind: 'data',
253
+ resourceId: address,
254
+ action: 'read',
255
+ markers: markers,
256
+ });
257
+ if (authorization.success === false) {
258
+ return authorization;
245
259
  }
246
260
  return {
247
261
  success: true,
@@ -283,6 +297,13 @@ export class DataRecordsController {
283
297
  if (context.success === false) {
284
298
  return context;
285
299
  }
300
+ const authorization = yield this._policies.authorizeUserAndInstances(context.context, {
301
+ userId,
302
+ instances,
303
+ resourceKind: 'data',
304
+ action: 'list',
305
+ markers: [ACCOUNT_MARKER],
306
+ });
286
307
  const result2 = yield this._store.listData(context.context.recordName, address);
287
308
  if (result2.success === false) {
288
309
  return {
@@ -291,20 +312,13 @@ export class DataRecordsController {
291
312
  errorMessage: result2.errorMessage,
292
313
  };
293
314
  }
294
- const authorizeResult = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'data.list' }, baseRequest), { dataItems: result2.items.map((i) => {
295
- var _a;
296
- return (Object.assign(Object.assign({}, i), { markers: (_a = i.markers) !== null && _a !== void 0 ? _a : [PUBLIC_READ_MARKER] }));
297
- }) }));
298
- if (authorizeResult.allowed === false) {
299
- return returnAuthorizationResult(authorizeResult);
300
- }
301
- if (!authorizeResult.allowedDataItems) {
302
- throw new Error('allowedDataItems is null!');
315
+ if (authorization.success === false) {
316
+ return authorization;
303
317
  }
304
318
  return {
305
319
  success: true,
306
320
  recordName: context.context.recordName,
307
- items: authorizeResult.allowedDataItems,
321
+ items: result2.items,
308
322
  totalCount: result2.totalCount,
309
323
  };
310
324
  }
@@ -318,6 +332,62 @@ export class DataRecordsController {
318
332
  }
319
333
  });
320
334
  }
335
+ /**
336
+ * Lists some data from the given record, filtered by the given marker and starting at the given address.
337
+ * @param request The request that should be used to list the data.
338
+ */
339
+ listDataByMarker(request) {
340
+ return __awaiter(this, void 0, void 0, function* () {
341
+ try {
342
+ const baseRequest = {
343
+ recordKeyOrRecordName: request.recordKeyOrName,
344
+ userId: request.userId,
345
+ };
346
+ const context = yield this._policies.constructAuthorizationContext(baseRequest);
347
+ if (context.success === false) {
348
+ return context;
349
+ }
350
+ const authorization = yield this._policies.authorizeUserAndInstances(context.context, {
351
+ userId: context.context.userId,
352
+ instances: request.instances,
353
+ resourceKind: 'data',
354
+ action: 'list',
355
+ markers: [request.marker],
356
+ });
357
+ const result2 = yield this._store.listDataByMarker({
358
+ recordName: context.context.recordName,
359
+ marker: request.marker,
360
+ startingAddress: request.startingAddress,
361
+ sort: request.sort,
362
+ });
363
+ if (result2.success === false) {
364
+ return {
365
+ success: false,
366
+ errorCode: result2.errorCode,
367
+ errorMessage: result2.errorMessage,
368
+ };
369
+ }
370
+ if (authorization.success === false) {
371
+ return authorization;
372
+ }
373
+ return {
374
+ success: true,
375
+ recordName: context.context.recordName,
376
+ items: result2.items,
377
+ totalCount: result2.totalCount,
378
+ marker: result2.marker,
379
+ };
380
+ }
381
+ catch (err) {
382
+ console.error('[DataRecordsController] An error occurred while listing data by marker:', err);
383
+ return {
384
+ success: false,
385
+ errorCode: 'server_error',
386
+ errorMessage: 'A server error occurred.',
387
+ };
388
+ }
389
+ });
390
+ }
321
391
  /**
322
392
  * Erases the data in the given record and address.
323
393
  * Uses the given record key to access the record and the given subject ID to determine if the user is allowed to access the record.
@@ -330,33 +400,10 @@ export class DataRecordsController {
330
400
  var _a, _b;
331
401
  return __awaiter(this, void 0, void 0, function* () {
332
402
  try {
333
- // const result = await this._manager.validatePublicRecordKey(
334
- // recordKey
335
- // );
336
- // if (result.success === false) {
337
- // return {
338
- // success: false,
339
- // errorCode: result.errorCode,
340
- // errorMessage: result.errorMessage,
341
- // };
342
- // }
343
- // if (!subjectId && result.policy !== 'subjectless') {
344
- // return {
345
- // success: false,
346
- // errorCode: 'not_logged_in',
347
- // errorMessage:
348
- // 'The user must be logged in in order to erase data using the provided record key.',
349
- // };
350
- // }
351
- // if (result.policy === 'subjectless') {
352
- // subjectId = null;
353
- // }
354
- const baseRequest = {
403
+ const context = yield this._policies.constructAuthorizationContext({
355
404
  recordKeyOrRecordName: recordKeyOrName,
356
405
  userId: subjectId,
357
- instances,
358
- };
359
- const context = yield this._policies.constructAuthorizationContext(baseRequest);
406
+ });
360
407
  if (context.success === false) {
361
408
  return context;
362
409
  }
@@ -376,14 +423,30 @@ export class DataRecordsController {
376
423
  const markers = (_a = (existingRecord.success
377
424
  ? existingRecord.markers
378
425
  : null)) !== null && _a !== void 0 ? _a : [PUBLIC_READ_MARKER];
379
- const authorization = yield this._policies.authorizeRequestUsingContext(context.context, Object.assign(Object.assign({ action: 'data.delete' }, baseRequest), { address, resourceMarkers: markers }));
380
- if (authorization.allowed === false) {
381
- return returnAuthorizationResult(authorization);
426
+ const authorization = yield this._policies.authorizeUserAndInstances(context.context, {
427
+ userId: subjectId,
428
+ instances,
429
+ resourceKind: 'data',
430
+ resourceId: address,
431
+ action: 'delete',
432
+ markers: markers,
433
+ });
434
+ // const authorization =
435
+ // await this._policies.authorizeRequestUsingContext(
436
+ // context.context,
437
+ // {
438
+ // action: 'data.delete',
439
+ // ...baseRequest,
440
+ // address,
441
+ // resourceMarkers: markers,
442
+ // }
443
+ // );
444
+ if (authorization.success === false) {
445
+ return authorization;
382
446
  }
383
447
  if (existingRecord.success) {
384
448
  const existingDeletePolicy = (_b = existingRecord.deletePolicy) !== null && _b !== void 0 ? _b : true;
385
449
  if (subjectId !== context.context.recordOwnerId &&
386
- subjectId !== authorization.recordKeyOwnerId &&
387
450
  !doesSubjectMatchPolicy(existingDeletePolicy, subjectId)) {
388
451
  return {
389
452
  success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"DataRecordsController.js","sourceRoot":"","sources":["DataRecordsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataRecordsController.js","sourceRoot":"","sources":["DataRecordsController.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,16 @@ export interface DataRecordsStore {
24
24
  /**
25
25
  * Lists data stored in the given record starting with the given address.
26
26
  * @param recordName The name of the record.
27
- * @param address The address so start listing items at.
27
+ * @param address The address to start listing items at.
28
28
  */
29
29
  listData(recordName: string, address: string | null): Promise<ListDataStoreResult>;
30
+ /**
31
+ * Lists data stored in the given record that has the given marker, starting with the given address.
32
+ * @param recordName The name of the record.
33
+ * @param marker The name of the marker.
34
+ * @param address The address to start listing items at.
35
+ */
36
+ listDataByMarker(request: ListDataStoreByMarkerRequest): Promise<ListDataStoreResult>;
30
37
  /**
31
38
  * Deletes the data stored in the given record and address.
32
39
  * @param recordName The name of the record that the data is in.
@@ -69,6 +76,7 @@ export interface ListDataStoreSuccess {
69
76
  success: true;
70
77
  items: ListedDataStoreItem[];
71
78
  totalCount: number;
79
+ marker: string;
72
80
  }
73
81
  export interface ListDataStoreFailure {
74
82
  success: false;
@@ -80,11 +88,37 @@ export interface ListedDataStoreItem {
80
88
  address: string;
81
89
  markers?: string[];
82
90
  }
91
+ export interface ListDataStoreByMarkerRequest {
92
+ /**
93
+ * The name of the record that the data is in.
94
+ */
95
+ recordName: string;
96
+ /**
97
+ * The marker that each item should have.
98
+ */
99
+ marker: string;
100
+ /**
101
+ * The address to start listing items at.
102
+ * If null, then the first item in the record should be returned.
103
+ */
104
+ startingAddress: string | null;
105
+ /**
106
+ * How the items should be sorted by address.
107
+ * "ascending": The items should be sorted in ascending order.
108
+ * "descending": The items should be sorted in descending order.
109
+ *
110
+ * Defaults to "ascending".
111
+ */
112
+ sort?: 'ascending' | 'descending';
113
+ }
83
114
  /**
84
115
  * Defines a type that represents a policy that indicates which users are allowed to affect a record.
85
116
  *
86
117
  * True indicates that any user can edit the record.
87
118
  * An array of strings indicates the list of users that are allowed to edit the record.
119
+ *
120
+ * @dochash types/records/data
121
+ * @docname UserPolicy
88
122
  */
89
123
  export type UserPolicy = true | string[] | null;
90
124
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DataRecordsStore.js","sourceRoot":"","sources":["DataRecordsStore.ts"],"names":[],"mappings":"AAsHA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;KACpD;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,MAAkB,EAClB,SAAiB;IAEjB,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;KAChD;AACL,CAAC"}
1
+ {"version":3,"file":"DataRecordsStore.js","sourceRoot":"","sources":["DataRecordsStore.ts"],"names":[],"mappings":"AA+JA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;KACpD;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,MAAkB,EAClB,SAAiB;IAEjB,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;KAChD;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AuthorizeDenied, PolicyController } from './PolicyController';
1
+ import { AuthorizeSubjectFailure, PolicyController } from './PolicyController';
2
2
  import { NotLoggedInError, NotSupportedError, ServerError } from '@casual-simulation/aux-common/Errors';
3
3
  import { EventRecordsStore, AddEventCountStoreFailure, GetEventCountStoreFailure } from './EventRecordsStore';
4
4
  import { ValidatePublicRecordKeyFailure } from './RecordsController';
@@ -95,7 +95,7 @@ export interface AddCountFailure {
95
95
  /**
96
96
  * The error code that indicates why the request failed.
97
97
  */
98
- errorCode: ServerError | NotLoggedInError | ValidatePublicRecordKeyFailure['errorCode'] | AddEventCountStoreFailure['errorCode'] | AuthorizeDenied['errorCode'] | 'not_supported';
98
+ errorCode: ServerError | NotLoggedInError | ValidatePublicRecordKeyFailure['errorCode'] | AddEventCountStoreFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'] | 'not_supported';
99
99
  /**
100
100
  * The error message that indicates why the request failed.
101
101
  */
@@ -150,7 +150,7 @@ export interface GetCountFailure {
150
150
  /**
151
151
  * The error code that indicates why the request failed.
152
152
  */
153
- errorCode: ServerError | GetEventCountStoreFailure['errorCode'] | AuthorizeDenied['errorCode'] | 'not_supported';
153
+ errorCode: ServerError | GetEventCountStoreFailure['errorCode'] | AuthorizeSubjectFailure['errorCode'] | 'not_supported';
154
154
  /**
155
155
  * The error message that indicates why the request failed.
156
156
  */
@@ -223,7 +223,7 @@ export interface UpdateEventRecordSuccess {
223
223
  */
224
224
  export interface UpdateEventRecordFailure {
225
225
  success: false;
226
- errorCode: ServerError | AuthorizeDenied['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'];
226
+ errorCode: ServerError | AuthorizeSubjectFailure['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'];
227
227
  errorMessage: string;
228
228
  }
229
229
  export type ListEventsResult = ListEventsSuccess | ListEventsFailure;
@@ -234,7 +234,7 @@ export interface ListEventsSuccess {
234
234
  }
235
235
  export interface ListEventsFailure {
236
236
  success: false;
237
- errorCode: ServerError | NotSupportedError | AuthorizeDenied['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'];
237
+ errorCode: ServerError | NotSupportedError | AuthorizeSubjectFailure['errorCode'] | ValidatePublicRecordKeyFailure['errorCode'];
238
238
  errorMessage: string;
239
239
  }
240
240
  export interface ListedEvent {