37883.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. "use strict";
  2. exports.id = 37883;
  3. exports.ids = [37883];
  4. exports.modules = {
  5. /***/ 37883:
  6. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  7. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8. /* harmony export */ "AL": () => (/* binding */ addNote),
  9. /* harmony export */ "BB": () => (/* binding */ updateUserConsent),
  10. /* harmony export */ "DG": () => (/* binding */ getStreakWithUserMetadata),
  11. /* harmony export */ "Ec": () => (/* binding */ addReadingGoal),
  12. /* harmony export */ "F4": () => (/* binding */ getUserCoursesCount),
  13. /* harmony export */ "JM": () => (/* binding */ getUserPreferences),
  14. /* harmony export */ "MQ": () => (/* binding */ addOrUpdateBulkUserPreferences),
  15. /* harmony export */ "P4": () => (/* binding */ deleteCollection),
  16. /* harmony export */ "QC": () => (/* binding */ deleteReadingGoal),
  17. /* harmony export */ "Qd": () => (/* binding */ deleteCollectionBookmarkById),
  18. /* harmony export */ "Qk": () => (/* binding */ updateNote),
  19. /* harmony export */ "Rm": () => (/* binding */ updateCollection),
  20. /* harmony export */ "TX": () => (/* binding */ logoutUser),
  21. /* harmony export */ "UK": () => (/* binding */ privateFetcher),
  22. /* harmony export */ "W7": () => (/* binding */ getPageBookmarks),
  23. /* harmony export */ "XM": () => (/* binding */ estimateRangesReadingTime),
  24. /* harmony export */ "XR": () => (/* binding */ getCourse),
  25. /* harmony export */ "b5": () => (/* binding */ completeAnnouncement),
  26. /* harmony export */ "b9": () => (/* binding */ addOrUpdateUserPreference),
  27. /* harmony export */ "c7": () => (/* binding */ addReadingSession),
  28. /* harmony export */ "ct": () => (/* binding */ updateReadingGoal),
  29. /* harmony export */ "et": () => (/* binding */ getUserProfile),
  30. /* harmony export */ "ez": () => (/* binding */ deleteBookmarkById),
  31. /* harmony export */ "fG": () => (/* binding */ getCollectionsList),
  32. /* harmony export */ "f_": () => (/* binding */ deleteNote),
  33. /* harmony export */ "i1": () => (/* binding */ updateActivityDay),
  34. /* harmony export */ "j0": () => (/* binding */ postRequest),
  35. /* harmony export */ "jm": () => (/* binding */ countNotesWithinRange),
  36. /* harmony export */ "kK": () => (/* binding */ completeSignup),
  37. /* harmony export */ "ku": () => (/* binding */ postCourseFeedback),
  38. /* harmony export */ "rs": () => (/* binding */ syncUserLocalData),
  39. /* harmony export */ "tm": () => (/* binding */ deleteAccount),
  40. /* harmony export */ "x8": () => (/* binding */ requestVerificationCode),
  41. /* harmony export */ "xh": () => (/* binding */ enrollUser),
  42. /* harmony export */ "yJ": () => (/* binding */ publishNoteToQR)
  43. /* harmony export */ });
  44. /* unused harmony exports getUserFeatureFlags, refreshToken, addBookmark, getBookmark, getBookmarkCollections, filterReadingDays, getActivityDay, addCollectionBookmark, deleteCollectionBookmarkByKey, getBookmarksByCollectionId, getCourses, addCollection, getAllNotes, withCredentialsFetcher */
  45. /* harmony import */ var refresh_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52648);
  46. /* harmony import */ var refresh_fetch__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(refresh_fetch__WEBPACK_IMPORTED_MODULE_0__);
  47. /* harmony import */ var _datetime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76410);
  48. /* harmony import */ var _types_auth_ActivityDay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97043);
  49. /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13830);
  50. /* harmony import */ var src_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92684);
  51. /* eslint-disable max-lines */
  52. const handleErrors = async (res)=>{
  53. const body = await res.json();
  54. throw new Error(body?.message);
  55. };
  56. /**
  57. * Execute a POST request
  58. *
  59. * @param {string} url
  60. * @param {RequestData} requestData
  61. * @returns {Promise<T>}
  62. */ const postRequest = (url, requestData)=>privateFetcher(url, {
  63. method: "POST",
  64. // eslint-disable-next-line @typescript-eslint/naming-convention
  65. headers: {
  66. "Content-Type": "application/json"
  67. },
  68. body: JSON.stringify(requestData)
  69. });
  70. /**
  71. * Execute a DELETE request.
  72. *
  73. * @param {string} url
  74. * @param {RequestData} requestData
  75. * @returns {Promise<T>}
  76. */ const deleteRequest = (url, requestData)=>privateFetcher(url, {
  77. method: "DELETE",
  78. ...requestData && {
  79. // eslint-disable-next-line @typescript-eslint/naming-convention
  80. headers: {
  81. "Content-Type": "application/json"
  82. },
  83. body: JSON.stringify(requestData)
  84. }
  85. });
  86. /**
  87. * Execute a PATCH request.
  88. *
  89. * @param {string} url
  90. * @param {RequestData} requestData
  91. * @returns {Promise<T>}
  92. */ const patchRequest = (url, requestData)=>privateFetcher(url, {
  93. method: "PATCH",
  94. ...requestData && {
  95. // eslint-disable-next-line @typescript-eslint/naming-convention
  96. headers: {
  97. "Content-Type": "application/json"
  98. },
  99. body: JSON.stringify(requestData)
  100. }
  101. });
  102. const getUserProfile = async ()=>privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeUserProfileUrl */ .bo)());
  103. const getUserFeatureFlags = async ()=>privateFetcher(makeUserFeatureFlagsUrl());
  104. const refreshToken = async ()=>privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeRefreshTokenUrl */ .Qd)());
  105. const completeSignup = async (data)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeCompleteSignupUrl */ .iX)(), data);
  106. const completeAnnouncement = async (data)=>{
  107. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeCompleteAnnouncementUrl */ .R8)(), data);
  108. };
  109. const updateUserConsent = async (data)=>{
  110. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeUserConsentsUrl */ .an)(), data);
  111. };
  112. const deleteAccount = async ()=>deleteRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeDeleteAccountUrl */ .Xk)());
  113. const addBookmark = async ({ key , mushafId , type , verseNumber })=>postRequest(makeBookmarksUrl(mushafId), {
  114. key,
  115. mushaf: mushafId,
  116. type,
  117. verseNumber
  118. });
  119. const getPageBookmarks = async (mushafId, chapterNumber, verseNumber, perPage)=>privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeBookmarksRangeUrl */ .SH)(mushafId, chapterNumber, verseNumber, perPage));
  120. const getBookmark = async (mushafId, key, type, verseNumber)=>privateFetcher(makeBookmarkUrl(mushafId, key, type, verseNumber));
  121. const getBookmarkCollections = async (mushafId, key, type, verseNumber)=>privateFetcher(makeBookmarkCollectionsUrl(mushafId, key, type, verseNumber));
  122. const addReadingGoal = async ({ mushafId , category , ...data })=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeGoalUrl */ .ky)({
  123. mushafId,
  124. type: category
  125. }), data);
  126. const updateReadingGoal = async ({ mushafId , category , ...data })=>patchRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeGoalUrl */ .ky)({
  127. mushafId,
  128. type: category
  129. }), data);
  130. const deleteReadingGoal = async (params)=>deleteRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeGoalUrl */ .ky)({
  131. type: params.category
  132. }));
  133. const filterReadingDays = async (params)=>privateFetcher(makeFilterActivityDaysUrl(params));
  134. const getActivityDay = async (type)=>privateFetcher(makeActivityDaysUrl({
  135. type
  136. }));
  137. const addReadingSession = async (chapterNumber, verseNumber)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeReadingSessionsUrl */ .Tj)(), {
  138. chapterNumber,
  139. verseNumber
  140. });
  141. const updateActivityDay = async (params)=>{
  142. if (params.type === _types_auth_ActivityDay__WEBPACK_IMPORTED_MODULE_2__/* .ActivityDayType.QURAN */ .t.QURAN) {
  143. const { mushafId , type , ...body } = params;
  144. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeActivityDaysUrl */ .D4)({
  145. mushafId,
  146. type
  147. }), body);
  148. }
  149. const { type: type1 , ...body1 } = params;
  150. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeActivityDaysUrl */ .D4)({
  151. type: type1
  152. }), body1);
  153. };
  154. const estimateRangesReadingTime = async (body)=>{
  155. return privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeEstimateRangesReadingTimeUrl */ .j$)(body));
  156. };
  157. const getStreakWithUserMetadata = async (params)=>privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeStreakUrl */ .G_)(params));
  158. const syncUserLocalData = async (payload)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeSyncLocalDataUrl */ .wR)(), payload);
  159. const getUserPreferences = async ()=>{
  160. const userPreferences = await privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeUserPreferencesUrl */ .mL)());
  161. return userPreferences;
  162. };
  163. const addOrUpdateUserPreference = async (key, value, group, mushafId)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeUserPreferencesUrl */ .mL)(mushafId), {
  164. key,
  165. value,
  166. group
  167. });
  168. const getCollectionsList = async (queryParams)=>{
  169. return privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeCollectionsUrl */ .Tb)(queryParams));
  170. };
  171. const updateCollection = async (collectionId, { name })=>{
  172. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeUpdateCollectionUrl */ .vK)(collectionId), {
  173. name
  174. });
  175. };
  176. const deleteCollection = async (collectionId)=>{
  177. return deleteRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeDeleteCollectionUrl */ .Ip)(collectionId));
  178. };
  179. const addCollectionBookmark = async ({ collectionId , key , mushaf , type , verseNumber })=>{
  180. return postRequest(makeAddCollectionBookmarkUrl(collectionId), {
  181. collectionId,
  182. key,
  183. mushaf,
  184. type,
  185. verseNumber
  186. });
  187. };
  188. const deleteCollectionBookmarkById = async (collectionId, bookmarkId)=>{
  189. return deleteRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeDeleteCollectionBookmarkByIdUrl */ .Pd)(collectionId, bookmarkId));
  190. };
  191. const deleteCollectionBookmarkByKey = async ({ collectionId , key , mushaf , type , verseNumber , })=>{
  192. return deleteRequest(makeDeleteCollectionBookmarkByKeyUrl(collectionId), {
  193. collectionId,
  194. key,
  195. mushaf,
  196. type,
  197. verseNumber
  198. });
  199. };
  200. const deleteBookmarkById = async (bookmarkId)=>{
  201. return deleteRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeDeleteBookmarkUrl */ .DZ)(bookmarkId));
  202. };
  203. const getBookmarksByCollectionId = async (collectionId, queryParams)=>{
  204. return privateFetcher(makeGetBookmarkByCollectionId(collectionId, queryParams));
  205. };
  206. const enrollUser = async (courseId)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeEnrollUserUrl */ .Qf)(), {
  207. courseId
  208. });
  209. const postCourseFeedback = async ({ courseId , rating , body })=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeCourseFeedbackUrl */ .TX)(courseId), {
  210. rating,
  211. body
  212. });
  213. const getCourses = async ()=>privateFetcher(makeGetCoursesUrl());
  214. const getCourse = async (courseSlugOrId)=>privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeGetCourseUrl */ .vp)(courseSlugOrId));
  215. const getUserCoursesCount = async ()=>privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeGetUserCoursesCountUrl */ .V9)());
  216. const addCollection = async (collectionName)=>{
  217. return postRequest(makeAddCollectionUrl(), {
  218. name: collectionName
  219. });
  220. };
  221. const getAllNotes = async (params)=>{
  222. return privateFetcher(makeNotesUrl(params));
  223. };
  224. const countNotesWithinRange = async (from, to)=>{
  225. return privateFetcher((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeCountNotesWithinRangeUrl */ .h6)(from, to));
  226. };
  227. const addNote = async (payload)=>{
  228. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeNotesUrl */ .C)(), payload);
  229. };
  230. const publishNoteToQR = async (noteId, payload)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makePublishNoteUrl */ .E4)(noteId), payload);
  231. const updateNote = async (id, body, saveToQR)=>patchRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeDeleteOrUpdateNoteUrl */ .bi)(id), {
  232. body,
  233. saveToQR
  234. });
  235. const deleteNote = async (id)=>deleteRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeDeleteOrUpdateNoteUrl */ .bi)(id));
  236. const requestVerificationCode = async (emailToVerify)=>{
  237. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeVerificationCodeUrl */ .qc)(), {
  238. email: emailToVerify
  239. });
  240. };
  241. const addOrUpdateBulkUserPreferences = async (preferences, mushafId)=>postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeUserBulkPreferencesUrl */ .pI)(mushafId), preferences);
  242. const logoutUser = async ()=>{
  243. return postRequest((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makeLogoutUrl */ .Q_)(), {});
  244. };
  245. const shouldRefreshToken = (error)=>{
  246. return error?.message === "must refresh token";
  247. };
  248. const withCredentialsFetcher = async (input, init)=>{
  249. try {
  250. const data = await (0,src_api__WEBPACK_IMPORTED_MODULE_4__/* .fetcher */ ._i)(input, {
  251. ...init,
  252. credentials: "include",
  253. headers: {
  254. ...init?.headers,
  255. // eslint-disable-next-line @typescript-eslint/naming-convention
  256. "x-timezone": (0,_datetime__WEBPACK_IMPORTED_MODULE_1__/* .getTimezone */ .EP)()
  257. }
  258. });
  259. return data;
  260. } catch (error) {
  261. await handleErrors(error);
  262. return null;
  263. }
  264. };
  265. const privateFetcher = (0,refresh_fetch__WEBPACK_IMPORTED_MODULE_0__.configureRefreshFetch)({
  266. shouldRefreshToken,
  267. // @ts-ignore
  268. refreshToken,
  269. fetch: withCredentialsFetcher
  270. });
  271. /***/ }),
  272. /***/ 97043:
  273. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  274. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  275. /* harmony export */ "t": () => (/* binding */ ActivityDayType)
  276. /* harmony export */ });
  277. var ActivityDayType;
  278. (function(ActivityDayType) {
  279. ActivityDayType["QURAN"] = "QURAN";
  280. ActivityDayType["LESSON"] = "LESSON";
  281. })(ActivityDayType || (ActivityDayType = {}));
  282. /***/ })
  283. };
  284. ;
  285. //# sourceMappingURL=37883.js.map