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

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.
@@ -29,6 +29,14 @@ export interface SubscriptionConfiguration {
29
29
  * Defaults to true.
30
30
  */
31
31
  purchasable?: boolean;
32
+ /**
33
+ * Whether the subscription is only purchasable by users.
34
+ */
35
+ userOnly?: boolean;
36
+ /**
37
+ * Whether the subscription is only purchasable by studios.
38
+ */
39
+ studioOnly?: boolean;
32
40
  /**
33
41
  * The tier that the subscription represents.
34
42
  * Defaults to "beta".
@@ -3,6 +3,7 @@ import { AuthStore } from './AuthStore';
3
3
  import { StripeInterface } from './StripeInterface';
4
4
  import { ServerError } from './Errors';
5
5
  import { SubscriptionConfiguration } from './SubscriptionConfiguration';
6
+ import { RecordsStore } from './RecordsStore';
6
7
  /**
7
8
  * Defines a class that is able to handle subscriptions.
8
9
  */
@@ -10,13 +11,15 @@ export declare class SubscriptionController {
10
11
  private _stripe;
11
12
  private _auth;
12
13
  private _authStore;
14
+ private _recordsStore;
13
15
  private _config;
14
- constructor(stripe: StripeInterface, auth: AuthController, authStore: AuthStore, config: SubscriptionConfiguration);
16
+ constructor(stripe: StripeInterface, auth: AuthController, authStore: AuthStore, recordsStore: RecordsStore, config: SubscriptionConfiguration);
15
17
  /**
16
18
  * Gets the status of the given user's scription.
17
19
  * @param request
18
20
  */
19
21
  getSubscriptionStatus(request: GetSubscriptionStatusRequest): Promise<GetSubscriptionStatusResult>;
22
+ private _getPurchasableSubscriptionsForRole;
20
23
  private _getPurchasableSubscriptions;
21
24
  /**
22
25
  * Creates a link that the user can be redirected to in order to manage their subscription.
@@ -45,7 +48,11 @@ export interface CreateManageSubscriptionRequest {
45
48
  /**
46
49
  * The User ID that the management session should be created for.
47
50
  */
48
- userId: string;
51
+ userId?: string;
52
+ /**
53
+ * The ID of the studio that the management session should be created for.
54
+ */
55
+ studioId?: string;
49
56
  /**
50
57
  * The subscription that was selected for purcahse by the user.
51
58
  */
@@ -73,7 +80,7 @@ export interface CreateManageSubscriptionFailure {
73
80
  /**
74
81
  * The error code.
75
82
  */
76
- errorCode: ServerError | ValidateSessionKeyFailure['errorCode'] | 'unacceptable_user_id' | 'unacceptable_request' | 'price_does_not_match' | 'not_supported';
83
+ errorCode: ServerError | ValidateSessionKeyFailure['errorCode'] | 'unacceptable_user_id' | 'unacceptable_studio_id' | 'unacceptable_request' | 'price_does_not_match' | 'not_supported';
77
84
  /**
78
85
  * The error message.
79
86
  */
@@ -87,7 +94,11 @@ export interface GetSubscriptionStatusRequest {
87
94
  /**
88
95
  * The ID of the user whose subscription status should be retrieved.
89
96
  */
90
- userId: string;
97
+ userId?: string;
98
+ /**
99
+ * The ID of the studio whose subscrition status should be retrieved.
100
+ */
101
+ studioId?: string;
91
102
  }
92
103
  export type GetSubscriptionStatusResult = GetSubscriptionStatusSuccess | GetSubscriptionStatusFailure;
93
104
  export interface GetSubscriptionStatusSuccess {
@@ -95,7 +106,11 @@ export interface GetSubscriptionStatusSuccess {
95
106
  /**
96
107
  * The ID of the user.
97
108
  */
98
- userId: string;
109
+ userId?: string;
110
+ /**
111
+ * The ID of the studio.
112
+ */
113
+ studioId?: string;
99
114
  /**
100
115
  * The publishable stripe API key.
101
116
  */
@@ -224,7 +239,7 @@ export interface GetSubscriptionStatusFailure {
224
239
  /**
225
240
  * The error code.
226
241
  */
227
- errorCode: ServerError | ValidateSessionKeyFailure['errorCode'] | 'unacceptable_user_id' | 'not_supported';
242
+ errorCode: ServerError | ValidateSessionKeyFailure['errorCode'] | 'unacceptable_user_id' | 'unacceptable_studio_id' | 'unacceptable_request' | 'not_supported';
228
243
  /**
229
244
  * The error message.
230
245
  */
@@ -13,10 +13,11 @@ import { isActiveSubscription, tryParseJson } from './Utils';
13
13
  * Defines a class that is able to handle subscriptions.
14
14
  */
15
15
  export class SubscriptionController {
16
- constructor(stripe, auth, authStore, config) {
16
+ constructor(stripe, auth, authStore, recordsStore, config) {
17
17
  this._stripe = stripe;
18
18
  this._auth = auth;
19
19
  this._authStore = authStore;
20
+ this._recordsStore = recordsStore;
20
21
  this._config = config;
21
22
  }
22
23
  /**
@@ -33,34 +34,88 @@ export class SubscriptionController {
33
34
  };
34
35
  }
35
36
  try {
36
- if (typeof request.userId !== 'string' || request.userId === '') {
37
+ if (request.userId && request.studioId) {
37
38
  return {
38
39
  success: false,
39
- errorCode: 'unacceptable_user_id',
40
- errorMessage: 'The given user ID is invalid. It must be a correctly formatted string.',
40
+ errorCode: 'unacceptable_request',
41
+ errorMessage: 'The given request is invalid. It must not specify both a user ID and a studio ID.',
41
42
  };
42
43
  }
43
- const keyResult = yield this._auth.validateSessionKey(request.sessionKey);
44
- if (keyResult.success === false) {
45
- return keyResult;
44
+ if (request.userId) {
45
+ if (typeof request.userId !== 'string' ||
46
+ request.userId === '') {
47
+ return {
48
+ success: false,
49
+ errorCode: 'unacceptable_user_id',
50
+ errorMessage: 'The given user ID is invalid. It must be a correctly formatted string.',
51
+ };
52
+ }
46
53
  }
47
- else if (keyResult.userId !== request.userId) {
48
- console.log('[SubscriptionController] [getSubscriptionStatus] Request User ID doesnt match session key User ID!');
54
+ else if (request.studioId) {
55
+ if (typeof request.studioId !== 'string' ||
56
+ request.studioId === '') {
57
+ return {
58
+ success: false,
59
+ errorCode: 'unacceptable_studio_id',
60
+ errorMessage: 'The given studio ID is invalid. It must be a correctly formatted string.',
61
+ };
62
+ }
63
+ }
64
+ else {
49
65
  return {
50
66
  success: false,
51
- errorCode: 'invalid_key',
52
- errorMessage: INVALID_KEY_ERROR_MESSAGE,
67
+ errorCode: 'unacceptable_request',
68
+ errorMessage: 'The given request is invalid. It must have a valid user ID or studio ID.',
53
69
  };
54
70
  }
55
- const user = yield this._authStore.findUser(keyResult.userId);
56
- let customerId = user.stripeCustomerId;
71
+ const keyResult = yield this._auth.validateSessionKey(request.sessionKey);
72
+ let customerId;
73
+ let role;
74
+ if (keyResult.success === false) {
75
+ return keyResult;
76
+ }
77
+ else {
78
+ if (request.userId) {
79
+ if (keyResult.userId !== request.userId) {
80
+ console.log('[SubscriptionController] [getSubscriptionStatus] Request User ID doesnt match session key User ID!');
81
+ return {
82
+ success: false,
83
+ errorCode: 'invalid_key',
84
+ errorMessage: INVALID_KEY_ERROR_MESSAGE,
85
+ };
86
+ }
87
+ const user = yield this._authStore.findUser(keyResult.userId);
88
+ customerId = user.stripeCustomerId;
89
+ role = 'user';
90
+ }
91
+ else if (request.studioId) {
92
+ const assignments = yield this._recordsStore.listStudioAssignments(request.studioId, {
93
+ userId: keyResult.userId,
94
+ role: 'admin',
95
+ });
96
+ if (assignments.length <= 0) {
97
+ console.log('[SubscriptionController] [getSubscriptionStatus] Request user does not have access to studio!');
98
+ return {
99
+ success: false,
100
+ errorCode: 'invalid_key',
101
+ errorMessage: INVALID_KEY_ERROR_MESSAGE,
102
+ };
103
+ }
104
+ const studio = yield this._recordsStore.getStudioById(request.studioId);
105
+ customerId = studio.stripeCustomerId;
106
+ role = 'studio';
107
+ }
108
+ }
109
+ // const user = await this._authStore.findUser(keyResult.userId);
110
+ // let customerId = user.stripeCustomerId;
57
111
  if (!customerId) {
58
112
  return {
59
113
  success: true,
60
114
  userId: keyResult.userId,
115
+ studioId: request.studioId,
61
116
  publishableKey: this._stripe.publishableKey,
62
117
  subscriptions: [],
63
- purchasableSubscriptions: yield this._getPurchasableSubscriptions(),
118
+ purchasableSubscriptions: yield this._getPurchasableSubscriptions(role),
64
119
  };
65
120
  }
66
121
  const listResult = yield this._stripe.listActiveSubscriptionsForCustomer(customerId);
@@ -89,10 +144,11 @@ export class SubscriptionController {
89
144
  });
90
145
  const purchasableSubscriptions = subscriptions.length > 0
91
146
  ? []
92
- : yield this._getPurchasableSubscriptions();
147
+ : yield this._getPurchasableSubscriptions(role);
93
148
  return {
94
149
  success: true,
95
150
  userId: keyResult.userId,
151
+ studioId: request.studioId,
96
152
  publishableKey: this._stripe.publishableKey,
97
153
  subscriptions,
98
154
  purchasableSubscriptions,
@@ -108,11 +164,21 @@ export class SubscriptionController {
108
164
  }
109
165
  });
110
166
  }
111
- _getPurchasableSubscriptions() {
167
+ _getPurchasableSubscriptionsForRole(role) {
168
+ return this._config.subscriptions.filter((s) => {
169
+ var _a, _b, _c;
170
+ const isPurchasable = (_a = s.purchasable) !== null && _a !== void 0 ? _a : true;
171
+ const isUserOnly = (_b = s.userOnly) !== null && _b !== void 0 ? _b : false;
172
+ const isStudioOnly = (_c = s.studioOnly) !== null && _c !== void 0 ? _c : false;
173
+ const matchesRole = (isUserOnly && role === 'user') ||
174
+ (isStudioOnly && role === 'studio') ||
175
+ (!isUserOnly && !isStudioOnly);
176
+ return isPurchasable && matchesRole;
177
+ });
178
+ }
179
+ _getPurchasableSubscriptions(role) {
112
180
  return __awaiter(this, void 0, void 0, function* () {
113
- const promises = this._config.subscriptions
114
- .filter((s) => { var _a; return (_a = s.purchasable) !== null && _a !== void 0 ? _a : true; })
115
- .map((s) => __awaiter(this, void 0, void 0, function* () {
181
+ const promises = this._getPurchasableSubscriptionsForRole(role).map((s) => __awaiter(this, void 0, void 0, function* () {
116
182
  return ({
117
183
  sub: s,
118
184
  info: yield this._stripe.getProductAndPriceInfo(s.product),
@@ -153,11 +219,38 @@ export class SubscriptionController {
153
219
  };
154
220
  }
155
221
  try {
156
- if (typeof request.userId !== 'string' || request.userId === '') {
222
+ if (request.userId && request.studioId) {
223
+ return {
224
+ success: false,
225
+ errorCode: 'unacceptable_request',
226
+ errorMessage: 'The given request is invalid. It must not specify both a user ID and a studio ID.',
227
+ };
228
+ }
229
+ if (request.userId) {
230
+ if (typeof request.userId !== 'string' ||
231
+ request.userId === '') {
232
+ return {
233
+ success: false,
234
+ errorCode: 'unacceptable_user_id',
235
+ errorMessage: 'The given user ID is invalid. It must be a correctly formatted string.',
236
+ };
237
+ }
238
+ }
239
+ else if (request.studioId) {
240
+ if (typeof request.studioId !== 'string' ||
241
+ request.studioId === '') {
242
+ return {
243
+ success: false,
244
+ errorCode: 'unacceptable_studio_id',
245
+ errorMessage: 'The given studio ID is invalid. It must be a correctly formatted string.',
246
+ };
247
+ }
248
+ }
249
+ else {
157
250
  return {
158
251
  success: false,
159
- errorCode: 'unacceptable_user_id',
160
- errorMessage: 'The given user ID is invalid. It must be a correctly formatted string.',
252
+ errorCode: 'unacceptable_request',
253
+ errorMessage: 'The given request is invalid. It must have a valid user ID or studio ID.',
161
254
  };
162
255
  }
163
256
  if (!!request.subscriptionId &&
@@ -177,27 +270,77 @@ export class SubscriptionController {
177
270
  };
178
271
  }
179
272
  const keyResult = yield this._auth.validateSessionKey(request.sessionKey);
273
+ let customerId;
274
+ let customerName;
275
+ let customerEmail;
276
+ let customerPhone;
277
+ let role;
278
+ let user;
279
+ let studio;
280
+ let customerMetadata = {};
281
+ let metadata = {};
180
282
  if (keyResult.success === false) {
181
283
  return keyResult;
182
284
  }
183
- else if (keyResult.userId !== request.userId) {
184
- console.log('[SubscriptionController] [createManageSubscriptionLink] Request User ID doesnt match session key User ID!');
185
- return {
186
- success: false,
187
- errorCode: 'invalid_key',
188
- errorMessage: INVALID_KEY_ERROR_MESSAGE,
189
- };
285
+ else if (request.userId) {
286
+ if (keyResult.userId !== request.userId) {
287
+ console.log('[SubscriptionController] [createManageSubscriptionLink] Request User ID doesnt match session key User ID!');
288
+ return {
289
+ success: false,
290
+ errorCode: 'invalid_key',
291
+ errorMessage: INVALID_KEY_ERROR_MESSAGE,
292
+ };
293
+ }
294
+ user = yield this._authStore.findUser(keyResult.userId);
295
+ customerId = user.stripeCustomerId;
296
+ customerName = user.name;
297
+ customerEmail = user.email;
298
+ customerPhone = user.phoneNumber;
299
+ metadata.userId = user.id;
300
+ customerMetadata.role = 'user';
301
+ customerMetadata.userId = user.id;
302
+ role = 'user';
303
+ console.log(`[SubscriptionController] [createManageSubscriptionLink] Creating a checkout/management session for User (${keyResult.userId}).`);
190
304
  }
191
- // if (this._config.subscriptions.length <= 0) {
192
- // return {
193
- // success: false,
194
- // errorCode: 'not_supported',
195
- // errorMessage: 'This method is not supported.',
196
- // };
197
- // }
198
- console.log(`[SubscriptionController] [createManageSubscriptionLink] Creating a checkout/management session for User (${keyResult.userId}).`);
199
- const user = yield this._authStore.findUser(keyResult.userId);
200
- let customerId = user.stripeCustomerId;
305
+ else if (request.studioId) {
306
+ const assignments = yield this._recordsStore.listStudioAssignments(request.studioId, {
307
+ role: 'admin',
308
+ });
309
+ const userAssignment = assignments.find((a) => a.userId === keyResult.userId);
310
+ if (!userAssignment) {
311
+ console.log('[SubscriptionController] [getSubscriptionStatus] Request user does not have access to studio!');
312
+ return {
313
+ success: false,
314
+ errorCode: 'invalid_key',
315
+ errorMessage: INVALID_KEY_ERROR_MESSAGE,
316
+ };
317
+ }
318
+ studio = yield this._recordsStore.getStudioById(request.studioId);
319
+ customerId = studio.stripeCustomerId;
320
+ customerName = studio.displayName;
321
+ customerMetadata.role = 'studio';
322
+ customerMetadata.studioId = studio.id;
323
+ metadata.studioId = studio.id;
324
+ let primaryAssignment;
325
+ if (userAssignment.isPrimaryContact) {
326
+ primaryAssignment = userAssignment;
327
+ }
328
+ else {
329
+ primaryAssignment = assignments.find((a) => a.isPrimaryContact);
330
+ }
331
+ if (primaryAssignment) {
332
+ customerEmail = primaryAssignment.user.email;
333
+ customerPhone = primaryAssignment.user.phoneNumber;
334
+ metadata.contactUserId = keyResult.userId;
335
+ customerMetadata.contactUserId = keyResult.userId;
336
+ }
337
+ role = 'studio';
338
+ console.log(`[SubscriptionController] [createManageSubscriptionLink] Creating a checkout/management session for Studio (userId: ${keyResult.userId}, studioId: ${studio.id}).`);
339
+ }
340
+ else {
341
+ throw new Error('Should not reach this point');
342
+ }
343
+ metadata.subjectId = keyResult.userId;
201
344
  if (!customerId) {
202
345
  if (this._config.subscriptions.length <= 0) {
203
346
  return {
@@ -208,16 +351,25 @@ export class SubscriptionController {
208
351
  }
209
352
  console.log('[SubscriptionController] [createManageSubscriptionLink] No Stripe Customer ID. Creating New Customer and Checkout Session in Stripe.');
210
353
  const result = yield this._stripe.createCustomer({
211
- name: user.name,
212
- email: user.email,
213
- phone: user.phoneNumber,
354
+ name: customerName,
355
+ email: customerEmail,
356
+ phone: customerPhone,
357
+ metadata: customerMetadata,
214
358
  });
215
- customerId = user.stripeCustomerId = result.id;
216
- console.log(`[SubscriptionController] [createManageSubscriptionLink] Saving Stripe Customer ID (${customerId}) to User Record (${user.id}).`);
217
- yield this._authStore.saveUser(Object.assign({}, user));
218
- return yield this._createCheckoutSession(request, user, customerId);
359
+ customerId = result.id;
360
+ if (user) {
361
+ user.stripeCustomerId = customerId;
362
+ console.log(`[SubscriptionController] [createManageSubscriptionLink] Saving Stripe Customer ID (${customerId}) to User Record (${user.id}).`);
363
+ yield this._authStore.saveUser(Object.assign({}, user));
364
+ }
365
+ else if (studio) {
366
+ studio.stripeCustomerId = customerId;
367
+ console.log(`[SubscriptionController] [createManageSubscriptionLink] Saving Stripe Customer ID (${customerId}) to Studio Record (${studio.id}).`);
368
+ yield this._recordsStore.updateStudio(Object.assign({}, studio));
369
+ }
370
+ return yield this._createCheckoutSession(request, customerId, metadata, role, user, studio);
219
371
  }
220
- console.log(`[SubscriptionController] [createManageSubscriptionLink] User (${user.id}) Has Stripe Customer ID (${user.stripeCustomerId}). Checking active subscriptions for customer.`);
372
+ console.log(`[SubscriptionController] [createManageSubscriptionLink] Has Stripe Customer ID (${customerId}). Checking active subscriptions for customer.`);
221
373
  const subs = yield this._stripe.listActiveSubscriptionsForCustomer(customerId);
222
374
  const hasSubscription = subs.subscriptions.some((s) => {
223
375
  const isManagable = s.status === 'active' ||
@@ -234,7 +386,7 @@ export class SubscriptionController {
234
386
  });
235
387
  if (hasSubscription) {
236
388
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Customer has a managable subscription. Creating a portal session.`);
237
- const session = yield this._stripe.createPortalSession(Object.assign(Object.assign({}, ((_a = this._config.portalConfig) !== null && _a !== void 0 ? _a : {})), { customer: customerId, return_url: this._config.returnUrl }));
389
+ const session = yield this._stripe.createPortalSession(Object.assign(Object.assign({}, ((_a = this._config.portalConfig) !== null && _a !== void 0 ? _a : {})), { customer: customerId, return_url: returnRoute(this._config.returnUrl, user, studio) }));
238
390
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Portal session success!`);
239
391
  return {
240
392
  success: true,
@@ -242,10 +394,10 @@ export class SubscriptionController {
242
394
  };
243
395
  }
244
396
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Customer does not have a managable subscription. Creating a checkout session.`);
245
- return yield this._createCheckoutSession(request, user, customerId);
397
+ return yield this._createCheckoutSession(request, customerId, metadata, role, user, studio);
246
398
  }
247
399
  catch (err) {
248
- console.log('[SubscriptionController] An error occurred while creating a manage subscription link:', err);
400
+ console.error('[SubscriptionController] An error occurred while creating a manage subscription link:', err);
249
401
  return {
250
402
  success: false,
251
403
  errorCode: 'server_error',
@@ -254,24 +406,25 @@ export class SubscriptionController {
254
406
  }
255
407
  });
256
408
  }
257
- _createCheckoutSession(request, user, customerId) {
409
+ _createCheckoutSession(request, customerId, metadata, role, user, studio) {
258
410
  var _a;
259
411
  return __awaiter(this, void 0, void 0, function* () {
412
+ const purchasableSubscriptions = this._getPurchasableSubscriptionsForRole(role);
260
413
  let sub;
261
414
  if (request.subscriptionId) {
262
- sub = this._config.subscriptions.find((s) => s.id === request.subscriptionId);
415
+ sub = purchasableSubscriptions.find((s) => s.id === request.subscriptionId);
263
416
  if (sub) {
264
417
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Using specified subscription (${request.subscriptionId}).`);
265
418
  }
266
419
  }
267
420
  if (!sub) {
268
- sub = this._config.subscriptions.find((s) => s.defaultSubscription);
421
+ sub = purchasableSubscriptions.find((s) => s.defaultSubscription);
269
422
  if (sub) {
270
423
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Using default subscription.`);
271
424
  }
272
425
  }
273
426
  if (!sub) {
274
- sub = this._config.subscriptions[0];
427
+ sub = purchasableSubscriptions[0];
275
428
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Using first subscription.`);
276
429
  }
277
430
  const productInfo = yield this._stripe.getProductAndPriceInfo(sub.product);
@@ -293,14 +446,12 @@ export class SubscriptionController {
293
446
  }
294
447
  }
295
448
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Creating Checkout Session.`);
296
- const session = yield this._stripe.createCheckoutSession(Object.assign(Object.assign({}, ((_a = this._config.checkoutConfig) !== null && _a !== void 0 ? _a : {})), { customer: customerId, success_url: this._config.successUrl, cancel_url: this._config.cancelUrl, line_items: [
449
+ const session = yield this._stripe.createCheckoutSession(Object.assign(Object.assign({}, ((_a = this._config.checkoutConfig) !== null && _a !== void 0 ? _a : {})), { customer: customerId, success_url: returnRoute(this._config.successUrl, user, studio), cancel_url: returnRoute(this._config.cancelUrl, user, studio), line_items: [
297
450
  {
298
451
  price: productInfo.default_price.id,
299
452
  quantity: 1,
300
453
  },
301
- ], mode: 'subscription', metadata: {
302
- userId: user.id,
303
- } }));
454
+ ], mode: 'subscription', metadata: metadata }));
304
455
  console.log(`[SubscriptionController] [createManageSubscriptionLink] Checkout Session Success!`);
305
456
  return {
306
457
  success: true,
@@ -382,17 +533,36 @@ export class SubscriptionController {
382
533
  const customerId = subscription.customer;
383
534
  console.log(`[SubscriptionController] [handleStripeWebhook] Customer ID: ${customerId}. Subscription status: ${status}. Tier: ${tier}. Is Active: ${active}.`);
384
535
  const user = yield this._authStore.findUserByStripeCustomerId(customerId);
385
- if (!user) {
386
- console.log(`[SubscriptionController] [handleStripeWebhook] No user found for Customer ID (${customerId})`);
387
- return {
388
- success: true,
389
- };
536
+ if (user) {
537
+ if (user.subscriptionStatus !== status ||
538
+ user.subscriptionId !== sub.id) {
539
+ console.log(`[SubscriptionController] [handleStripeWebhook] User (${user.id}) subscription status doesn't match stored. Updating...`);
540
+ yield this._authStore.saveUser(Object.assign(Object.assign({}, user), { subscriptionStatus: status, subscriptionId: sub.id }));
541
+ }
542
+ else {
543
+ return {
544
+ success: true,
545
+ };
546
+ }
390
547
  }
391
- if (user.subscriptionStatus !== status ||
392
- user.subscriptionId !== sub.id) {
393
- console.log(`[SubscriptionController] [handleStripeWebhook] User subscription status doesn't match stored. Updating...`);
394
- yield this._authStore.saveUser(Object.assign(Object.assign({}, user), { subscriptionStatus: status, subscriptionId: sub.id }));
548
+ console.log(`[SubscriptionController] [handleStripeWebhook] No user found for Customer ID (${customerId})`);
549
+ const studio = yield this._recordsStore.getStudioByStripeCustomerId(customerId);
550
+ if (studio) {
551
+ if (studio.subscriptionStatus !== status ||
552
+ studio.subscriptionId !== sub.id) {
553
+ console.log(`[SubscriptionController] [handleStripeWebhook] Studio ((${studio.id})) subscription status doesn't match stored. Updating...`);
554
+ yield this._recordsStore.updateStudio(Object.assign(Object.assign({}, studio), { subscriptionStatus: status, subscriptionId: sub.id }));
555
+ }
556
+ else {
557
+ return {
558
+ success: true,
559
+ };
560
+ }
395
561
  }
562
+ console.log(`[SubscriptionController] [handleStripeWebhook] No studio found for Customer ID (${customerId})`);
563
+ return {
564
+ success: true,
565
+ };
396
566
  }
397
567
  return {
398
568
  success: true,
@@ -438,4 +608,15 @@ function isValidSubscription(sub) {
438
608
  typeof sub.product === 'string' &&
439
609
  typeof sub.defaultSubscription === 'boolean');
440
610
  }
611
+ function returnRoute(basePath, user, studio) {
612
+ if (user) {
613
+ return basePath;
614
+ }
615
+ else {
616
+ return studiosRoute(basePath, studio.id, studio.displayName);
617
+ }
618
+ }
619
+ function studiosRoute(basePath, studioId, studioName) {
620
+ return new URL(`/studios/${encodeURIComponent(studioId)}/${encodeURIComponent(studioName)}`, basePath).href;
621
+ }
441
622
  //# sourceMappingURL=SubscriptionController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionController.js","sourceRoot":"","sources":["SubscriptionController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubscriptionController.js","sourceRoot":"","sources":["SubscriptionController.ts"],"names":[],"mappings":"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"}
package/TestUtils.js CHANGED
@@ -25,7 +25,7 @@ export function createTestControllers(config) {
25
25
  const authStore = new MemoryAuthStore();
26
26
  const authMessenger = new MemoryAuthMessenger();
27
27
  const auth = new AuthController(authStore, authMessenger, subConfig, true);
28
- const recordsStore = new MemoryRecordsStore();
28
+ const recordsStore = new MemoryRecordsStore(authStore);
29
29
  const records = new RecordsController(recordsStore, authStore);
30
30
  const policyStore = new MemoryPolicyStore();
31
31
  const policies = new PolicyController(auth, records, policyStore);