@techstuff-dev/foundation-api-utils 1.20.1 → 1.20.2

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.
@@ -55,6 +55,11 @@ export type UserDetails = {
55
55
  password?: string;
56
56
  passwordConfirm?: string;
57
57
  agency?: boolean;
58
+ 'cognito:username'?: string;
59
+ 'custom:termsAccepted'?: string;
60
+ 'custom:subscriptionId'?: string;
61
+ 'custom:contactPreferences'?: string;
62
+ 'custom:customerId'?: string;
58
63
  [key: string]: any;
59
64
  };
60
65
  export type Info = {
@@ -346,9 +351,66 @@ export interface DecodedIdToken {
346
351
  email: string;
347
352
  birthdate?: string;
348
353
  picture?: string;
354
+ [key: string]: any;
349
355
  }
350
356
  export interface SocialTokens {
351
357
  accessToken: string;
352
358
  idToken: string;
353
359
  refreshToken: string;
354
360
  }
361
+ export interface FederatedSession {
362
+ accessToken: {
363
+ jwtToken: string;
364
+ payload: {
365
+ auth_time: number;
366
+ client_id: string;
367
+ 'cognito:groups': string[];
368
+ exp: number;
369
+ iat: number;
370
+ iss: string;
371
+ jti: string;
372
+ scope: string;
373
+ sub: string;
374
+ token_use: string;
375
+ username: string;
376
+ version: number;
377
+ };
378
+ };
379
+ idToken: {
380
+ jwtToken: string;
381
+ payload: {
382
+ at_hash: string;
383
+ aud: string;
384
+ auth_time: number;
385
+ 'cognito:groups': string[];
386
+ email: string;
387
+ email_verified: boolean;
388
+ exp: number;
389
+ family_name?: string;
390
+ given_name?: string;
391
+ birthdate?: string;
392
+ iat: number;
393
+ identities: {
394
+ dateCreated: string;
395
+ issuer: string;
396
+ primary: string;
397
+ providerName: string;
398
+ providerType: string;
399
+ userId: string;
400
+ }[];
401
+ iss: string;
402
+ name: string;
403
+ nonce: string;
404
+ picture?: string;
405
+ sub: string;
406
+ token_use: string;
407
+ 'custom:termsAccepted'?: string;
408
+ 'custom:subscriptionId'?: string;
409
+ 'custom:contactPreferences'?: string;
410
+ 'custom:customerId'?: string;
411
+ };
412
+ };
413
+ refreshToken: {
414
+ token: string;
415
+ };
416
+ }
@@ -1,4 +1,4 @@
1
- import { User } from '../../types/index.interfaces';
1
+ import { FederatedSession, SocialTokens, User } from '../../types/index.interfaces';
2
2
  export declare const formatUserPayload: (payload: UserPayload) => {
3
3
  userEmail: string;
4
4
  lastName: string;
@@ -109,3 +109,5 @@ export declare function formatChallenges(data: ESChallenge[]): Challenge[];
109
109
  export declare function formatChallengeDays(data: ESChallengeDay[]): ChallengeDay[];
110
110
  export declare function formatSecondsToISO8601Duration(seconds?: number): string;
111
111
  export declare function formatAuthSession(session: any): User;
112
+ export declare function formatFedaratedSession(session: FederatedSession): User;
113
+ export declare function formatSocialAuthSession(tokens: SocialTokens): User;
package/dist/index.esm.js CHANGED
@@ -169,7 +169,6 @@ authSlice.reducer;
169
169
 
170
170
  // TODO: typing.
171
171
  var formatUserPayload = function (payload) {
172
- console.log('payload', payload);
173
172
  var userEmail = payload.email, firstName = payload.given_name, lastName = payload.family_name, dateOfBirth = payload.birthdate, picture = payload.picture, uuid = payload["cognito:username"], termsAccepted = payload["custom:termsAccepted"], subscriptionId = payload["custom:subscriptionId"], contactPreference = payload["custom:contactPreferences"], customerId = payload["custom:customerId"];
174
173
  var parsedTermsAccepted = termsAccepted ? JSON.parse(termsAccepted) : null;
175
174
  var parsedContactPreference = contactPreference
@@ -563,9 +562,40 @@ function formatSecondsToISO8601Duration(seconds) {
563
562
  }
564
563
  return duration;
565
564
  }
565
+ // export function formatAuthSession(session: any): User {
566
+ // console.log('formatAuthSession session', session);
567
+ // return {
568
+ // accessToken: session?.tokens?.accessToken.toString(),
569
+ // idToken: session?.tokens?.idToken?.toString(),
570
+ // refreshToken: undefined,
571
+ // accessTokenExpiry: session?.tokens?.idToken?.payload?.exp,
572
+ // expires: session?.tokens?.idToken?.payload?.exp,
573
+ // sub: session?.tokens?.idToken?.payload?.['cognito:username']?.toString(),
574
+ // details: {
575
+ // userEmail: session?.tokens?.idToken?.payload?.email?.toString(),
576
+ // firstName: session?.tokens?.idToken?.payload?.given_name?.toString(),
577
+ // lastName: session?.tokens?.idToken?.payload?.family_name?.toString(),
578
+ // dateOfBirth: session?.tokens?.idToken?.payload?.birthdate?.toString(),
579
+ // picture: session?.tokens?.idToken?.payload?.picture?.toString(),
580
+ // 'cognito:username':
581
+ // session?.tokens?.idToken?.payload?.['cognito:username']?.toString(),
582
+ // 'custom:termsAccepted':
583
+ // session?.tokens?.idToken?.payload?.['custom:termsAccepted']?.toString(),
584
+ // 'custom:subscriptionId':
585
+ // session?.tokens?.idToken?.payload?.[
586
+ // 'custom:subscriptionId'
587
+ // ]?.toString(),
588
+ // 'custom:contactPreferences':
589
+ // session?.tokens?.idToken?.payload?.[
590
+ // 'custom:contactPreferences'
591
+ // ]?.toString(),
592
+ // 'custom:customerId':
593
+ // session?.tokens?.idToken?.payload?.['custom:customerId']?.toString(),
594
+ // },
595
+ // };
596
+ // }
566
597
  function formatAuthSession(session) {
567
598
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28;
568
- console.log('formatAuthSession session', session);
569
599
  return {
570
600
  accessToken: (_a = session === null || session === void 0 ? void 0 : session.tokens) === null || _a === void 0 ? void 0 : _a.accessToken.toString(),
571
601
  idToken: (_c = (_b = session === null || session === void 0 ? void 0 : session.tokens) === null || _b === void 0 ? void 0 : _b.idToken) === null || _c === void 0 ? void 0 : _c.toString(),
@@ -578,22 +608,63 @@ function formatAuthSession(session) {
578
608
  firstName: (_w = (_v = (_u = (_t = session === null || session === void 0 ? void 0 : session.tokens) === null || _t === void 0 ? void 0 : _t.idToken) === null || _u === void 0 ? void 0 : _u.payload) === null || _v === void 0 ? void 0 : _v.given_name) === null || _w === void 0 ? void 0 : _w.toString(),
579
609
  lastName: (_0 = (_z = (_y = (_x = session === null || session === void 0 ? void 0 : session.tokens) === null || _x === void 0 ? void 0 : _x.idToken) === null || _y === void 0 ? void 0 : _y.payload) === null || _z === void 0 ? void 0 : _z.family_name) === null || _0 === void 0 ? void 0 : _0.toString(),
580
610
  dateOfBirth: (_4 = (_3 = (_2 = (_1 = session === null || session === void 0 ? void 0 : session.tokens) === null || _1 === void 0 ? void 0 : _1.idToken) === null || _2 === void 0 ? void 0 : _2.payload) === null || _3 === void 0 ? void 0 : _3.birthdate) === null || _4 === void 0 ? void 0 : _4.toString(),
581
- picture: (_8 = (_7 = (_6 = (_5 = session === null || session === void 0 ? void 0 : session.tokens) === null || _5 === void 0 ? void 0 : _5.idToken) === null || _6 === void 0 ? void 0 : _6.payload) === null || _7 === void 0 ? void 0 : _7.picture) === null || _8 === void 0 ? void 0 : _8.toString(),
582
- 'cognito:username': (_12 = (_11 = (_10 = (_9 = session === null || session === void 0 ? void 0 : session.tokens) === null || _9 === void 0 ? void 0 : _9.idToken) === null || _10 === void 0 ? void 0 : _10.payload) === null || _11 === void 0 ? void 0 : _11['cognito:username']) === null || _12 === void 0 ? void 0 : _12.toString(),
583
- 'custom:termsAccepted': (_16 = (_15 = (_14 = (_13 = session === null || session === void 0 ? void 0 : session.tokens) === null || _13 === void 0 ? void 0 : _13.idToken) === null || _14 === void 0 ? void 0 : _14.payload) === null || _15 === void 0 ? void 0 : _15['custom:termsAccepted']) === null || _16 === void 0 ? void 0 : _16.toString(),
584
- 'custom:subscriptionId': (_20 = (_19 = (_18 = (_17 = session === null || session === void 0 ? void 0 : session.tokens) === null || _17 === void 0 ? void 0 : _17.idToken) === null || _18 === void 0 ? void 0 : _18.payload) === null || _19 === void 0 ? void 0 : _19['custom:subscriptionId']) === null || _20 === void 0 ? void 0 : _20.toString(),
585
- 'custom:contactPreferences': (_24 = (_23 = (_22 = (_21 = session === null || session === void 0 ? void 0 : session.tokens) === null || _21 === void 0 ? void 0 : _21.idToken) === null || _22 === void 0 ? void 0 : _22.payload) === null || _23 === void 0 ? void 0 : _23['custom:contactPreferences']) === null || _24 === void 0 ? void 0 : _24.toString(),
586
- 'custom:customerId': (_28 = (_27 = (_26 = (_25 = session === null || session === void 0 ? void 0 : session.tokens) === null || _25 === void 0 ? void 0 : _25.idToken) === null || _26 === void 0 ? void 0 : _26.payload) === null || _27 === void 0 ? void 0 : _27['custom:customerId']) === null || _28 === void 0 ? void 0 : _28.toString(),
611
+ 'cognito:username': (_8 = (_7 = (_6 = (_5 = session === null || session === void 0 ? void 0 : session.tokens) === null || _5 === void 0 ? void 0 : _5.idToken) === null || _6 === void 0 ? void 0 : _6.payload) === null || _7 === void 0 ? void 0 : _7['cognito:username']) === null || _8 === void 0 ? void 0 : _8.toString(),
612
+ 'custom:termsAccepted': (_12 = (_11 = (_10 = (_9 = session === null || session === void 0 ? void 0 : session.tokens) === null || _9 === void 0 ? void 0 : _9.idToken) === null || _10 === void 0 ? void 0 : _10.payload) === null || _11 === void 0 ? void 0 : _11['custom:termsAccepted']) === null || _12 === void 0 ? void 0 : _12.toString(),
613
+ 'custom:subscriptionId': (_16 = (_15 = (_14 = (_13 = session === null || session === void 0 ? void 0 : session.tokens) === null || _13 === void 0 ? void 0 : _13.idToken) === null || _14 === void 0 ? void 0 : _14.payload) === null || _15 === void 0 ? void 0 : _15['custom:subscriptionId']) === null || _16 === void 0 ? void 0 : _16.toString(),
614
+ 'custom:contactPreferences': (_20 = (_19 = (_18 = (_17 = session === null || session === void 0 ? void 0 : session.tokens) === null || _17 === void 0 ? void 0 : _17.idToken) === null || _18 === void 0 ? void 0 : _18.payload) === null || _19 === void 0 ? void 0 : _19['custom:contactPreferences']) === null || _20 === void 0 ? void 0 : _20.toString(),
615
+ 'custom:customerId': (_24 = (_23 = (_22 = (_21 = session === null || session === void 0 ? void 0 : session.tokens) === null || _21 === void 0 ? void 0 : _21.idToken) === null || _22 === void 0 ? void 0 : _22.payload) === null || _23 === void 0 ? void 0 : _23['custom:customerId']) === null || _24 === void 0 ? void 0 : _24.toString(),
616
+ picture: (_28 = (_27 = (_26 = (_25 = session === null || session === void 0 ? void 0 : session.tokens) === null || _25 === void 0 ? void 0 : _25.idToken) === null || _26 === void 0 ? void 0 : _26.payload) === null || _27 === void 0 ? void 0 : _27.picture) === null || _28 === void 0 ? void 0 : _28.toString(),
617
+ },
618
+ };
619
+ }
620
+ function formatFedaratedSession(session) {
621
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
622
+ return {
623
+ accessToken: (_a = session === null || session === void 0 ? void 0 : session.accessToken) === null || _a === void 0 ? void 0 : _a.jwtToken,
624
+ idToken: (_b = session === null || session === void 0 ? void 0 : session.idToken) === null || _b === void 0 ? void 0 : _b.jwtToken,
625
+ refreshToken: (_c = session === null || session === void 0 ? void 0 : session.refreshToken) === null || _c === void 0 ? void 0 : _c.token,
626
+ accessTokenExpiry: (_e = (_d = session === null || session === void 0 ? void 0 : session.accessToken) === null || _d === void 0 ? void 0 : _d.payload) === null || _e === void 0 ? void 0 : _e.exp,
627
+ expires: (_g = (_f = session === null || session === void 0 ? void 0 : session.accessToken) === null || _f === void 0 ? void 0 : _f.payload) === null || _g === void 0 ? void 0 : _g.exp,
628
+ sub: (_j = (_h = session === null || session === void 0 ? void 0 : session.idToken) === null || _h === void 0 ? void 0 : _h.payload) === null || _j === void 0 ? void 0 : _j.sub,
629
+ details: {
630
+ userEmail: (_l = (_k = session === null || session === void 0 ? void 0 : session.idToken) === null || _k === void 0 ? void 0 : _k.payload) === null || _l === void 0 ? void 0 : _l.email,
631
+ firstName: (_o = (_m = session === null || session === void 0 ? void 0 : session.idToken) === null || _m === void 0 ? void 0 : _m.payload) === null || _o === void 0 ? void 0 : _o.given_name,
632
+ lastName: (_q = (_p = session === null || session === void 0 ? void 0 : session.idToken) === null || _p === void 0 ? void 0 : _p.payload) === null || _q === void 0 ? void 0 : _q.family_name,
633
+ dateOfBirth: (_s = (_r = session === null || session === void 0 ? void 0 : session.idToken) === null || _r === void 0 ? void 0 : _r.payload) === null || _s === void 0 ? void 0 : _s.birthdate,
634
+ 'cognito:username': (_u = (_t = session === null || session === void 0 ? void 0 : session.idToken) === null || _t === void 0 ? void 0 : _t.payload) === null || _u === void 0 ? void 0 : _u.sub,
635
+ 'custom:termsAccepted': (_w = (_v = session === null || session === void 0 ? void 0 : session.idToken) === null || _v === void 0 ? void 0 : _v.payload) === null || _w === void 0 ? void 0 : _w['custom:termsAccepted'],
636
+ 'custom:subscriptionId': (_y = (_x = session === null || session === void 0 ? void 0 : session.idToken) === null || _x === void 0 ? void 0 : _x.payload) === null || _y === void 0 ? void 0 : _y['custom:subscriptionId'],
637
+ 'custom:contactPreferences': (_0 = (_z = session === null || session === void 0 ? void 0 : session.idToken) === null || _z === void 0 ? void 0 : _z.payload) === null || _0 === void 0 ? void 0 : _0['custom:contactPreferences'],
638
+ 'custom:customerId': (_2 = (_1 = session === null || session === void 0 ? void 0 : session.idToken) === null || _1 === void 0 ? void 0 : _1.payload) === null || _2 === void 0 ? void 0 : _2['custom:customerId'],
639
+ picture: (_4 = (_3 = session === null || session === void 0 ? void 0 : session.idToken) === null || _3 === void 0 ? void 0 : _3.payload) === null || _4 === void 0 ? void 0 : _4.picture,
640
+ },
641
+ };
642
+ }
643
+ function formatSocialAuthSession(tokens) {
644
+ var idToken = jwtDecode(tokens.idToken);
645
+ return {
646
+ socialSignin: true,
647
+ accessToken: tokens.accessToken,
648
+ idToken: tokens.idToken,
649
+ refreshToken: tokens.refreshToken,
650
+ accessTokenExpiry: idToken === null || idToken === void 0 ? void 0 : idToken.exp,
651
+ expires: idToken === null || idToken === void 0 ? void 0 : idToken.exp,
652
+ sub: idToken.sub,
653
+ details: {
654
+ userEmail: idToken.email,
655
+ firstName: idToken.given_name,
656
+ lastName: idToken.family_name,
657
+ dateOfBirth: idToken === null || idToken === void 0 ? void 0 : idToken.birthdate,
658
+ 'cognito:username': idToken === null || idToken === void 0 ? void 0 : idToken['cognito:username'],
659
+ 'custom:termsAccepted': idToken === null || idToken === void 0 ? void 0 : idToken['custom:termsAccepted'],
660
+ 'custom:subscriptionId': idToken === null || idToken === void 0 ? void 0 : idToken['custom:subscriptionId'],
661
+ 'custom:contactPreferences': idToken === null || idToken === void 0 ? void 0 : idToken['custom:contactPreferences'],
662
+ 'custom:customerId': idToken === null || idToken === void 0 ? void 0 : idToken['custom:customerId'],
663
+ picture: idToken === null || idToken === void 0 ? void 0 : idToken.picture,
587
664
  },
588
665
  };
589
666
  }
590
667
 
591
- // console.log('process.env', process.env);
592
- // console.log('process.env?.WEB_APP', process.env?.WEB_APP);
593
- // console.log(
594
- // 'process.env?.NEXT_PUBLIC_WEB_APP',
595
- // process.env?.NEXT_PUBLIC_WEB_APP,
596
- // );
597
668
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
598
669
  // Render the store based on the environment.
599
670
  var isWeb = process.env.NEXT_PUBLIC_WEB_APP;
@@ -664,7 +735,6 @@ var authDataBaseQueryWithReauth = function (args, api, extraOptions) { return __
664
735
  })];
665
736
  case 2:
666
737
  authSession = _b.sent();
667
- console.log('Session successfully refreshed:', authSession);
668
738
  user = formatAuthSession(authSession);
669
739
  api.dispatch(setCredentials(user));
670
740
  if (!(authSession === null || authSession === void 0 ? void 0 : authSession.tokens)) return [3 /*break*/, 4];
@@ -1023,20 +1093,26 @@ var paymentApi = createApi({
1023
1093
  reducerPath: 'paymentApi',
1024
1094
  baseQuery: fetchBaseQuery({
1025
1095
  baseUrl: API_PAYMENTS_PREFIX,
1026
- prepareHeaders: function (headers, _a) {
1027
- var getState = _a.getState;
1028
- var state = getState();
1029
- headers.set('Content-Type', 'application/json');
1030
- // add accessToken to headers from slice using selectAccessToken selector
1031
- var tokens = selectUserTokens(state);
1032
- console.log('paymentApi tokens: ', tokens);
1033
- if (tokens.accessToken && tokens.idToken) {
1034
- headers.set('accesstoken', tokens.accessToken);
1035
- headers.set('idtoken', tokens.idToken);
1036
- // headers.set('refreshtoken', tokens.refreshToken);
1037
- }
1038
- return headers;
1039
- },
1096
+ prepareHeaders: function (headers_1, _a) { return __awaiter(void 0, [headers_1, _a], void 0, function (headers, _b) {
1097
+ var session, idToken, accessToken;
1098
+ return __generator(this, function (_c) {
1099
+ switch (_c.label) {
1100
+ case 0:
1101
+ headers.set('Content-Type', 'application/json');
1102
+ return [4 /*yield*/, Auth.currentSession()];
1103
+ case 1:
1104
+ session = _c.sent();
1105
+ idToken = session.getIdToken().getJwtToken();
1106
+ accessToken = session.getAccessToken().getJwtToken();
1107
+ if (accessToken && idToken) {
1108
+ headers.set('accesstoken', accessToken);
1109
+ headers.set('idtoken', idToken);
1110
+ // headers.set('refreshtoken', tokens.refreshToken);
1111
+ }
1112
+ return [2 /*return*/, headers];
1113
+ }
1114
+ });
1115
+ }); },
1040
1116
  credentials: 'include',
1041
1117
  }),
1042
1118
  tagTypes: ['UserSubscription'],
@@ -1189,5 +1265,5 @@ var makeWebStore = function () {
1189
1265
  var nativeStore = !isWeb && makeNativeStore();
1190
1266
  var webStore = isWeb && makeWebStore();
1191
1267
 
1192
- export { authApi, authSlice, contentApi, formatAuthSession, formatChallengeDays, formatChallenges, formatFaqs, formatGuests, formatLongform, formatPages, formatPress, formatPromos, formatSchedule, formatSecondsToISO8601Duration, formatSections, formatSeries, formatSettings, formatShortform, formatUserPayload, formatVideos, formatWorkout, getUserSession, isAuthenticated, isVerifying, logout, nativeStore, paymentApi, resetCreating, selectAccessToken, selectCurrentUser, selectCurrentUserRefreshToken, selectCurrentUserSub, selectRefreshToken, selectSubscription, selectSubscriptionPrice, selectUserCreating, selectUserCreatingDetails, selectUserSubscriptionStatus, selectUserTokens, setCredentials, updateSubscription, useAppDispatch, useAppSelector, useAppStore, useForgottenPasswordMutation, useGetUserInfoQuery, useLazyGetUserInfoQuery, useLazyLoginQuery, useLazyLogoutQuery, useLazyRefreshTokenQuery, useLazyVerifyUserAttributesQuery, useLazyVerifyUserQuery, useLazyVerifyUserResendQuery, useLoggedIn, useLoginQuery, useLogoutQuery, useRefreshTokenQuery, useRegisterMutation, useResetPasswordAuthMutation, useResetPasswordMutation, useUpdateUserInfoMutation, useUpdateUserMutation, useVerifyUserAttributesQuery, useVerifyUserQuery, useVerifyUserResendQuery, webStore };
1268
+ export { authApi, authSlice, contentApi, formatAuthSession, formatChallengeDays, formatChallenges, formatFaqs, formatFedaratedSession, formatGuests, formatLongform, formatPages, formatPress, formatPromos, formatSchedule, formatSecondsToISO8601Duration, formatSections, formatSeries, formatSettings, formatShortform, formatSocialAuthSession, formatUserPayload, formatVideos, formatWorkout, getUserSession, isAuthenticated, isVerifying, logout, nativeStore, paymentApi, resetCreating, selectAccessToken, selectCurrentUser, selectCurrentUserRefreshToken, selectCurrentUserSub, selectRefreshToken, selectSubscription, selectSubscriptionPrice, selectUserCreating, selectUserCreatingDetails, selectUserSubscriptionStatus, selectUserTokens, setCredentials, updateSubscription, useAppDispatch, useAppSelector, useAppStore, useForgottenPasswordMutation, useGetUserInfoQuery, useLazyGetUserInfoQuery, useLazyLoginQuery, useLazyLogoutQuery, useLazyRefreshTokenQuery, useLazyVerifyUserAttributesQuery, useLazyVerifyUserQuery, useLazyVerifyUserResendQuery, useLoggedIn, useLoginQuery, useLogoutQuery, useRefreshTokenQuery, useRegisterMutation, useResetPasswordAuthMutation, useResetPasswordMutation, useUpdateUserInfoMutation, useUpdateUserMutation, useVerifyUserAttributesQuery, useVerifyUserQuery, useVerifyUserResendQuery, webStore };
1193
1269
  //# sourceMappingURL=index.esm.js.map