@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
package/MemoryStore.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { RegexRule } from './Utils';
2
2
  import { AddressType, AuthInvoice, AuthLoginRequest, AuthOpenIDLoginRequest, AuthSession, AuthStore, AuthSubscription, AuthSubscriptionPeriod, AuthUser, ListSessionsDataResult, SaveNewUserResult, UpdateSubscriptionInfoRequest, UpdateSubscriptionPeriodRequest } from './AuthStore';
3
3
  import { ListStudioAssignmentFilters, ListedStudioAssignment, ListedUserAssignment, RecordsStore, Studio, Record, RecordKey, StudioAssignment, CountRecordsFilter, ListedRecord, StoreListedStudio, StudioComIdRequest } from './RecordsStore';
4
- import { DataRecordsStore, EraseDataStoreResult, GetDataStoreResult, ListDataStoreResult, SetDataResult, UserPolicy } from './DataRecordsStore';
4
+ import { DataRecordsStore, EraseDataStoreResult, GetDataStoreResult, ListDataStoreByMarkerRequest, ListDataStoreResult, SetDataResult, UserPolicy } from './DataRecordsStore';
5
5
  import { AddFileResult, EraseFileStoreResult, FileRecordsStore, GetFileNameFromUrlResult, GetFileRecordResult, ListFilesStoreResult, MarkFileRecordAsUploadedResult, PresignFileReadRequest, PresignFileReadResult, PresignFileUploadRequest, PresignFileUploadResult, UpdateFileResult } from './FileRecordsStore';
6
6
  import { AddEventCountStoreResult, EventRecordUpdate, EventRecordsStore, GetEventCountStoreResult, ListEventsStoreResult, UpdateEventResult } from './EventRecordsStore';
7
- import { AssignedRole, GetUserPolicyResult, ListMarkerPoliciesResult, ListUserPoliciesStoreResult, ListedRoleAssignments, PolicyStore, UpdateRolesUpdate, UpdateUserPolicyResult, UpdateUserRolesResult, UserPolicyRecord } from './PolicyStore';
8
- import { PolicyDocument } from '@casual-simulation/aux-common';
7
+ import { AssignPermissionToSubjectAndMarkerResult, AssignPermissionToSubjectAndResourceResult, AssignedRole, DeletePermissionAssignmentResult, GetMarkerPermissionResult, GetResourcePermissionResult, ListPermissionsInRecordResult, ListedRoleAssignments, MarkerPermissionAssignment, PolicyStore, ResourcePermissionAssignment, UpdateUserRolesResult } from './PolicyStore';
8
+ import { ActionKinds, PermissionOptions, ResourceKinds, SubjectType, PrivacyFeatures } from '@casual-simulation/aux-common';
9
9
  import { AIChatMetrics, AIImageMetrics, AISkyboxMetrics, AIChatSubscriptionMetrics, DataSubscriptionMetrics, EventSubscriptionMetrics, FileSubscriptionMetrics, MetricsStore, RecordSubscriptionMetrics, SubscriptionFilter, AIImageSubscriptionMetrics, AISkyboxSubscriptionMetrics, InstSubscriptionMetrics } from './MetricsStore';
10
10
  import { ConfigurationStore } from './ConfigurationStore';
11
11
  import { SubscriptionConfiguration } from './SubscriptionConfiguration';
@@ -47,15 +47,10 @@ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecords
47
47
  private _moderationConfiguration;
48
48
  private _recordNotifications;
49
49
  private _comIdRequests;
50
+ private _resourcePermissionAssignments;
51
+ private _markerPermissionAssignments;
50
52
  maxAllowedInstSize: number;
51
- policies: {
52
- [recordName: string]: {
53
- [marker: string]: {
54
- document: PolicyDocument;
55
- markers: string[];
56
- };
57
- };
58
- };
53
+ policies: any;
59
54
  roles: {
60
55
  [recordName: string]: {
61
56
  [userId: string]: Set<string>;
@@ -89,6 +84,11 @@ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecords
89
84
  get recordsNotifications(): RecordsNotification[];
90
85
  get comIdRequests(): StudioComIdRequest[];
91
86
  constructor(config: MemoryConfiguration);
87
+ /**
88
+ * Constructs a deep clone of this memory store.
89
+ * Effectively copies all the data in the store into a new one.
90
+ */
91
+ clone(): MemoryStore;
92
92
  saveComIdRequest(request: StudioComIdRequest): Promise<void>;
93
93
  getStudioByComId(comId: string): Promise<Studio>;
94
94
  listStudiosForUserAndComId(userId: string, comId: string): Promise<StoreListedStudio[]>;
@@ -120,6 +120,22 @@ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecords
120
120
  updateStudioAssignment(assignment: StudioAssignment): Promise<void>;
121
121
  listStudioAssignments(studioId: string, filters?: ListStudioAssignmentFilters): Promise<ListedStudioAssignment[]>;
122
122
  listUserAssignments(userId: string): Promise<ListedUserAssignment[]>;
123
+ getUserPrivacyFeatures(userId: string): Promise<PrivacyFeatures>;
124
+ getRecordOwnerPrivacyFeatures(recordName: string): Promise<PrivacyFeatures>;
125
+ getPermissionForSubjectAndResource(subjectType: SubjectType, subjectId: string, recordName: string, resourceKind: ResourceKinds, resourceId: string, action: ActionKinds, currentTimeMs: number): Promise<GetResourcePermissionResult>;
126
+ getPermissionForSubjectAndMarkers(subjectType: SubjectType, subjectId: string, recordName: string, resourceKind: ResourceKinds, markers: string[], action: ActionKinds, currentTimeMs: number): Promise<GetMarkerPermissionResult>;
127
+ assignPermissionToSubjectAndResource(recordName: string, subjectType: SubjectType, subjectId: string, resourceKind: ResourceKinds, resourceId: string, action: ActionKinds | null, options: PermissionOptions, expireTimeMs: number | null): Promise<AssignPermissionToSubjectAndResourceResult>;
128
+ assignPermissionToSubjectAndMarker(recordName: string, subjectType: SubjectType, subjectId: string, resourceKind: ResourceKinds, marker: string, action: ActionKinds, options: PermissionOptions, expireTimeMs: number | null): Promise<AssignPermissionToSubjectAndMarkerResult>;
129
+ getMarkerPermissionAssignmentById(id: string): Promise<MarkerPermissionAssignment>;
130
+ getResourcePermissionAssignmentById(id: string): Promise<ResourcePermissionAssignment>;
131
+ deleteResourcePermissionAssignment(assigment: ResourcePermissionAssignment): Promise<DeletePermissionAssignmentResult>;
132
+ deleteResourcePermissionAssignmentById(id: string): Promise<DeletePermissionAssignmentResult>;
133
+ deleteMarkerPermissionAssignment(assigment: MarkerPermissionAssignment): Promise<DeletePermissionAssignmentResult>;
134
+ deleteMarkerPermissionAssignmentById(id: string): Promise<DeletePermissionAssignmentResult>;
135
+ listPermissionsInRecord(recordName: string): Promise<ListPermissionsInRecordResult>;
136
+ listPermissionsForResource(recordName: string, resourceKind: ResourceKinds, resourceId: string): Promise<ResourcePermissionAssignment[]>;
137
+ listPermissionsForMarker(recordName: string, marker: string): Promise<MarkerPermissionAssignment[]>;
138
+ listPermissionsForSubject(recordName: string, subjectType: SubjectType, subjectId: string): Promise<ListPermissionsInRecordResult>;
123
139
  countRecords(filter: CountRecordsFilter): Promise<number>;
124
140
  saveUser(user: AuthUser): Promise<void>;
125
141
  saveNewUser(user: AuthUser): Promise<SaveNewUserResult>;
@@ -159,6 +175,7 @@ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecords
159
175
  getData(recordName: string, address: string): Promise<GetDataStoreResult>;
160
176
  eraseData(recordName: string, address: string): Promise<EraseDataStoreResult>;
161
177
  listData(recordName: string, address: string): Promise<ListDataStoreResult>;
178
+ listDataByMarker(request: ListDataStoreByMarkerRequest): Promise<ListDataStoreResult>;
162
179
  private _getDataRecord;
163
180
  presignFileUpload(request: PresignFileUploadRequest): Promise<PresignFileUploadResult>;
164
181
  presignFileRead(request: PresignFileReadRequest): Promise<PresignFileReadResult>;
@@ -175,10 +192,6 @@ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecords
175
192
  updateEvent(recordName: string, eventName: string, updates: EventRecordUpdate): Promise<UpdateEventResult>;
176
193
  listEvents(recordName: string, eventName: string): Promise<ListEventsStoreResult>;
177
194
  private _getEventRecord;
178
- listUserPolicies(recordName: string, startingMarker: string): Promise<ListUserPoliciesStoreResult>;
179
- getUserPolicy(recordName: string, marker: string): Promise<GetUserPolicyResult>;
180
- updateUserPolicy(recordName: string, marker: string, policy: UserPolicyRecord): Promise<UpdateUserPolicyResult>;
181
- listPoliciesForMarkerAndUser(recordName: string, userId: string, marker: string): Promise<ListMarkerPoliciesResult>;
182
195
  private _getRecordOwnerPrivacyFeatures;
183
196
  private _getUserPrivacyFeatures;
184
197
  listRolesForUser(recordName: string, userId: string): Promise<AssignedRole[]>;
@@ -187,8 +200,6 @@ export declare class MemoryStore implements AuthStore, RecordsStore, DataRecords
187
200
  listAssignments(recordName: string, startingRole: string): Promise<ListedRoleAssignments>;
188
201
  assignSubjectRole(recordName: string, subjectId: string, type: 'user' | 'inst', role: AssignedRole): Promise<UpdateUserRolesResult>;
189
202
  revokeSubjectRole(recordName: string, subjectId: string, type: 'user' | 'inst', role: string): Promise<UpdateUserRolesResult>;
190
- updateUserRoles(recordName: string, userId: string, update: UpdateRolesUpdate): Promise<UpdateUserRolesResult>;
191
- updateInstRoles(recordName: string, inst: string, update: UpdateRolesUpdate): Promise<UpdateUserRolesResult>;
192
203
  private _getRolesForEntity;
193
204
  getSubscriptionDataMetricsByRecordName(recordName: string): Promise<DataSubscriptionMetrics>;
194
205
  getSubscriptionFileMetricsByRecordName(recordName: string): Promise<FileSubscriptionMetrics>;