@casual-simulation/aux-records 3.2.3 → 3.2.4-alpha.5940763320

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 (79) hide show
  1. package/AIChatInterface.d.ts +8 -0
  2. package/AIChatInterface.js.map +1 -1
  3. package/AIController.d.ts +10 -4
  4. package/AIController.js +112 -3
  5. package/AIController.js.map +1 -1
  6. package/AuthController.d.ts +4 -8
  7. package/AuthController.js +39 -45
  8. package/AuthController.js.map +1 -1
  9. package/AuthStore.d.ts +236 -4
  10. package/ConfigurationStore.d.ts +12 -0
  11. package/ConfigurationStore.js +2 -0
  12. package/ConfigurationStore.js.map +1 -0
  13. package/DataRecordsController.d.ts +18 -6
  14. package/DataRecordsController.js +31 -5
  15. package/DataRecordsController.js.map +1 -1
  16. package/Errors.d.ts +4 -0
  17. package/EventRecordsController.d.ts +12 -3
  18. package/EventRecordsController.js +27 -5
  19. package/EventRecordsController.js.map +1 -1
  20. package/FileRecordsController.d.ts +13 -3
  21. package/FileRecordsController.js +46 -9
  22. package/FileRecordsController.js.map +1 -1
  23. package/MemoryFileRecordsLookup.d.ts +11 -0
  24. package/MemoryFileRecordsLookup.js +128 -0
  25. package/MemoryFileRecordsLookup.js.map +1 -0
  26. package/MemoryStore.d.ts +191 -0
  27. package/MemoryStore.js +1381 -0
  28. package/MemoryStore.js.map +1 -0
  29. package/MetricsStore.d.ts +186 -0
  30. package/MetricsStore.js +2 -0
  31. package/MetricsStore.js.map +1 -0
  32. package/OpenAIChatInterface.js +1 -0
  33. package/OpenAIChatInterface.js.map +1 -1
  34. package/PolicyController.d.ts +7 -4
  35. package/PolicyController.js +33 -8
  36. package/PolicyController.js.map +1 -1
  37. package/RecordsController.d.ts +185 -7
  38. package/RecordsController.js +588 -70
  39. package/RecordsController.js.map +1 -1
  40. package/RecordsHttpServer.d.ts +8 -0
  41. package/RecordsHttpServer.js +450 -8
  42. package/RecordsHttpServer.js.map +1 -1
  43. package/RecordsStore.d.ts +263 -5
  44. package/StripeInterface.d.ts +331 -0
  45. package/StripeInterface.js +37 -1
  46. package/StripeInterface.js.map +1 -1
  47. package/SubscriptionConfiguration.d.ts +2523 -33
  48. package/SubscriptionConfiguration.js +130 -1
  49. package/SubscriptionConfiguration.js.map +1 -1
  50. package/SubscriptionController.d.ts +23 -6
  51. package/SubscriptionController.js +344 -69
  52. package/SubscriptionController.js.map +1 -1
  53. package/TestUtils.d.ts +7 -6
  54. package/TestUtils.js +28 -14
  55. package/TestUtils.js.map +1 -1
  56. package/Utils.js +9 -0
  57. package/Utils.js.map +1 -1
  58. package/index.d.ts +5 -4
  59. package/index.js +5 -4
  60. package/index.js.map +1 -1
  61. package/package.json +2 -2
  62. package/MemoryAuthStore.d.ts +0 -33
  63. package/MemoryAuthStore.js +0 -186
  64. package/MemoryAuthStore.js.map +0 -1
  65. package/MemoryDataRecordsStore.d.ts +0 -10
  66. package/MemoryDataRecordsStore.js +0 -98
  67. package/MemoryDataRecordsStore.js.map +0 -1
  68. package/MemoryEventRecordsStore.d.ts +0 -10
  69. package/MemoryEventRecordsStore.js +0 -89
  70. package/MemoryEventRecordsStore.js.map +0 -1
  71. package/MemoryFileRecordsStore.d.ts +0 -25
  72. package/MemoryFileRecordsStore.js +0 -310
  73. package/MemoryFileRecordsStore.js.map +0 -1
  74. package/MemoryPolicyStore.d.ts +0 -43
  75. package/MemoryPolicyStore.js +0 -255
  76. package/MemoryPolicyStore.js.map +0 -1
  77. package/MemoryRecordsStore.d.ts +0 -13
  78. package/MemoryRecordsStore.js +0 -67
  79. package/MemoryRecordsStore.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryStore.js","sourceRoot":"","sources":["MemoryStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Defines an interface for services that are able to store and retrieve metrics about records and subscriptions.
3
+ */
4
+ export interface MetricsStore {
5
+ /**
6
+ * Gets the data metrics for the subscription of the given record.
7
+ * @param recordName The name of the record.
8
+ */
9
+ getSubscriptionDataMetricsByRecordName(recordName: string): Promise<DataSubscriptionMetrics>;
10
+ /**
11
+ * Gets the file metrics for the subscription of the given record.
12
+ * @param recordName The name of the record.
13
+ */
14
+ getSubscriptionFileMetricsByRecordName(recordName: string): Promise<FileSubscriptionMetrics>;
15
+ /**
16
+ * Gets the event metrics for the subscription of the given record.
17
+ * @param recordName The name of the record.
18
+ */
19
+ getSubscriptionEventMetricsByRecordName(recordName: string): Promise<EventSubscriptionMetrics>;
20
+ /**
21
+ * Gets the record metrics for the given user/studio.
22
+ * @param filter The filter.
23
+ */
24
+ getSubscriptionRecordMetrics(filter: SubscriptionFilter): Promise<RecordSubscriptionMetrics>;
25
+ /**
26
+ * Gets the AI Chat metrics for the given user/studio.
27
+ * @param filter The filter.
28
+ */
29
+ getSubscriptionAiChatMetrics(filter: SubscriptionFilter): Promise<AIChatSubscriptionMetrics>;
30
+ /**
31
+ * Saves the given AI Chat metrics.
32
+ */
33
+ recordChatMetrics(metrics: AIChatMetrics): Promise<void>;
34
+ /**
35
+ * Gets the AI Image metrics for the given user/studio.
36
+ * @param filter The filter.
37
+ */
38
+ getSubscriptionAiImageMetrics(filter: SubscriptionFilter): Promise<AIImageSubscriptionMetrics>;
39
+ /**
40
+ * Saves the given AI Image metrics.
41
+ */
42
+ recordImageMetrics(metrics: AIImageMetrics): Promise<void>;
43
+ /**
44
+ * Gets the AI Image metrics for the given user/studio.
45
+ * @param filter The filter.
46
+ */
47
+ getSubscriptionAiSkyboxMetrics(filter: SubscriptionFilter): Promise<AISkyboxSubscriptionMetrics>;
48
+ /**
49
+ * Saves the given AI Skybox metrics.
50
+ */
51
+ recordSkyboxMetrics(metrics: AISkyboxMetrics): Promise<void>;
52
+ }
53
+ export interface SubscriptionMetrics {
54
+ recordName?: string;
55
+ userId?: string;
56
+ ownerId: string;
57
+ studioId: string;
58
+ /**
59
+ * The status of the subscription.
60
+ */
61
+ subscriptionStatus: string;
62
+ /**
63
+ * The ID of the subscription.
64
+ */
65
+ subscriptionId: string;
66
+ /**
67
+ * The unix time in miliseconds of the start of the current subscription period.
68
+ */
69
+ currentPeriodStartMs: number | null;
70
+ /**
71
+ * The unix time in miliseconds of the end of the current subscription period.
72
+ */
73
+ currentPeriodEndMs: number | null;
74
+ }
75
+ export interface DataSubscriptionMetrics extends SubscriptionMetrics {
76
+ /**
77
+ * The total number of data items stored in the subscription.
78
+ */
79
+ totalItems: number;
80
+ }
81
+ export interface FileSubscriptionMetrics extends SubscriptionMetrics {
82
+ /**
83
+ * The total number of file items stored in the subscription.
84
+ */
85
+ totalFiles: number;
86
+ /**
87
+ * The total number of file bytes that have been reserved in the subscription.
88
+ */
89
+ totalFileBytesReserved: number;
90
+ }
91
+ export interface EventSubscriptionMetrics extends SubscriptionMetrics {
92
+ /**
93
+ * The total number of events names stored in the subscription.
94
+ */
95
+ totalEventNames: number;
96
+ }
97
+ export interface RecordSubscriptionMetrics extends SubscriptionMetrics {
98
+ /**
99
+ * The total number of records stored in the subscription.
100
+ */
101
+ totalRecords: number;
102
+ }
103
+ export interface SubscriptionFilter {
104
+ /**
105
+ * The ID of the user that owns the subscription.
106
+ */
107
+ ownerId?: string;
108
+ /**
109
+ * The ID of the studio that owns the subscription.
110
+ */
111
+ studioId?: string;
112
+ }
113
+ export interface AIChatSubscriptionMetrics extends SubscriptionMetrics {
114
+ /**
115
+ * The total number of tokens that have been used for the current period.
116
+ */
117
+ totalTokensInCurrentPeriod: number;
118
+ }
119
+ export interface AIImageSubscriptionMetrics extends SubscriptionMetrics {
120
+ /**
121
+ * The total number of pixels that have been generated for the current period.
122
+ */
123
+ totalSquarePixelsInCurrentPeriod: number;
124
+ }
125
+ export interface AISkyboxSubscriptionMetrics extends SubscriptionMetrics {
126
+ /**
127
+ * The total number of skyboxes that have been generated for the current period.
128
+ */
129
+ totalSkyboxesInCurrentPeriod: number;
130
+ }
131
+ export interface AIChatMetrics {
132
+ /**
133
+ * The ID of the user that the metrics are for.
134
+ */
135
+ userId?: string;
136
+ /**
137
+ * The ID of the studio that the metrics are for.
138
+ */
139
+ studioId?: string;
140
+ /**
141
+ * The number of tokens that have been used.
142
+ */
143
+ tokens: number;
144
+ /**
145
+ * The unix time in miliseconds of when the metrics were created.
146
+ */
147
+ createdAtMs: number;
148
+ }
149
+ export interface AIImageMetrics {
150
+ /**
151
+ * The ID of the user that the metrics are for.
152
+ */
153
+ userId?: string;
154
+ /**
155
+ * The ID of the studio that the metrics are for.
156
+ */
157
+ studioId?: string;
158
+ /**
159
+ * The number of square pixels that have been used.
160
+ * This is the number of pixels squared.
161
+ */
162
+ squarePixels: number;
163
+ /**
164
+ * The unix time in miliseconds of when the metrics were created.
165
+ */
166
+ createdAtMs: number;
167
+ }
168
+ export interface AISkyboxMetrics {
169
+ /**
170
+ * The ID of the user that the metrics are for.
171
+ */
172
+ userId?: string;
173
+ /**
174
+ * The ID of the studio that the metrics are for.
175
+ */
176
+ studioId?: string;
177
+ /**
178
+ * The number of skyboxes that have been used.
179
+ */
180
+ skyboxes: number;
181
+ /**
182
+ * The unix time in miliseconds of when the metrics were created.
183
+ */
184
+ createdAtMs: number;
185
+ }
186
+ //# sourceMappingURL=MetricsStore.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MetricsStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricsStore.js","sourceRoot":"","sources":["MetricsStore.ts"],"names":[],"mappings":""}
@@ -47,6 +47,7 @@ export class OpenAIChatInterface {
47
47
  }));
48
48
  return {
49
49
  choices: choices,
50
+ totalTokens: result.data.usage.total_tokens,
50
51
  };
51
52
  });
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIChatInterface.js","sourceRoot":"","sources":["OpenAIChatInterface.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAG5B,YAAY,OAA0B;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEK,IAAI,CACN,OAA+B;;YAE/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC3B,4CAA4C,EAC5C;gBACI,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,MAAM;oBACd,aAAa,EAAE,CAAC,CAAC,YAAY;iBAChC,CAAC,CAAC;gBACH,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,gBAAgB,EAAE,OAAO,CAAC,eAAe;gBACzC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;gBAC3C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACnC,IAAI,EAAE,OAAO,CAAC,SAAS;gBACvB,IAAI,EAAE,OAAO,CAAC,MAAM;aACvB,EACD;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;iBAClD;aACJ,CACJ,CAAC;YAEF,OAAO,CAAC,GAAG,CACP,0BAA0B,OAAO,CAAC,MAAM,2BAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CACtG,CAAC;YAEF,IAAI,OAAO,GAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAClD,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;gBAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;gBACtB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;gBACrC,YAAY,EAAE,CAAC,CAAC,YAAY;aAC/B,CAAC,CACL,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,OAAO;aACnB,CAAC;QACN,CAAC;KAAA;CACJ"}
1
+ {"version":3,"file":"OpenAIChatInterface.js","sourceRoot":"","sources":["OpenAIChatInterface.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAG5B,YAAY,OAA0B;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEK,IAAI,CACN,OAA+B;;YAE/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC3B,4CAA4C,EAC5C;gBACI,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,MAAM;oBACd,aAAa,EAAE,CAAC,CAAC,YAAY;iBAChC,CAAC,CAAC;gBACH,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,gBAAgB,EAAE,OAAO,CAAC,eAAe;gBACzC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;gBAC3C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACnC,IAAI,EAAE,OAAO,CAAC,SAAS;gBACvB,IAAI,EAAE,OAAO,CAAC,MAAM;aACvB,EACD;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;iBAClD;aACJ,CACJ,CAAC;YAEF,OAAO,CAAC,GAAG,CACP,0BAA0B,OAAO,CAAC,MAAM,2BAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CACtG,CAAC;YAEF,IAAI,OAAO,GAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAClD,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;gBAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;gBACtB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;gBACrC,YAAY,EAAE,CAAC,CAAC,YAAY;aAC/B,CAAC,CACL,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;aAC9C,CAAC;QACN,CAAC;KAAA;CACJ"}
@@ -1,8 +1,8 @@
1
1
  import { AuthController } from './AuthController';
2
2
  import { RecordsController, ValidatePublicRecordKeyFailure, ValidatePublicRecordKeyResult } from './RecordsController';
3
- import { NotSupportedError, ServerError } from './Errors';
3
+ import { NotSupportedError, ServerError, SubscriptionLimitReached } from './Errors';
4
4
  import { AvailablePermissions, PolicyDocument } from './PolicyPermissions';
5
- import { PublicRecordKeyPolicy } from './RecordsStore';
5
+ import { ListedStudioAssignment, PublicRecordKeyPolicy } from './RecordsStore';
6
6
  import { AssignedRole, GetUserPolicyFailure, ListedUserPolicy, PolicyStore, RoleAssignment, UpdateUserPolicyFailure, UpdateUserRolesFailure } from './PolicyStore';
7
7
  /**
8
8
  * The maximum number of instances that can be authorized at once.
@@ -205,6 +205,7 @@ export declare class PolicyController {
205
205
  private _byFile;
206
206
  private _byEvent;
207
207
  private _byRecordOwner;
208
+ private _byStudioRole;
208
209
  private _byEveryoneRole;
209
210
  private _byAdminRole;
210
211
  private _bySubjectRole;
@@ -243,7 +244,7 @@ export interface ConstructAuthorizationContextSuccess {
243
244
  }
244
245
  export interface ConstructAuthorizationContextFailure {
245
246
  success: false;
246
- errorCode: ValidatePublicRecordKeyFailure['errorCode'];
247
+ errorCode: ValidatePublicRecordKeyFailure['errorCode'] | 'not_authorized' | SubscriptionLimitReached | ServerError;
247
248
  errorMessage: string;
248
249
  }
249
250
  export interface AuthorizationContext {
@@ -251,6 +252,8 @@ export interface AuthorizationContext {
251
252
  recordKeyProvided: boolean;
252
253
  recordName: string;
253
254
  recordOwnerId: string;
255
+ recordStudioId: string;
256
+ recordStudioMembers?: ListedStudioAssignment[];
254
257
  subjectPolicy: PublicRecordKeyPolicy;
255
258
  }
256
259
  export interface RolesContext<T extends AuthorizeRequestBase> extends AuthorizationContext {
@@ -678,7 +681,7 @@ export interface NotRequiredInst {
678
681
  }
679
682
  export interface AuthorizeDenied {
680
683
  allowed: false;
681
- errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | 'action_not_supported' | 'not_logged_in' | 'not_authorized' | 'unacceptable_request';
684
+ errorCode: ServerError | ValidatePublicRecordKeyFailure['errorCode'] | 'action_not_supported' | 'not_logged_in' | 'not_authorized' | SubscriptionLimitReached | 'unacceptable_request';
682
685
  errorMessage: string;
683
686
  /**
684
687
  * The reason that the authorization was denied.
@@ -68,6 +68,8 @@ export class PolicyController {
68
68
  let recordKeyResult = null;
69
69
  let recordName;
70
70
  let ownerId;
71
+ let studioId;
72
+ let studioMembers = undefined;
71
73
  const recordKeyProvided = isRecordKey(request.recordKeyOrRecordName);
72
74
  if (recordKeyProvided) {
73
75
  recordKeyResult = yield this._records.validatePublicRecordKey(request.recordKeyOrRecordName);
@@ -94,6 +96,8 @@ export class PolicyController {
94
96
  }
95
97
  recordName = result.recordName;
96
98
  ownerId = result.ownerId;
99
+ studioId = result.studioId;
100
+ studioMembers = result.studioMembers;
97
101
  }
98
102
  const subjectPolicy = !!recordKeyResult && recordKeyResult.success
99
103
  ? recordKeyResult.policy
@@ -104,6 +108,8 @@ export class PolicyController {
104
108
  subjectPolicy,
105
109
  recordKeyProvided,
106
110
  recordOwnerId: ownerId,
111
+ recordStudioId: studioId,
112
+ recordStudioMembers: studioMembers,
107
113
  };
108
114
  return {
109
115
  success: true,
@@ -1927,7 +1933,7 @@ export class PolicyController {
1927
1933
  let denialReason;
1928
1934
  for (let marker of context.markers) {
1929
1935
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byPolicy('policy.grantPermission', context.request.policy), role === null
1930
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
1936
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
1931
1937
  : this._byRole(role)));
1932
1938
  if (!actionPermission) {
1933
1939
  denialReason = {
@@ -1983,7 +1989,7 @@ export class PolicyController {
1983
1989
  let denialReason;
1984
1990
  for (let marker of context.markers) {
1985
1991
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byPolicy('policy.revokePermission', context.request.policy), role === null
1986
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
1992
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
1987
1993
  : this._byRole(role)));
1988
1994
  if (!actionPermission) {
1989
1995
  denialReason = {
@@ -2039,7 +2045,7 @@ export class PolicyController {
2039
2045
  let denialReason;
2040
2046
  for (let marker of context.markers) {
2041
2047
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byPolicy('policy.read', context.request.policy), role === null
2042
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
2048
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
2043
2049
  : this._byRole(role)));
2044
2050
  if (!actionPermission) {
2045
2051
  denialReason = {
@@ -2095,7 +2101,7 @@ export class PolicyController {
2095
2101
  let denialReason;
2096
2102
  for (let marker of context.markers) {
2097
2103
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byPolicyList('policy.list'), role === null
2098
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
2104
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
2099
2105
  : this._byRole(role)));
2100
2106
  if (!actionPermission) {
2101
2107
  denialReason = {
@@ -2151,7 +2157,7 @@ export class PolicyController {
2151
2157
  let denialReason;
2152
2158
  for (let marker of context.markers) {
2153
2159
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byRoleList('role.list'), role === null
2154
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
2160
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
2155
2161
  : this._byRole(role)));
2156
2162
  if (!actionPermission) {
2157
2163
  denialReason = {
@@ -2207,7 +2213,7 @@ export class PolicyController {
2207
2213
  let denialReason;
2208
2214
  for (let marker of context.markers) {
2209
2215
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byRolePermission('role.read', context.request.role), role === null
2210
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
2216
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
2211
2217
  : this._byRole(role)));
2212
2218
  if (!actionPermission) {
2213
2219
  denialReason = {
@@ -2264,7 +2270,7 @@ export class PolicyController {
2264
2270
  const durationMs = getExpireTime(context.request.expireTimeMs) - Date.now();
2265
2271
  for (let marker of context.markers) {
2266
2272
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byRoleGrant('role.grant', context.request.role, context.request.targetUserId, context.request.targetInstance, durationMs), role === null
2267
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
2273
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
2268
2274
  : this._byRole(role)));
2269
2275
  if (!actionPermission) {
2270
2276
  denialReason = {
@@ -2320,7 +2326,7 @@ export class PolicyController {
2320
2326
  let denialReason;
2321
2327
  for (let marker of context.markers) {
2322
2328
  const actionPermission = yield this._findPermissionByFilter(marker.permissions, this._every(this._byRoleRevoke('role.revoke', context.request.role, context.request.targetUserId, context.request.targetInstance), role === null
2323
- ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id))
2329
+ ? this._some(this._byEveryoneRole(), this._bySubjectRole(context, type, context.recordName, id), this._byRecordOwner(context, type, id), this._byStudioRole(context, type, id, 'admin'))
2324
2330
  : this._byRole(role)));
2325
2331
  if (!actionPermission) {
2326
2332
  denialReason = {
@@ -2582,6 +2588,22 @@ export class PolicyController {
2582
2588
  }
2583
2589
  return () => __awaiter(this, void 0, void 0, function* () { return false; });
2584
2590
  }
2591
+ _byStudioRole(context, subjectType, id, role) {
2592
+ if (subjectType === 'inst') {
2593
+ return () => __awaiter(this, void 0, void 0, function* () { return false; });
2594
+ }
2595
+ if (!context.recordStudioId ||
2596
+ !context.recordStudioMembers ||
2597
+ context.recordStudioMembers.length <= 0) {
2598
+ return () => __awaiter(this, void 0, void 0, function* () { return false; });
2599
+ }
2600
+ if (role) {
2601
+ return () => __awaiter(this, void 0, void 0, function* () {
2602
+ return context.recordStudioMembers.some((m) => m.userId === id && m.role === role);
2603
+ });
2604
+ }
2605
+ return () => __awaiter(this, void 0, void 0, function* () { return context.recordStudioMembers.some((m) => m.userId === id); });
2606
+ }
2585
2607
  _byEveryoneRole() {
2586
2608
  return this._byRole(true);
2587
2609
  }
@@ -2589,6 +2611,9 @@ export class PolicyController {
2589
2611
  if (!!context.recordKeyResult && context.recordKeyResult.success) {
2590
2612
  return this._byRole(ADMIN_ROLE_NAME);
2591
2613
  }
2614
+ else if (context.recordStudioId) {
2615
+ return this._byStudioRole(context, subjectType, id);
2616
+ }
2592
2617
  else {
2593
2618
  return this._byRecordOwner(context, subjectType, id);
2594
2619
  }