@medipass/web-sdk 11.38.1-feature-eclipse-reporting.0 → 11.38.1-feature-typescript-claudia.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 (294) hide show
  1. package/.eslintrc.cjs +95 -0
  2. package/babel.config.js +2 -1
  3. package/lib/index.d.ts +262 -0
  4. package/lib/index.js +83 -3
  5. package/lib/{regions-7b23080d.js → regions-a0a28864.js} +2 -2
  6. package/lib/resources/accounts.d.ts +215 -0
  7. package/lib/resources/accounts.js +3 -3
  8. package/lib/resources/actions.d.ts +13 -0
  9. package/lib/resources/actions.js +3 -3
  10. package/lib/resources/api-keys.d.ts +24 -0
  11. package/lib/resources/api-keys.js +3 -3
  12. package/lib/resources/applications.d.ts +31 -0
  13. package/lib/resources/applications.js +3 -3
  14. package/lib/resources/attachments.d.ts +32 -0
  15. package/lib/resources/attachments.js +3 -3
  16. package/lib/resources/auth.d.ts +59 -0
  17. package/lib/resources/auth.js +3 -3
  18. package/lib/resources/bulk-submits.d.ts +17 -0
  19. package/lib/resources/bulk-submits.js +3 -3
  20. package/lib/resources/bulk-uploads.d.ts +26 -0
  21. package/lib/resources/bulk-uploads.js +3 -3
  22. package/lib/resources/business-profiles.d.ts +18 -0
  23. package/lib/resources/business-profiles.js +3 -3
  24. package/lib/resources/businesses.d.ts +132 -0
  25. package/lib/resources/businesses.js +3 -3
  26. package/lib/resources/claim-items.d.ts +31 -0
  27. package/lib/resources/claim-items.js +3 -3
  28. package/lib/resources/devices.d.ts +11 -0
  29. package/lib/resources/devices.js +3 -3
  30. package/lib/resources/doc-accounts.d.ts +32 -0
  31. package/lib/resources/doc-accounts.js +3 -3
  32. package/lib/resources/documents.d.ts +90 -0
  33. package/lib/resources/documents.js +3 -3
  34. package/lib/resources/emails.d.ts +14 -0
  35. package/lib/resources/emails.js +3 -3
  36. package/lib/resources/form-application-templates.d.ts +20 -0
  37. package/lib/resources/form-application-templates.js +3 -3
  38. package/lib/resources/form-applications.d.ts +27 -0
  39. package/lib/resources/form-applications.js +3 -3
  40. package/lib/resources/forms.d.ts +100 -0
  41. package/lib/resources/forms.js +3 -3
  42. package/lib/resources/funder-services.d.ts +8 -0
  43. package/lib/resources/funder-services.js +3 -3
  44. package/lib/resources/funder-settings.d.ts +8 -0
  45. package/lib/resources/funder-settings.js +3 -3
  46. package/lib/resources/funders.d.ts +5 -0
  47. package/lib/resources/funders.js +3 -3
  48. package/lib/resources/futures.d.ts +85 -0
  49. package/lib/resources/futures.js +3 -3
  50. package/lib/resources/health-fund-accounts.d.ts +78 -0
  51. package/lib/resources/health-fund-accounts.js +3 -3
  52. package/lib/resources/health-fund-settings.d.ts +39 -0
  53. package/lib/resources/health-fund-settings.js +3 -3
  54. package/lib/resources/healthfunds.d.ts +64 -0
  55. package/lib/resources/healthfunds.js +3 -3
  56. package/lib/resources/icditems.d.ts +14 -0
  57. package/lib/resources/icditems.js +3 -3
  58. package/lib/resources/invoice-scans.d.ts +26 -0
  59. package/lib/resources/invoice-scans.js +3 -3
  60. package/lib/resources/jhcs.d.ts +7 -0
  61. package/lib/resources/jhcs.js +3 -3
  62. package/lib/resources/kyc.d.ts +109 -0
  63. package/lib/resources/kyc.js +3 -3
  64. package/lib/resources/logs.d.ts +16 -0
  65. package/lib/resources/logs.js +3 -3
  66. package/lib/resources/members.d.ts +92 -0
  67. package/lib/resources/members.js +3 -3
  68. package/lib/resources/message-mappings.d.ts +9 -0
  69. package/lib/resources/message-mappings.js +3 -3
  70. package/lib/resources/minions.d.ts +40 -0
  71. package/lib/resources/minions.js +3 -3
  72. package/lib/resources/modalities.d.ts +19 -0
  73. package/lib/resources/modalities.js +3 -3
  74. package/lib/resources/notes.d.ts +17 -0
  75. package/lib/resources/notes.js +3 -3
  76. package/lib/resources/onboarding-applications.d.ts +52 -0
  77. package/lib/resources/onboarding-applications.js +3 -3
  78. package/lib/resources/onboarding-requests.d.ts +39 -0
  79. package/lib/resources/onboarding-requests.js +3 -3
  80. package/lib/resources/ops.d.ts +60 -0
  81. package/lib/resources/ops.js +3 -3
  82. package/lib/resources/organisations.d.ts +7 -0
  83. package/lib/resources/organisations.js +3 -3
  84. package/lib/resources/partners.d.ts +50 -0
  85. package/lib/resources/partners.js +3 -3
  86. package/lib/resources/patients.d.ts +44 -0
  87. package/lib/resources/patients.js +3 -3
  88. package/lib/resources/payments.d.ts +155 -0
  89. package/lib/resources/payments.js +3 -3
  90. package/lib/resources/pms.d.ts +43 -0
  91. package/lib/resources/pms.js +3 -3
  92. package/lib/resources/practice-profiles.d.ts +20 -0
  93. package/lib/resources/practice-profiles.js +3 -3
  94. package/lib/resources/practice-types.d.ts +6 -0
  95. package/lib/resources/practice-types.js +3 -3
  96. package/lib/resources/practices.d.ts +137 -0
  97. package/lib/resources/practices.js +3 -3
  98. package/lib/resources/products.d.ts +23 -0
  99. package/lib/resources/products.js +3 -3
  100. package/lib/resources/professional-categories.d.ts +23 -0
  101. package/lib/resources/professional-categories.js +3 -3
  102. package/lib/resources/provider-number-types.d.ts +16 -0
  103. package/lib/resources/provider-number-types.js +3 -3
  104. package/lib/resources/provider-registration-types.d.ts +15 -0
  105. package/lib/resources/provider-registration-types.js +3 -3
  106. package/lib/resources/provider-requests.d.ts +17 -0
  107. package/lib/resources/provider-requests.js +3 -3
  108. package/lib/resources/provider-types.d.ts +6 -0
  109. package/lib/resources/provider-types.js +3 -3
  110. package/lib/resources/ref-sources.d.ts +6 -0
  111. package/lib/resources/ref-sources.js +3 -3
  112. package/lib/resources/risk.d.ts +13 -0
  113. package/lib/resources/risk.js +3 -3
  114. package/lib/resources/rnas.d.ts +43 -0
  115. package/lib/resources/rnas.js +3 -3
  116. package/lib/resources/roles.d.ts +7 -0
  117. package/lib/resources/roles.js +3 -3
  118. package/lib/resources/self-checkout-sessions.d.ts +134 -0
  119. package/lib/resources/self-checkout-sessions.js +3 -3
  120. package/lib/resources/services.d.ts +88 -0
  121. package/lib/resources/services.js +3 -3
  122. package/lib/resources/settlements.d.ts +37 -0
  123. package/lib/resources/settlements.js +3 -3
  124. package/lib/resources/sign-up.d.ts +5 -0
  125. package/lib/resources/sign-up.js +3 -3
  126. package/lib/resources/specialties.d.ts +23 -0
  127. package/lib/resources/specialties.js +3 -3
  128. package/lib/resources/staff-profiles.d.ts +20 -0
  129. package/lib/resources/staff-profiles.js +3 -3
  130. package/lib/resources/staff.d.ts +242 -0
  131. package/lib/resources/staff.js +3 -3
  132. package/lib/resources/statistics.d.ts +56 -0
  133. package/lib/resources/statistics.js +3 -3
  134. package/lib/resources/subscriptions.d.ts +32 -0
  135. package/lib/resources/subscriptions.js +3 -3
  136. package/lib/resources/terminals.d.ts +71 -0
  137. package/lib/resources/terminals.js +3 -3
  138. package/lib/resources/transaction-export.d.ts +18 -0
  139. package/lib/resources/transaction-export.js +3 -3
  140. package/lib/resources/transactions.d.ts +466 -0
  141. package/lib/resources/transactions.js +3 -3
  142. package/lib/resources/triggers.d.ts +20 -0
  143. package/lib/resources/triggers.js +3 -3
  144. package/lib/resources/vendors.d.ts +9 -0
  145. package/lib/resources/vendors.js +3 -3
  146. package/lib/resources/verify.d.ts +9 -0
  147. package/lib/resources/verify.js +3 -3
  148. package/lib/resources/workers.d.ts +3 -0
  149. package/lib/resources/workers.js +3 -3
  150. package/lib/resources/workflow-exceptions.d.ts +5 -0
  151. package/lib/resources/workflow-exceptions.js +3 -3
  152. package/lib/services/aws.d.ts +54 -0
  153. package/lib/services/aws.js +3 -3
  154. package/lib/services/storage.d.ts +28 -0
  155. package/lib/services/storage.js +126 -18
  156. package/lib/services/version.d.ts +21 -0
  157. package/lib/services/version.js +3 -3
  158. package/lib/{staff-1ec3d500.js → staff-96febcd8.js} +345 -738
  159. package/lib/types/documents.d.ts +115 -0
  160. package/lib/types/documents.js +2 -0
  161. package/lib/types/forms.d.ts +67 -0
  162. package/lib/types/forms.js +2 -0
  163. package/lib/types/index.d.ts +42 -0
  164. package/lib/types/index.js +2 -0
  165. package/lib/types/message-mappings.d.ts +18 -0
  166. package/lib/types/message-mappings.js +2 -0
  167. package/lib/types/notes.d.ts +5 -0
  168. package/lib/types/notes.js +2 -0
  169. package/lib/types/products.d.ts +34 -0
  170. package/lib/types/products.js +2 -0
  171. package/lib/types/professional-categories.d.ts +20 -0
  172. package/lib/types/professional-categories.js +2 -0
  173. package/lib/types/specialties.d.ts +22 -0
  174. package/lib/types/specialties.js +2 -0
  175. package/lib/types/subscriptions.d.ts +52 -0
  176. package/lib/types/subscriptions.js +2 -0
  177. package/lib/utils/application.d.ts +1 -0
  178. package/lib/utils/application.js +3 -3
  179. package/lib/utils/base-urls/core.d.ts +19 -0
  180. package/lib/utils/base-urls/index.d.ts +37 -0
  181. package/lib/utils/base-urls/risk.d.ts +17 -0
  182. package/lib/utils/does-param-exist.d.ts +2 -0
  183. package/lib/utils/get-axios-error.d.ts +2 -0
  184. package/lib/utils/param-error.d.ts +3 -0
  185. package/lib/utils/professions.d.ts +3 -0
  186. package/lib/utils/professions.js +3 -3
  187. package/lib/utils/regions.d.ts +1 -0
  188. package/lib/utils/regions.js +2 -2
  189. package/lib/utils/request.d.ts +3 -0
  190. package/lib/utils/request.js +3 -3
  191. package/lib/utils/staff.d.ts +8 -0
  192. package/lib/utils/staff.js +3 -3
  193. package/package.json +19 -9
  194. package/tsconfig.json +33 -0
  195. package/.eslintrc +0 -3
  196. package/lib/_types/documents.js.flow +0 -118
  197. package/lib/_types/forms.js.flow +0 -57
  198. package/lib/_types/index.js.flow +0 -47
  199. package/lib/_types/message-mappings.js.flow +0 -22
  200. package/lib/_types/notes.js.flow +0 -7
  201. package/lib/_types/products.js.flow +0 -40
  202. package/lib/_types/professional-categories.js.flow +0 -25
  203. package/lib/_types/specialties.js.flow +0 -27
  204. package/lib/_types/subscriptions.js.flow +0 -58
  205. package/lib/index.js.flow +0 -438
  206. package/lib/resources/accounts.js.flow +0 -445
  207. package/lib/resources/actions.js.flow +0 -25
  208. package/lib/resources/api-keys.js.flow +0 -54
  209. package/lib/resources/applications.js.flow +0 -60
  210. package/lib/resources/attachments.js.flow +0 -75
  211. package/lib/resources/auth.js.flow +0 -185
  212. package/lib/resources/bulk-submits.js.flow +0 -43
  213. package/lib/resources/bulk-uploads.js.flow +0 -56
  214. package/lib/resources/business-profiles.js.flow +0 -45
  215. package/lib/resources/businesses.js.flow +0 -267
  216. package/lib/resources/claim-items.js.flow +0 -76
  217. package/lib/resources/devices.js.flow +0 -64
  218. package/lib/resources/doc-accounts.js.flow +0 -61
  219. package/lib/resources/documents.js.flow +0 -216
  220. package/lib/resources/emails.js.flow +0 -96
  221. package/lib/resources/form-application-templates.js.flow +0 -52
  222. package/lib/resources/form-applications.js.flow +0 -62
  223. package/lib/resources/forms.js.flow +0 -222
  224. package/lib/resources/funder-services.js.flow +0 -17
  225. package/lib/resources/funder-settings.js.flow +0 -58
  226. package/lib/resources/funders.js.flow +0 -15
  227. package/lib/resources/futures.js.flow +0 -154
  228. package/lib/resources/health-fund-accounts.js.flow +0 -198
  229. package/lib/resources/health-fund-settings.js.flow +0 -104
  230. package/lib/resources/healthfunds.js.flow +0 -139
  231. package/lib/resources/icditems.js.flow +0 -36
  232. package/lib/resources/invoice-scans.js.flow +0 -56
  233. package/lib/resources/jhcs.js.flow +0 -20
  234. package/lib/resources/kyc.js.flow +0 -216
  235. package/lib/resources/logs.js.flow +0 -32
  236. package/lib/resources/members.js.flow +0 -196
  237. package/lib/resources/message-mappings.js.flow +0 -25
  238. package/lib/resources/minions.js.flow +0 -96
  239. package/lib/resources/modalities.js.flow +0 -46
  240. package/lib/resources/notes.js.flow +0 -112
  241. package/lib/resources/onboarding-applications.js.flow +0 -142
  242. package/lib/resources/onboarding-requests.js.flow +0 -97
  243. package/lib/resources/ops.js.flow +0 -116
  244. package/lib/resources/organisations.js.flow +0 -15
  245. package/lib/resources/partners.js.flow +0 -118
  246. package/lib/resources/patients.js.flow +0 -102
  247. package/lib/resources/payments.js.flow +0 -523
  248. package/lib/resources/pms.js.flow +0 -102
  249. package/lib/resources/practice-profiles.js.flow +0 -51
  250. package/lib/resources/practice-types.js.flow +0 -14
  251. package/lib/resources/practices.js.flow +0 -314
  252. package/lib/resources/products.js.flow +0 -48
  253. package/lib/resources/professional-categories.js.flow +0 -56
  254. package/lib/resources/provider-number-types.js.flow +0 -32
  255. package/lib/resources/provider-registration-types.js.flow +0 -32
  256. package/lib/resources/provider-requests.js.flow +0 -46
  257. package/lib/resources/provider-types.js.flow +0 -14
  258. package/lib/resources/ref-sources.js.flow +0 -16
  259. package/lib/resources/risk.js.flow +0 -29
  260. package/lib/resources/rnas.js.flow +0 -108
  261. package/lib/resources/roles.js.flow +0 -12
  262. package/lib/resources/self-checkout-sessions.js.flow +0 -382
  263. package/lib/resources/services.js.flow +0 -219
  264. package/lib/resources/settlements.js.flow +0 -97
  265. package/lib/resources/sign-up.js.flow +0 -15
  266. package/lib/resources/specialties.js.flow +0 -46
  267. package/lib/resources/staff-profiles.js.flow +0 -51
  268. package/lib/resources/staff.js.flow +0 -583
  269. package/lib/resources/statistics.js.flow +0 -147
  270. package/lib/resources/subscriptions.js.flow +0 -81
  271. package/lib/resources/terminals.js.flow +0 -161
  272. package/lib/resources/transaction-export.js.flow +0 -48
  273. package/lib/resources/transactions.js.flow +0 -1097
  274. package/lib/resources/triggers.js.flow +0 -36
  275. package/lib/resources/vendors.js.flow +0 -28
  276. package/lib/resources/verify.js.flow +0 -14
  277. package/lib/resources/workers.js.flow +0 -10
  278. package/lib/resources/workflow-exceptions.js.flow +0 -17
  279. package/lib/services/__mocks__/storage.js.flow +0 -30
  280. package/lib/services/aws.js.flow +0 -339
  281. package/lib/services/storage.js.flow +0 -92
  282. package/lib/services/version.js.flow +0 -73
  283. package/lib/storage-4b403caa.js +0 -1300
  284. package/lib/utils/application.js.flow +0 -23
  285. package/lib/utils/base-urls/core.js.flow +0 -18
  286. package/lib/utils/base-urls/index.js.flow +0 -7
  287. package/lib/utils/base-urls/risk.js.flow +0 -16
  288. package/lib/utils/does-param-exist.js.flow +0 -23
  289. package/lib/utils/get-axios-error.js.flow +0 -8
  290. package/lib/utils/param-error.js.flow +0 -8
  291. package/lib/utils/professions.js.flow +0 -66
  292. package/lib/utils/regions.js.flow +0 -21
  293. package/lib/utils/request.js.flow +0 -36
  294. package/lib/utils/staff.js.flow +0 -81
@@ -1,23 +0,0 @@
1
- import sdk from '../index';
2
-
3
- let _getSelfApplicationCache;
4
- let _getSelfApplicationCacheInProgress = false;
5
-
6
- export const getSelfApplicationCached = async () => {
7
- if (_getSelfApplicationCache) return _getSelfApplicationCache;
8
- if (!_getSelfApplicationCacheInProgress) {
9
- try {
10
- _getSelfApplicationCacheInProgress = true;
11
- _getSelfApplicationCache = await sdk.applications.getSelfApplication();
12
- } finally {
13
- _getSelfApplicationCacheInProgress = false;
14
- }
15
- } else {
16
- let data;
17
- do {
18
- await new Promise(resolve => setTimeout(resolve, 100));
19
- data = _getSelfApplicationCache;
20
- } while (!data);
21
- return data;
22
- }
23
- };
@@ -1,18 +0,0 @@
1
- export default {
2
- au: {
3
- local: `http://localhost:${process.env.REACT_APP_LOCAL_PORT || 2673}/`,
4
- dev: 'https://dev-api-au.medipass.io/',
5
- 'pre-prod': 'https://api-au-blue.medipass.io/',
6
- prod: 'https://api-au.medipass.io/',
7
- staging: 'https://stg-api-au.medipass.io/',
8
- perf: 'https://perf-api-au.medipass.io/'
9
- },
10
- uk: {
11
- local: `http://localhost:${process.env.REACT_APP_LOCAL_PORT || 2673}/`,
12
- dev: 'https://api.dev.uk.medipass.io/',
13
- 'pre-prod': 'https://api.blue.uk.medipass.io/',
14
- prod: 'https://api.uk.medipass.io/',
15
- staging: 'https://api.stg.uk.medipass.io/',
16
- perf: 'https://api.perf.uk.medipass.io/'
17
- }
18
- };
@@ -1,7 +0,0 @@
1
- import coreBaseUrls from './core';
2
- import riskBaseUrls from './risk';
3
-
4
- export default {
5
- core: coreBaseUrls,
6
- risk: riskBaseUrls
7
- };
@@ -1,16 +0,0 @@
1
- export default {
2
- au: {
3
- local: `http://localhost:${process.env.REACT_APP_LOCAL_PORT || 7475}/`,
4
- dev: 'https://dev-risk-au.medipass.io/',
5
- 'pre-prod': 'https://risk-au-blue.medipass.io/',
6
- prod: 'https://risk-au.medipass.io/',
7
- staging: 'https://stg-risk-au.medipass.io/'
8
- },
9
- uk: {
10
- local: `http://localhost:${process.env.REACT_APP_LOCAL_PORT || 7475}/`,
11
- dev: 'https://risk.dev.uk.medipass.io/',
12
- 'pre-prod': 'https://risk.blue.uk.medipass.io/',
13
- prod: 'https://risk.uk.medipass.io/',
14
- staging: 'https://risk.stg.uk.medipass.io/'
15
- }
16
- };
@@ -1,23 +0,0 @@
1
- // @flow
2
-
3
- import ParamError from './param-error';
4
- import _forOwn from 'lodash/forOwn';
5
-
6
- export default (params: Object, hyperMediaEndpoint?: ?string, opts?: Object = { atLeastOneExists: false }) => {
7
- let valueExists = false;
8
- if (hyperMediaEndpoint) {
9
- return null;
10
- }
11
- _forOwn(params, (val, key) => {
12
- if (!val && !opts.atLeastOneExists) {
13
- throw new ParamError(key);
14
- }
15
- if (val && opts.atLeastOneExists) {
16
- valueExists = true;
17
- }
18
- });
19
- if (!valueExists && opts.atLeastOneExists) {
20
- throw new ParamError(Object.keys(params).join(' or '));
21
- }
22
- return null;
23
- };
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- export default (error: Object) => {
4
- if (error.response) {
5
- return error.response;
6
- }
7
- return { message: error.message };
8
- };
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- export default class ParamError extends Error {
4
- constructor(message: string) {
5
- super(`\`${message}\` not specified in parameters!`);
6
- this.name = 'ParamError';
7
- }
8
- }
@@ -1,66 +0,0 @@
1
- import _uniq from 'lodash/uniq';
2
- import _flatten from 'lodash/flatten';
3
- import _get from 'lodash/get';
4
-
5
- import sdk from '../index';
6
-
7
- export async function parseProfessions(professions, { providerRegistrationTypes } = {}) {
8
- const professionalCategoryIds = professions.map(registration => registration.professionalCategoryId);
9
- const uniqueProfessionalCategoryIds = _uniq(professionalCategoryIds).filter(Boolean);
10
- const professionalCategoryIdsString = uniqueProfessionalCategoryIds.join(',');
11
-
12
- const specialtyIdSets = professions.map(registration => registration.specialtyIds);
13
- const specialtyIds = _flatten(specialtyIdSets);
14
- const uniqueSpecialtyIds = _uniq(specialtyIds).filter(Boolean);
15
- const specialtyIdsString = uniqueSpecialtyIds.join(',');
16
-
17
- const [professionalCategoriesResponse, specialtiesResponse, providerTypesResponse] = await Promise.all([
18
- professionalCategoryIdsString
19
- ? sdk.professionalCategories.getProfessionalCategories({
20
- professionalCategoryIds: professionalCategoryIdsString,
21
- limit: 99
22
- })
23
- : undefined,
24
- specialtyIdsString ? sdk.specialties.getSpecialties({ specialtyIds: specialtyIdsString, limit: 99 }) : undefined,
25
- providerRegistrationTypes
26
- ? providerRegistrationTypes
27
- : sdk.providerRegistrationTypes.getProviderRegistrationTypes({ limit: 99 })
28
- ]);
29
-
30
- const professionalCategoriesMap = _get(professionalCategoriesResponse, 'items', []).reduce(
31
- (currentProfessionalCategories, professionalCategory) => ({
32
- ...currentProfessionalCategories,
33
- [professionalCategory._id]: professionalCategory
34
- }),
35
- {}
36
- );
37
-
38
- const specialtiesMap = _get(specialtiesResponse, 'items', []).reduce(
39
- (currentSpecialties, professionalCategory) => ({
40
- ...currentSpecialties,
41
- [professionalCategory._id]: professionalCategory
42
- }),
43
- {}
44
- );
45
-
46
- const providerRegistrationTypesMap = _get(providerTypesResponse, 'items', []).reduce(
47
- (currentProviderType, providerType) => ({
48
- ...currentProviderType,
49
- [providerType._id]: providerType
50
- }),
51
- {}
52
- );
53
-
54
- const newProfessions = professions.map(registration => {
55
- const professionalCategory = professionalCategoriesMap[registration.professionalCategoryId];
56
- const specialties = registration.specialtyIds.map(specialtyId => specialtiesMap[specialtyId]);
57
- const providerRegistrationType = providerRegistrationTypesMap[registration.providerRegistrationTypeId];
58
- return {
59
- professionalCategory,
60
- specialties,
61
- providerRegistrationType
62
- };
63
- });
64
-
65
- return newProfessions;
66
- }
@@ -1,21 +0,0 @@
1
- import cookies from 'js-cookie';
2
- import storage from '../services/storage';
3
-
4
- const COUNTRY_CODES = {
5
- au: 'au',
6
- gb: 'uk'
7
- };
8
- const DEFAULT_COUNTRY = COUNTRY_CODES.au;
9
-
10
- export function getUserRegion() {
11
- const countryCookie = (cookies.get('medipassCountry') || '').toLowerCase();
12
- let countryCode = storage.get('region') || COUNTRY_CODES[countryCookie];
13
-
14
- Object.values(COUNTRY_CODES).forEach(code => {
15
- if (typeof window !== 'undefined' && new RegExp(`${code}$`).test(window.location.pathname)) {
16
- countryCode = code;
17
- }
18
- });
19
-
20
- return countryCode || DEFAULT_COUNTRY;
21
- }
@@ -1,36 +0,0 @@
1
- // @flow
2
-
3
- import * as sentry from '@medipass/utils/sentry';
4
- import _get from 'lodash/get';
5
- import type { MedipassRequestOpts } from '../_types';
6
- import medipassWebSdk from '../index';
7
-
8
- import getAxiosError from './get-axios-error';
9
-
10
- const DEFAULT_API_NAME = 'core';
11
-
12
- const getBaseUrl = (apiName: string, requestOpts: MedipassRequestOpts): string => {
13
- return requestOpts.baseUrl || _get(medipassWebSdk, `baseUrls[${apiName}]`);
14
- };
15
-
16
- const getVersion = (apiName: string, requestOpts: MedipassRequestOpts): string => {
17
- return requestOpts.ver || _get(medipassWebSdk, `apiVersions[${apiName}]`) || medipassWebSdk.defaultVersion;
18
- };
19
-
20
- export default async (medipassRequestOpts: MedipassRequestOpts, axiosRequestOpts: Object = {}) => {
21
- const apiName = medipassRequestOpts.apiName || DEFAULT_API_NAME;
22
- const version = getVersion(apiName, medipassRequestOpts);
23
- const baseUrl = getBaseUrl(apiName, medipassRequestOpts);
24
- try {
25
- const res = await medipassWebSdk.axios(
26
- // $FlowFixMe
27
- medipassRequestOpts.hyperMediaEndpoint || `${baseUrl}${version}${medipassRequestOpts.path}`,
28
- { ...axiosRequestOpts, ...medipassRequestOpts.requestConfig }
29
- );
30
- return medipassRequestOpts.getFullResponse ? res : res.data;
31
- } catch (error) {
32
- const axiosError = medipassRequestOpts.getFullError ? error : getAxiosError(error);
33
- sentry.logError(error, { name: 'AxiosError', data: axiosError });
34
- throw axiosError;
35
- }
36
- };
@@ -1,81 +0,0 @@
1
- import _merge from 'lodash/merge';
2
- import _uniq from 'lodash/uniq';
3
-
4
- import sdk from '../index';
5
- import * as professionsUtils from './professions';
6
-
7
- export async function parseProviderSet(
8
- providerSet,
9
- {
10
- businessId,
11
- funders,
12
- providerRegistrationTypes,
13
- providerNumberTypes: _providerNumberTypes,
14
- parseProviderNumberType = false
15
- } = {}
16
- ) {
17
- const fetchPractices = async () => {
18
- const practiceIds = providerSet.map(providerData => providerData.practiceId);
19
- const uniquePracticeIds = _uniq(practiceIds).filter(Boolean);
20
- let practices = [];
21
- practices = await Promise.all(
22
- uniquePracticeIds.map(practiceId =>
23
- sdk.practices.getBusinessPractice(businessId, practiceId).catch(() => ({ _id: practiceId }))
24
- )
25
- );
26
- return practices;
27
- };
28
-
29
- const fetchProviderNumberTypes = async () => {
30
- if (_providerNumberTypes) return _providerNumberTypes;
31
- const providerNumberTypeIds = providerSet.map(providerData => providerData.providerNumberTypeId);
32
- const uniqueProviderNumberTypeIds = _uniq(providerNumberTypeIds).filter(Boolean);
33
- const providerNumberTypes = await Promise.all(
34
- uniqueProviderNumberTypeIds.map(providerNumberTypeId =>
35
- sdk.providerNumberTypes.getProviderNumberType(providerNumberTypeId)
36
- )
37
- );
38
- return providerNumberTypes;
39
- };
40
-
41
- const [fundersResponse, practicesResponse, providerRegistrations, providerNumberTypesResponse] = await Promise.all([
42
- funders ? funders : sdk.funders.getFunders(),
43
- fetchPractices(),
44
- // providerSet is in the same shape as professions, so let's just use that func.
45
- professionsUtils.parseProfessions(providerSet, { providerRegistrationTypes }),
46
- parseProviderNumberType ? fetchProviderNumberTypes() : []
47
- ]);
48
-
49
- const fundersMap = fundersResponse.reduce(
50
- (currentFunders, funder) => ({ ...currentFunders, [funder._id]: funder }),
51
- {}
52
- );
53
- const practicesMap = practicesResponse.reduce(
54
- (currentPractices, practice) => ({ ...currentPractices, [practice._id]: practice }),
55
- {}
56
- );
57
-
58
- const providerNumberTypesMap = providerNumberTypesResponse?.reduce(
59
- (currentProviderNumberTypes, providerNumberType) => ({
60
- ...currentProviderNumberTypes,
61
- [providerNumberType._id]: providerNumberType
62
- }),
63
- {}
64
- );
65
-
66
- const newProviderSet = providerSet.map((providerData, i) => ({
67
- ...providerData,
68
- ...providerRegistrations[i],
69
- practice: practicesMap[providerData.practiceId],
70
- funder: fundersMap[providerData.funderId],
71
- ...(parseProviderNumberType && { providerNumberType: providerNumberTypesMap?.[providerData?.providerNumberTypeId] })
72
- }));
73
-
74
- return newProviderSet;
75
- }
76
-
77
- export async function parseProviderRegistrations(providerRegistrations, opts = {}) {
78
- const professions = await professionsUtils.parseProfessions(providerRegistrations, opts);
79
- const newProviderRegistrations = _merge(providerRegistrations, professions);
80
- return newProviderRegistrations;
81
- }