@techstuff-dev/foundation-api-utils 2.3.1 → 2.4.0

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 (39) hide show
  1. package/dist/cjs/chunks/{shared-Dg7JQIWA.js → shared-DVGP3iZ0.js} +2 -2
  2. package/dist/cjs/chunks/{shared-Dg7JQIWA.js.map → shared-DVGP3iZ0.js.map} +1 -1
  3. package/dist/cjs/chunks/{slice-CJ4WSj5p.js → slice-C4MKCa5N.js} +268 -742
  4. package/dist/cjs/chunks/slice-C4MKCa5N.js.map +1 -0
  5. package/dist/cjs/chunks/useAuth-BVyDLl6H.js +25 -0
  6. package/dist/cjs/chunks/useAuth-BVyDLl6H.js.map +1 -0
  7. package/dist/cjs/hooks/index.native.js +1 -1
  8. package/dist/cjs/hooks/index.web.js +1 -1
  9. package/dist/cjs/index.js +644 -31
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/store/index.native.js +2 -4
  12. package/dist/cjs/store/index.native.js.map +1 -1
  13. package/dist/cjs/store/index.web.js +2 -4
  14. package/dist/cjs/store/index.web.js.map +1 -1
  15. package/dist/esm/chunks/{shared-CztMTb2m.js → shared-DvU_DUT_.js} +2 -2
  16. package/dist/esm/chunks/{shared-CztMTb2m.js.map → shared-DvU_DUT_.js.map} +1 -1
  17. package/dist/esm/chunks/{slice-_b4ee7tw.js → slice-B2f63n1v.js} +257 -718
  18. package/dist/esm/chunks/slice-B2f63n1v.js.map +1 -0
  19. package/dist/esm/chunks/useAuth-CTcqsTAS.js +23 -0
  20. package/dist/esm/chunks/useAuth-CTcqsTAS.js.map +1 -0
  21. package/dist/esm/hooks/index.native.js +1 -1
  22. package/dist/esm/hooks/index.web.js +1 -1
  23. package/dist/esm/index.js +609 -4
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/store/index.native.js +2 -4
  26. package/dist/esm/store/index.native.js.map +1 -1
  27. package/dist/esm/store/index.web.js +2 -4
  28. package/dist/esm/store/index.web.js.map +1 -1
  29. package/dist/types/hooks/index.d.ts +1 -1
  30. package/dist/types/{index-CNDW7aai.d.ts → index-UGRVwFLD.d.ts} +108 -38
  31. package/dist/types/index.d.ts +2897 -140
  32. package/dist/types/store/index.d.ts +1 -1
  33. package/package.json +2 -3
  34. package/dist/cjs/chunks/slice-CJ4WSj5p.js.map +0 -1
  35. package/dist/cjs/chunks/useAuth-DKhvUX_r.js +0 -13
  36. package/dist/cjs/chunks/useAuth-DKhvUX_r.js.map +0 -1
  37. package/dist/esm/chunks/slice-_b4ee7tw.js.map +0 -1
  38. package/dist/esm/chunks/useAuth-8d6DlERn.js +0 -11
  39. package/dist/esm/chunks/useAuth-8d6DlERn.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ import { useMemo } from 'react';
2
+ import { useSelector } from 'react-redux';
3
+ import { i as isAuthenticated } from './slice-ChJ8ZvmP.js';
4
+
5
+ /**
6
+ * Check for Cognito auth cookies in the browser.
7
+ * Returns true if accessToken and idToken cookies exist for any Cognito client ID.
8
+ */
9
+ function hasCognitoAuthCookies() {
10
+ if (typeof document === 'undefined')
11
+ return false;
12
+ const cookies = document.cookie;
13
+ return (cookies.includes('CognitoIdentityServiceProvider.') &&
14
+ cookies.includes('.accessToken') &&
15
+ cookies.includes('.idToken'));
16
+ }
17
+ const useLoggedIn = () => {
18
+ const isLoggedIn = useSelector(isAuthenticated);
19
+ return useMemo(() => isLoggedIn || hasCognitoAuthCookies(), [isLoggedIn]);
20
+ };
21
+
22
+ export { useLoggedIn as u };
23
+ //# sourceMappingURL=useAuth-CTcqsTAS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuth-CTcqsTAS.js","sources":["../../../lib/hooks/useAuth.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA;;;AAGG;AACH,SAAS,qBAAqB,GAAA;IAC5B,IAAI,OAAO,QAAQ,KAAK,WAAW;AAAE,QAAA,OAAO,KAAK;AAEjD,IAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAE/B,IAAA,QACE,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC;AACnD,QAAA,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;AAChC,QAAA,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;AAEhC;AAEO,MAAM,WAAW,GAAG,MAAK;AAC9B,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC;AAE/C,IAAA,OAAO,OAAO,CACZ,MAAM,UAAU,IAAI,qBAAqB,EAAE,EAC3C,CAAC,UAAU,CAAC,CACb;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { useDispatch, useSelector, useStore } from 'react-redux';
2
- export { u as useLoggedIn } from '../chunks/useAuth-8d6DlERn.js';
2
+ export { u as useLoggedIn } from '../chunks/useAuth-CTcqsTAS.js';
3
3
  import 'react';
4
4
  import '../chunks/slice-ChJ8ZvmP.js';
5
5
  import '@reduxjs/toolkit';
@@ -1,5 +1,5 @@
1
1
  import { useDispatch, useSelector, useStore } from 'react-redux';
2
- export { u as useLoggedIn } from '../chunks/useAuth-8d6DlERn.js';
2
+ export { u as useLoggedIn } from '../chunks/useAuth-CTcqsTAS.js';
3
3
  import 'react';
4
4
  import '../chunks/slice-ChJ8ZvmP.js';
5
5
  import '@reduxjs/toolkit';
package/dist/esm/index.js CHANGED
@@ -1,9 +1,614 @@
1
- export { F as addToCart, an as applyCoupon, ao as applyTax, a as authApi, A as cartSlice, c as contentApi, aq as createUnwrappingBaseQuery, I as emptyCart, a7 as formatAuthSession, a5 as formatChallengeDays, a4 as formatChallenges, aa as formatConfig, Y as formatFaqs, a8 as formatFedaratedSession, a0 as formatGuests, ag as formatLongform, ah as formatMediaItem, Z as formatPages, $ as formatPress, V as formatPromos, a3 as formatSchedule, af as formatSeasons, a6 as formatSecondsToISO8601Duration, ac as formatSectionItems, ab as formatSectionPanels, a2 as formatSections, ae as formatSeries, _ as formatSettings, X as formatShortform, a9 as formatSocialAuthSession, ad as formatTaxonomies, U as formatUserPayload, a1 as formatVideos, W as formatWorkout, ak as getPlatform, aj as isReactNative, ai as isWeb, am as onlyUnique, o as ordersApi, p as paymentApi, b as productsApi, H as removeFromCart, E as removePromoCode, C as resetTaxRate, al as runOnPlatform, P as selectCartCount, S as selectCartItems, T as selectCartItemsIds, M as selectCartNetTotal, Q as selectCartStatus, O as selectCartTaxAmount, N as selectCartTaxRate, L as selectCartTotal, K as selectMediaInCart, R as selectPromoCode, D as setPromoCode, B as setTaxRate, ap as toCamelCaseObject, J as toggleCart, G as updateCart, w as useFetchOrdersQuery, k as useForgottenPasswordMutation, z as useGetOrderQuery, y as useGetOrdersQuery, s as useGetProductsQuery, h as useGetUserInfoQuery, x as useLazyFetchOrdersQuery, t as useLazyGetProductsQuery, i as useLazyGetUserInfoQuery, m as useLazyVerifyUserAttributesQuery, g as useLazyVerifyUserQuery, q as useLazyVerifyUserResendQuery, v as usePurchaseProductMutation, e as useRegisterMutation, d as useResetPasswordAuthMutation, u as useResetPasswordMutation, j as useUpdateUserInfoMutation, r as useUpdateUserMutation, l as useVerifyUserAttributesQuery, f as useVerifyUserQuery, n as useVerifyUserResendQuery } from './chunks/slice-_b4ee7tw.js';
1
+ import { t as toCamelCaseObject } from './chunks/slice-B2f63n1v.js';
2
+ export { T as addToCart, ab as applyCoupon, ac as applyTax, a as authApi, O as cartSlice, c as contentApi, ad as createUnwrappingBaseQuery, W as emptyCart, a8 as getPlatform, a7 as isReactNative, a6 as isWeb, aa as onlyUnique, o as ordersApi, p as paymentApi, b as productsApi, V as removeFromCart, S as removePromoCode, Q as resetTaxRate, a9 as runOnPlatform, a1 as selectCartCount, a4 as selectCartItems, a5 as selectCartItemsIds, _ as selectCartNetTotal, a2 as selectCartStatus, a0 as selectCartTaxAmount, $ as selectCartTaxRate, Z as selectCartTotal, Y as selectMediaInCart, a3 as selectPromoCode, R as setPromoCode, P as setTaxRate, X as toggleCart, U as updateCart, K as useFetchOrdersQuery, k as useForgottenPasswordMutation, F as useGetActiveChallengesQuery, C as useGetActivityStatsQuery, G as useGetChallengeProgressQuery, N as useGetOrderQuery, M as useGetOrdersQuery, H as useGetProductsQuery, A as useGetRecommendationsQuery, s as useGetStreakQuery, h as useGetUserInfoQuery, y as useGetWatchProgressQuery, w as useGetWeeklyProgressQuery, L as useLazyFetchOrdersQuery, D as useLazyGetActivityStatsQuery, I as useLazyGetProductsQuery, B as useLazyGetRecommendationsQuery, v as useLazyGetStreakQuery, i as useLazyGetUserInfoQuery, z as useLazyGetWatchProgressQuery, x as useLazyGetWeeklyProgressQuery, m as useLazyVerifyUserAttributesQuery, g as useLazyVerifyUserQuery, q as useLazyVerifyUserResendQuery, E as useLogActivityMutation, J as usePurchaseProductMutation, e as useRegisterMutation, d as useResetPasswordAuthMutation, u as useResetPasswordMutation, j as useUpdateUserInfoMutation, r as useUpdateUserMutation, l as useVerifyUserAttributesQuery, f as useVerifyUserQuery, n as useVerifyUserResendQuery } from './chunks/slice-B2f63n1v.js';
2
3
  export { a as authSlice, g as getUserSession, i as isAuthenticated, e as isVerifying, l as logout, r as resetCreating, b as selectAccessToken, d as selectCurrentUser, h as selectCurrentUserRefreshToken, f as selectCurrentUserSub, c as selectRefreshToken, m as selectSubscription, n as selectSubscriptionPrice, k as selectUserSubscriptionStatus, j as selectUserTokens, s as setCredentials, u as updateSubscription } from './chunks/slice-ChJ8ZvmP.js';
3
- export { u as useLoggedIn } from './chunks/useAuth-8d6DlERn.js';
4
- import 'aws-amplify';
4
+ export { u as useLoggedIn } from './chunks/useAuth-CTcqsTAS.js';
5
+ import { jwtDecode } from 'jwt-decode';
5
6
  import '@reduxjs/toolkit';
6
7
  import 'react-redux';
7
8
  import 'react';
8
- import 'jwt-decode';
9
+
10
+ // TODO: typing.
11
+ const formatUserPayload = (payload) => {
12
+ const { email: userEmail, given_name: firstName, family_name: lastName, birthdate: dateOfBirth, picture: picture, 'cognito:username': uuid, 'custom:termsAccepted': termsAccepted, 'custom:subscriptionId': subscriptionId, 'custom:contactPreferences': contactPreference, 'custom:customerId': customerId, } = payload;
13
+ const parsedTermsAccepted = termsAccepted ? JSON.parse(termsAccepted) : null;
14
+ const parsedContactPreference = contactPreference
15
+ ? JSON.parse(contactPreference)
16
+ : null;
17
+ const data = {
18
+ userEmail,
19
+ lastName,
20
+ firstName,
21
+ dateOfBirth,
22
+ /** Handles the auth micro service/Cognito serving boolean options as a string. */
23
+ termsAccepted: parsedTermsAccepted,
24
+ contactPreference: parsedContactPreference,
25
+ uuid,
26
+ subscription: subscriptionId || null,
27
+ customerId,
28
+ picture,
29
+ };
30
+ return data;
31
+ };
32
+ function formatPromos(data) {
33
+ return data.map((item) => {
34
+ return {
35
+ uuid: item?._source?.uuid?.[0],
36
+ id: item?._source?.uuid?.[0],
37
+ title: item?._source?.title?.[0],
38
+ image: item?._source?.image?.[0],
39
+ imageFormatted: item?._source?.image_formatted?.[0],
40
+ description: item?._source?.description?.[0],
41
+ created: item?._source?.created?.[0],
42
+ updated: item?._source?.updated?.[0],
43
+ weight: item?._source?.weight?.[0],
44
+ buttonText: item?._source?.button_text?.[0],
45
+ link: item?._source?.link?.[0],
46
+ linkMobile: item?._source?.link_mobile?.[0],
47
+ term: item?._source?.term?.[0],
48
+ // video: item?._source?.video?.[0],
49
+ // align: item?._source?.align?.[0],
50
+ // section: item?._source?.section?.[0],
51
+ // backgroundImage: item?._source?.background_image?.[0],
52
+ // backgroundVideo: item?._source?.background_video?.[0],
53
+ // backgroundImageFormatted: item?._source?.background_image_formatted?.[0],
54
+ // langcode: item?._source?.langcode?.[0],
55
+ // authPanel: item?._source?.auth_panel?.[0],
56
+ };
57
+ });
58
+ }
59
+ function formatWorkout(data) {
60
+ return data.map((item) => {
61
+ return {
62
+ changed: item?._source?.changed?.[0],
63
+ created: item?._source?.created?.[0],
64
+ uuid: item?._source?.uuid?.[0],
65
+ description: item?._source?.description?.[0],
66
+ duration: item?._source?.duration_filter?.[0],
67
+ // duration_filter: item?._source?.duration_filter?.[0],
68
+ level: item?._source?.level?.[0],
69
+ published: item?._source?.published?.[0],
70
+ targeted_section: item?._source?.targeted_section?.[0],
71
+ uid: item?._source?.uid?.[0],
72
+ imageStyled: item?._source?.image_16_9?.[0],
73
+ image: item?._source?.image?.[0],
74
+ title: item?._source?.title?.[0],
75
+ video: item?._source?.video_url?.[0],
76
+ videoDownload: item?._source?.video_download?.[0],
77
+ videoPoster: item?._source?.video_poster?.[0],
78
+ workoutCategory: item?._source?.workout_category?.[0],
79
+ workoutType: item?._source?.workout_type?.[0],
80
+ livestreamSection: item?._source?.livestream_section?.[0],
81
+ };
82
+ });
83
+ }
84
+ // export function formatSeries(data: Series[], channel: string) {
85
+ // const formattedSeriesSelection = data.map((series) => {
86
+ // return {
87
+ // uuid: series.uuid,
88
+ // id: series.uuid,
89
+ // title: series.title,
90
+ // subtitle: series.subtitle,
91
+ // thumb: series.imageThumbnailURL,
92
+ // mainImage: series.imageURL,
93
+ // description: series.summary.value,
94
+ // body: series.body.value,
95
+ // nid: series.nid,
96
+ // seasonList: series.season,
97
+ // channel,
98
+ // };
99
+ // });
100
+ // return formattedSeriesSelection;
101
+ // }
102
+ function formatShortform(data) {
103
+ return data.map((item) => {
104
+ const { _source } = item;
105
+ return {
106
+ uuid: _source.uuid && _source.uuid[0],
107
+ id: _source.uuid && _source.uuid[0],
108
+ nid: _source.nid && _source.nid[0],
109
+ title: _source.title && _source.title[0],
110
+ thumb: _source.field_image_thumb && _source.field_image_thumb[0],
111
+ mainImage: _source.field_image_poster && _source.field_image_poster[0],
112
+ description: _source.field_short_synopsis && _source.field_short_synopsis[0],
113
+ body: _source.field_body && _source.field_body[0],
114
+ channel: _source.field_channel && _source.field_channel[0],
115
+ updated: _source.revision_timestamp && _source.revision_timestamp[0],
116
+ langcode: _source.langcode && _source.langcode[0],
117
+ video: _source.field_videomanifest && _source.field_videomanifest[0],
118
+ duration: _source.field_duration && _source.field_duration[0],
119
+ category: _source.field_category && _source.field_category[0],
120
+ };
121
+ });
122
+ }
123
+ // export function formatLongform(data: ESLongForm[]) {
124
+ // return data.map((item) => {
125
+ // const { _source } = item;
126
+ // return {
127
+ // uuid: _source.uuid && _source.uuid[0],
128
+ // id: _source.uuid && _source.uuid[0],
129
+ // nid: _source.nid && _source.nid[0],
130
+ // title: _source.title && _source.title[0],
131
+ // image: _source.image && _source.image[0],
132
+ // image_promo: _source.image_promo && _source.image_promo[0],
133
+ // image_promo_large:
134
+ // _source.image_promo_large && _source.image_promo_large[0],
135
+ // image_poster: _source.image_poster && _source.image_poster[0],
136
+ // summary: _source.summary && _source.summary[0],
137
+ // created: _source.created && _source.created[0],
138
+ // updated: _source.revision_timestamp && _source.revision_timestamp[0],
139
+ // video: _source.video_manifest && _source.video_manifest[0],
140
+ // rating: _source.rating && _source.rating[0],
141
+ // released: _source.released_date && _source.released_date[0],
142
+ // source_id: _source.source_id && _source.source_id[0],
143
+ // director: _source.director && _source.director[0],
144
+ // duration: _source.duration && _source.duration[0],
145
+ // path: _source.path && _source.path[0],
146
+ // genres: _source.genres,
147
+ // actors: _source.actors,
148
+ // writers: _source.writers,
149
+ // };
150
+ // });
151
+ // }
152
+ function formatFaqs(data) {
153
+ return data.map((item) => {
154
+ const { _source } = item;
155
+ return {
156
+ uuid: _source.uuid && _source.uuid[0],
157
+ id: _source.uuid && _source.uuid[0],
158
+ title: _source.title && _source.title[0],
159
+ answer: _source.answer && _source.answer[0],
160
+ created: _source.created && _source.created[0],
161
+ updated: _source.updated && _source.updated[0],
162
+ };
163
+ });
164
+ }
165
+ function formatPages(data) {
166
+ return data.map((item) => {
167
+ return {
168
+ uuid: item?._source?.uuid?.[0],
169
+ id: item?._source?.uuid?.[0],
170
+ title: item?._source?.title?.[0],
171
+ body: item?._source?.body?.[0],
172
+ created: item?._source?.created?.[0],
173
+ updated: item?._source?.updated?.[0],
174
+ langcode: item?._source?.langcode?.[0],
175
+ url: item?._source?.url?.[0],
176
+ };
177
+ });
178
+ }
179
+ function formatSettings(data) {
180
+ return data.map((item) => {
181
+ const { _source } = item;
182
+ const fieldset = _source.fieldset && _source.fieldset[0].toLowerCase();
183
+ return {
184
+ uuid: _source.uuid && _source.uuid[0],
185
+ created: _source.created && _source.created[0],
186
+ updated: _source.updated && _source.updated[0],
187
+ status: _source.status && _source.status[0],
188
+ type: _source.type && _source.type[0],
189
+ video: _source.video && _source.video[0],
190
+ number: _source.number && _source.number[0],
191
+ pass: _source.pass && _source.pass[0],
192
+ fieldset,
193
+ };
194
+ });
195
+ }
196
+ function formatPress(data) {
197
+ return data.map((item) => {
198
+ const { _source } = item;
199
+ return {
200
+ uuid: _source.uuid && _source.uuid[0],
201
+ created: _source.created && _source.created[0],
202
+ updated: _source.updated && _source.updated[0],
203
+ image: _source.image && _source.image[0],
204
+ title: _source.title && _source.title[0],
205
+ };
206
+ });
207
+ }
208
+ function formatGuests(data) {
209
+ return data.map((item) => {
210
+ const { _source } = item;
211
+ return {
212
+ uuid: _source.uuid && _source.uuid[0],
213
+ id: _source.id && _source.id[0],
214
+ title: _source.title && _source.title[0],
215
+ updated: _source.updated && _source.updated[0],
216
+ description: _source.description && _source.description[0],
217
+ image: _source.image_16_9 && _source.image_16_9[0],
218
+ display: _source.display && _source.display[0],
219
+ };
220
+ });
221
+ }
222
+ function formatVideos(data) {
223
+ return data.map((item) => {
224
+ return {
225
+ uuid: item?._source?.uuid?.[0],
226
+ title: item?._source?.title?.[0],
227
+ created: item?._source?.created?.[0],
228
+ updated: item?._source?.updated?.[0],
229
+ description: item?._source?.description?.[0],
230
+ image: item?._source?.image?.[0],
231
+ duration: item?._source?.duration?.[0],
232
+ section: item?._source?.section?.[0],
233
+ videoPoster: item?._source?.video_poster?.[0],
234
+ video: item?._source?.video_url?.[0],
235
+ videoDownload: item?._source?.video_download?.[0],
236
+ sectionId: item?._source?.section_id?.[0],
237
+ };
238
+ });
239
+ }
240
+ function formatSections(data) {
241
+ return data.map((item) => {
242
+ const { _source } = item;
243
+ return {
244
+ uuid: _source.uuid && _source.uuid[0],
245
+ title: _source.title && _source.title[0],
246
+ description: _source.description && _source.description[0],
247
+ image: _source.image && _source.image[0],
248
+ challenge: _source.challenge && _source.challenge[0],
249
+ display: _source.display && _source.display[0],
250
+ id: _source.id && _source.id[0],
251
+ };
252
+ });
253
+ }
254
+ function formatSchedule(data) {
255
+ return data.map((item) => {
256
+ return {
257
+ uuid: item?._source?.uuid?.[0],
258
+ created: item?._source?.created?.[0],
259
+ langcode: item?._source?.langcode?.[0],
260
+ updated: item?._source?.updated?.[0],
261
+ days: [
262
+ {
263
+ monday: item?._source?.monday_title?.map((title, index) => {
264
+ return {
265
+ end: item?._source?.monday_end?.[index],
266
+ start: item?._source?.monday_start?.[index],
267
+ title,
268
+ video: item?._source?.monday_video?.[index],
269
+ live: item?._source?.monday_live?.[index],
270
+ };
271
+ }),
272
+ },
273
+ {
274
+ tuesday: item?._source?.tuesday_title?.map((title, index) => {
275
+ return {
276
+ end: item?._source?.tuesday_end?.[index],
277
+ start: item?._source?.tuesday_start?.[index],
278
+ title,
279
+ video: item?._source?.tuesday_video?.[index],
280
+ live: item?._source?.tuesday_live?.[index],
281
+ };
282
+ }),
283
+ },
284
+ {
285
+ wednesday: item?._source?.wednesday_title?.map((title, index) => {
286
+ return {
287
+ end: item?._source?.wednesday_end?.[index],
288
+ start: item?._source?.wednesday_start?.[index],
289
+ title,
290
+ video: item?._source?.wednesday_video?.[index],
291
+ live: item?._source?.wednesday_live?.[index],
292
+ };
293
+ }),
294
+ },
295
+ {
296
+ thursday: item?._source?.thursday_title?.map((title, index) => {
297
+ return {
298
+ end: item?._source?.thursday_end?.[index],
299
+ start: item?._source?.thursday_start?.[index],
300
+ title,
301
+ video: item?._source?.thursday_video?.[index],
302
+ live: item?._source?.thursday_live?.[index],
303
+ };
304
+ }),
305
+ },
306
+ {
307
+ friday: item?._source?.friday_title?.map((title, index) => {
308
+ return {
309
+ end: item?._source?.friday_end?.[index],
310
+ start: item?._source?.friday_start?.[index],
311
+ title,
312
+ video: item?._source?.friday_video?.[index],
313
+ live: item?._source?.friday_live?.[index],
314
+ };
315
+ }),
316
+ },
317
+ {
318
+ saturday: item?._source?.saturday_title?.map((title, index) => {
319
+ return {
320
+ end: item?._source?.saturday_end?.[index],
321
+ start: item?._source?.saturday_start?.[index],
322
+ title,
323
+ video: item?._source?.saturday_video?.[index],
324
+ live: item?._source?.saturday_live?.[index],
325
+ };
326
+ }),
327
+ },
328
+ {
329
+ sunday: item?._source?.sunday_title?.map((title, index) => {
330
+ return {
331
+ end: item?._source?.sunday_end?.[index],
332
+ start: item?._source?.sunday_start?.[index],
333
+ title,
334
+ video: item?._source?.sunday_video?.[index],
335
+ live: item?._source?.sunday_live?.[index],
336
+ };
337
+ }),
338
+ },
339
+ ],
340
+ };
341
+ });
342
+ }
343
+ function formatChallenges(data) {
344
+ return data.map((item) => {
345
+ const { _source } = item;
346
+ return {
347
+ uuid: _source?.uuid?.[0],
348
+ title: _source.title && _source.title[0],
349
+ body: _source.body && _source.body[0],
350
+ image: _source.image && _source.image[0],
351
+ challengeKey: _source.challenge_key && _source.challenge_key[0],
352
+ created: _source.created && _source.created[0],
353
+ days: _source.days,
354
+ updated: _source.updated && _source.updated[0],
355
+ purchaseButtonLabel: _source.purchase_button_label && _source.purchase_button_label[0],
356
+ price: _source.price && _source.price[0],
357
+ };
358
+ });
359
+ }
360
+ function formatChallengeDays(data) {
361
+ return data.map((item) => {
362
+ return {
363
+ uuid: item?._source?.uuid?.[0],
364
+ title: item?._source?.title?.[0],
365
+ body: item?._source?.body?.[0],
366
+ image: item?._source?.image?.[0],
367
+ created: item?._source?.created?.[0],
368
+ updated: item?._source?.updated?.[0],
369
+ video: item?._source?.video?.[0],
370
+ workout: item?._source?.workout?.[0],
371
+ };
372
+ });
373
+ }
374
+ function formatSecondsToISO8601Duration(seconds) {
375
+ if (!seconds)
376
+ return '';
377
+ // Calculate hours, minutes, and remaining seconds
378
+ const hours = Math.floor(seconds / 3600);
379
+ const minutes = Math.floor((seconds % 3600) / 60);
380
+ const remainingSeconds = seconds % 60;
381
+ // Build the ISO 8601 duration string
382
+ let duration = 'PT';
383
+ if (hours > 0) {
384
+ duration += `${hours}H`;
385
+ }
386
+ if (minutes > 0) {
387
+ duration += `${minutes}M`;
388
+ }
389
+ if (remainingSeconds > 0 || duration === 'PT') {
390
+ duration += `${remainingSeconds}S`;
391
+ }
392
+ return duration;
393
+ }
394
+ function formatAuthSession(session) {
395
+ return {
396
+ accessToken: session?.tokens?.accessToken.toString(),
397
+ idToken: session?.tokens?.idToken?.toString(),
398
+ refreshToken: undefined,
399
+ accessTokenExpiry: session?.tokens?.idToken?.payload?.exp,
400
+ expires: session?.tokens?.idToken?.payload?.exp,
401
+ sub: session?.tokens?.idToken?.payload?.['cognito:username']?.toString(),
402
+ details: {
403
+ userEmail: session?.tokens?.idToken?.payload?.email?.toString(),
404
+ firstName: session?.tokens?.idToken?.payload?.given_name?.toString(),
405
+ lastName: session?.tokens?.idToken?.payload?.family_name?.toString(),
406
+ dateOfBirth: session?.tokens?.idToken?.payload?.birthdate?.toString(),
407
+ 'cognito:username': session?.tokens?.idToken?.payload?.['cognito:username']?.toString(),
408
+ 'custom:termsAccepted': session?.tokens?.idToken?.payload?.['custom:termsAccepted']?.toString(),
409
+ 'custom:subscriptionId': session?.tokens?.idToken?.payload?.['custom:subscriptionId']?.toString(),
410
+ 'custom:contactPreferences': session?.tokens?.idToken?.payload?.['custom:contactPreferences']?.toString(),
411
+ 'custom:customerId': session?.tokens?.idToken?.payload?.['custom:customerId']?.toString(),
412
+ picture: session?.tokens?.idToken?.payload?.picture?.toString(),
413
+ },
414
+ };
415
+ }
416
+ function formatFedaratedSession(session) {
417
+ return {
418
+ accessToken: session?.accessToken?.jwtToken,
419
+ idToken: session?.idToken?.jwtToken,
420
+ refreshToken: session?.refreshToken?.token,
421
+ accessTokenExpiry: session?.accessToken?.payload?.exp,
422
+ expires: session?.accessToken?.payload?.exp,
423
+ sub: session?.idToken?.payload?.sub,
424
+ details: {
425
+ userEmail: session?.idToken?.payload?.email,
426
+ firstName: session?.idToken?.payload?.given_name,
427
+ lastName: session?.idToken?.payload?.family_name,
428
+ dateOfBirth: session?.idToken?.payload?.birthdate,
429
+ 'cognito:username': session?.idToken?.payload?.sub,
430
+ 'custom:termsAccepted': session?.idToken?.payload?.['custom:termsAccepted'],
431
+ 'custom:subscriptionId': session?.idToken?.payload?.['custom:subscriptionId'],
432
+ 'custom:contactPreferences': session?.idToken?.payload?.['custom:contactPreferences'],
433
+ 'custom:customerId': session?.idToken?.payload?.['custom:customerId'],
434
+ picture: session?.idToken?.payload?.picture,
435
+ id: toCamelCaseObject(session?.idToken?.payload),
436
+ },
437
+ };
438
+ }
439
+ function formatSocialAuthSession(tokens) {
440
+ const idToken = jwtDecode(tokens.idToken);
441
+ return {
442
+ socialSignin: true,
443
+ accessToken: tokens.accessToken,
444
+ idToken: tokens.idToken,
445
+ refreshToken: tokens.refreshToken,
446
+ accessTokenExpiry: idToken?.exp,
447
+ expires: idToken?.exp,
448
+ sub: idToken.sub,
449
+ details: {
450
+ userEmail: idToken.email,
451
+ firstName: idToken.given_name,
452
+ lastName: idToken.family_name,
453
+ dateOfBirth: idToken?.birthdate,
454
+ 'cognito:username': idToken?.['cognito:username'],
455
+ 'custom:termsAccepted': idToken?.['custom:termsAccepted'],
456
+ 'custom:subscriptionId': idToken?.['custom:subscriptionId'],
457
+ 'custom:contactPreferences': idToken?.['custom:contactPreferences'],
458
+ 'custom:customerId': idToken?.['custom:customerId'],
459
+ picture: idToken?.picture,
460
+ },
461
+ };
462
+ }
463
+ function formatConfig(data) {
464
+ return data.map((item) => {
465
+ return {
466
+ uuid: item?._source?.uuid?.[0],
467
+ id: item?._source?.uuid?.[0],
468
+ created: item?._source?.created?.[0],
469
+ updated: item?._source?.updated?.[0],
470
+ type: item?._source?.type?.[0],
471
+ cla: item?._source?.cla?.[0],
472
+ enabled: item?._source?.enabled?.[0],
473
+ name: item?._source?.name?.[0],
474
+ price: item?._source?.price?.[0],
475
+ video: item?._source?.video?.[0],
476
+ imageHomepage: item?._source?.image_homepage?.[0],
477
+ imageSectionBanner: item?._source?.image_section_banner?.[0],
478
+ };
479
+ });
480
+ }
481
+ function formatSectionPanels(data) {
482
+ return data.map((item) => {
483
+ return {
484
+ uuid: item?._source?.uuid?.[0],
485
+ id: item?._source?.uuid?.[0],
486
+ title: item?._source?.title?.[0],
487
+ created: item?._source?.created?.[0],
488
+ updated: item?._source?.updated?.[0],
489
+ weight: item?._source?.weight?.[0],
490
+ items: item?._source?.item_uuid,
491
+ type: item?._source?.type?.[0],
492
+ };
493
+ });
494
+ }
495
+ function formatSectionItems(data) {
496
+ return data.map((item) => {
497
+ return {
498
+ uuid: item?._source?.uuid?.[0],
499
+ id: item?._source?.uuid?.[0],
500
+ title: item?._source?.title?.[0],
501
+ created: item?._source?.created?.[0],
502
+ updated: item?._source?.updated?.[0],
503
+ type: item?._source?.type?.[0],
504
+ term: item?._source?.term?.[0],
505
+ image: item?._source?.custom_image_formatted?.[0],
506
+ bannerImage: item?._source?.banner_image_formatted?.[0],
507
+ };
508
+ });
509
+ }
510
+ const formatTaxonomies = (data) => {
511
+ return data.map((item) => {
512
+ return {
513
+ uuid: item?._source?.uuid?.[0],
514
+ id: item?._source?.uuid?.[0],
515
+ updated: item?._source?.updated?.[0],
516
+ vocabulary: item?._source?.vocabulary?.[0],
517
+ name: item?._source?.name?.[0],
518
+ description: item?._source?.description?.[0],
519
+ image: item?._source?.image?.[0],
520
+ imageBanner: item?._source?.image_banner?.[0],
521
+ imageBannerTaxonomy: item?._source?.image_banner_taxonomy?.[0],
522
+ imageLarge: item?._source?.image_large_16_9?.[0],
523
+ weight: item?._source?.weight?.[0],
524
+ parentName: item?._source?.parent_name?.[0],
525
+ color: item?._source?.color?.[0],
526
+ };
527
+ });
528
+ };
529
+ const formatSeries = (data) => {
530
+ return data.map((item) => {
531
+ return {
532
+ uuid: item?._source?.uuid?.[0],
533
+ id: item?._source?.uuid?.[0],
534
+ created: item?._source?.created?.[0],
535
+ updated: item?._source?.updated?.[0],
536
+ title: item?._source?.display_title?.[0],
537
+ synopsis: item?._source?.synopsis?.[0],
538
+ imagePoster: item?._source?.image_style_poster?.[0],
539
+ imageThumb: item?._source?.image_style_thumb?.[0],
540
+ category: item?._source?.category?.[0],
541
+ categoryId: item?._source?.category_id?.[0],
542
+ seasons: item?._source?.seasons || [],
543
+ };
544
+ });
545
+ };
546
+ const formatSeasons = (data) => {
547
+ return data.map((item) => {
548
+ return {
549
+ uuid: item?._source?.uuid?.[0],
550
+ id: item?._source?.uuid?.[0],
551
+ created: item?._source?.created?.[0],
552
+ updated: item?._source?.updated?.[0],
553
+ title: item?._source?.display_title?.[0],
554
+ synopsis: item?._source?.synopsis?.[0],
555
+ imagePoster: item?._source?.image_style_poster?.[0],
556
+ imageThumb: item?._source?.image_style_thumb?.[0],
557
+ episodes: item?._source?.episodes || [],
558
+ seasonNumber: item?._source?.season_number?.[0],
559
+ showId: item?._source?.show?.[0],
560
+ };
561
+ });
562
+ };
563
+ const formatLongform = (data) => {
564
+ return data.map((item) => {
565
+ return {
566
+ uuid: item?._source?.uuid?.[0],
567
+ id: item?._source?.uuid?.[0],
568
+ created: item?._source?.created?.[0],
569
+ updated: item?._source?.updated?.[0],
570
+ title: item?._source?.display_title?.[0],
571
+ synopsis: item?._source?.synopsis?.[0],
572
+ imagePoster: item?._source?.image_style_poster?.[0],
573
+ imageThumb: item?._source?.image_style_thumb?.[0],
574
+ duration: item?._source?.duration?.[0],
575
+ releaseDate: item?._source?.release_date?.[0],
576
+ video: item?._source?.video?.[0],
577
+ imageUrl: item?._source?.image_url?.[0],
578
+ episodeNumber: item?._source?.episode_number?.[0],
579
+ };
580
+ });
581
+ };
582
+ const formatMediaItem = (data) => {
583
+ return data.map((item) => {
584
+ return {
585
+ changed: item?._source?.changed?.[0],
586
+ created: item?._source?.created?.[0],
587
+ image: item?._source?.image?.[0],
588
+ customThumbnail: item?._source?.custom_thumbnail?.[0],
589
+ price: item?._source?.price?.[0],
590
+ priceTwoYear: item?._source?.price_2_year?.[0],
591
+ revisionTimestamp: item?._source?.revision_timestamp?.[0],
592
+ sku: item?._source?.sku?.[0],
593
+ status: item?._source?.status?.[0],
594
+ uuid: item?._source?.uuid?.[0],
595
+ description: item?._source?.description?.[0],
596
+ transcript: item?._source?.transcript?.[0],
597
+ entities: item?._source?.entities,
598
+ phrases: item?._source?.phrases,
599
+ video: item?._source?.video?.[0],
600
+ title: item?._source?.title?.[0],
601
+ generatedTitle: item?._source?.generated_title?.[0],
602
+ projectPricing: item?._source?.project_pricing?.[0],
603
+ related_items: item?._source?.related_uuids,
604
+ franchises: item?._source?.franchise_name,
605
+ franchisesIds: item?._source?.franchise_tid,
606
+ original: item?._source?.original?.[0],
607
+ script: item?._source?.script?.[0],
608
+ hideThumbnailTitle: item?._source?.hide_thumbnail_title?.[0],
609
+ };
610
+ });
611
+ };
612
+
613
+ export { formatAuthSession, formatChallengeDays, formatChallenges, formatConfig, formatFaqs, formatFedaratedSession, formatGuests, formatLongform, formatMediaItem, formatPages, formatPress, formatPromos, formatSchedule, formatSeasons, formatSecondsToISO8601Duration, formatSectionItems, formatSectionPanels, formatSections, formatSeries, formatSettings, formatShortform, formatSocialAuthSession, formatTaxonomies, formatUserPayload, formatVideos, formatWorkout, toCamelCaseObject };
9
614
  //# sourceMappingURL=index.js.map