oro-sdk-apis 1.51.0 → 1.54.0-dev1

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.
@@ -1,5 +1,5 @@
1
- import { ConsultRequestMetadata, PracticeAccount, Uuid } from '../models';
2
- import { Assignment, AssignmentRequest, PlanType, Practice, PracticeConfigKind, PracticeConfigs, PracticeInvoice, PracticePayment, PracticePaymentIntent, PracticePlan, PracticePlanPrices, PracticeWorkflow, PracticeWorkflowWithTagSpecialty, Practitioner, PractitionerLicense, PractitionerPreference, PractitionerQuota, PractitionerRole, WorkflowType } from '../models/practice';
1
+ import { PracticeAccount, Uuid } from '../models';
2
+ import { Assignment, AssignmentRequest, PaymentIntentRequestMetadata, PlanType, Practice, PracticeConfigKind, PracticeConfigs, PracticeInvoice, PracticePayment, PracticePaymentIntent, PracticePlan, PracticePlanPrices, PracticeWorkflow, PracticeWorkflowWithTagSpecialty, Practitioner, PractitionerLicense, PractitionerPreference, PractitionerQuota, PractitionerRole, WorkflowType } from '../models/practice';
3
3
  import { APIService } from './api';
4
4
  export declare class PracticeService {
5
5
  private api;
@@ -76,10 +76,10 @@ export declare class PracticeService {
76
76
  * @param isoLocality (optional) the desired locality
77
77
  * @param url_subdomain (optional) the url of the sub domain (@bruno-morel need you to document that)
78
78
  * @param promotionCode (optional) promotion code to apply
79
- * @param consultRequest (optional) consult request to use. If defined, when payment service call our hooks in practice, it will try to create a consult with these infos.
79
+ * @param requestMetadata (optional) the request metadata to use. If defined, when payment service call our hooks in practice, it will use it to do required action (create a consult, refill a consult, etc.).
80
80
  * @returns
81
81
  */
82
- practiceCreatePaymentsIntent(practiceUuid: Uuid, planId: number, userEmail: string, isoLocality?: string, url_subdomain?: string, consultRequest?: ConsultRequestMetadata): Promise<PracticePaymentIntent>;
82
+ practiceCreatePaymentsIntent(practiceUuid: Uuid, planId: number, userEmail: string, isoLocality?: string, url_subdomain?: string, requestMetadata?: PaymentIntentRequestMetadata): Promise<PracticePaymentIntent>;
83
83
  practiceGetPaymentsIntent(practiceUuid: Uuid, paymentIntentId: number): Promise<PracticePaymentIntent>;
84
84
  /**
85
85
  * Updates a PracticePaymentIntent
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.51.0",
2
+ "version": "1.54.0-dev1",
3
3
  "main": "dist/index.js",
4
4
  "typings": "dist/index.d.ts",
5
5
  "files": [
@@ -148,6 +148,8 @@ export enum PracticeConfigKind {
148
148
  PractitionerConsultList = 'PractitionerConsultList',
149
149
  PractitionerSearch = 'PractitionerSearch',
150
150
  PracticeRegisterWalkthrough = 'PracticeRegisterWalkthrough',
151
+ PracticeExamsAndResults = 'PracticeExamsAndResults',
152
+ PracticeLayout = 'PracticeLayout',
151
153
  }
152
154
 
153
155
  /**
@@ -375,6 +377,32 @@ export type PracticeConfigPracticeRegisterWalkthrough = PracticeConfig<
375
377
  }
376
378
  >
377
379
 
380
+ /**
381
+ * This config is used for all configs related to the Exams and Results module
382
+ */
383
+ export type PracticeConfigPracticeExamsAndResults = PracticeConfig<
384
+ PracticeConfigKind.PracticeExamsAndResults,
385
+ {
386
+ /**
387
+ * If true, then show the deprecated URL prescription pad
388
+ */
389
+ showUrlPrescriptionPad?: boolean
390
+ }
391
+ >
392
+
393
+ /**
394
+ * This config is used for all configs related to the Layout of the app (Navbar, Footer, etc)
395
+ */
396
+ export type PracticeConfigPracticeLayout = PracticeConfig<
397
+ PracticeConfigKind.PracticeLayout,
398
+ {
399
+ /**
400
+ * If true, then show the FAQ link in the Navbar
401
+ */
402
+ showFaqLink?: boolean
403
+ }
404
+ >
405
+
378
406
  export type PracticeConfigs =
379
407
  | PracticeConfigPractitionerSearch
380
408
  | PracticeConfigPractitionerConsultList
@@ -388,6 +416,8 @@ export type PracticeConfigs =
388
416
  | PracticeConfigPracticeConfigExample // Here for integration tests only
389
417
  | PracticeConfigPracticeConsultTabs
390
418
  | PracticeConfigPatientConsultCard
419
+ | PracticeConfigPracticeExamsAndResults
420
+ | PracticeConfigPracticeLayout
391
421
 
392
422
  export interface PracticeWorkflow {
393
423
  id?: number ///optional for insertion
@@ -504,11 +534,47 @@ export interface PracticePaymentIntent {
504
534
  * It will be used to create the consult when stripe use our hook.
505
535
  */
506
536
  export interface ConsultRequestMetadata {
537
+ /**
538
+ * Defines the kind of `PaymentIntentRequestMetadata` it is
539
+ *
540
+ * Note: it can be `undefined` to handle backward compatibility when this interface didn't had a `kind`
541
+ */
542
+ kind: 'ConsultRequestMetadata' | undefined
543
+ /**
544
+ * The specialty required by the consultation
545
+ */
507
546
  tagSpecialtyRequired: string
547
+ /**
548
+ * The locality required for the consultation in iso. COUNTRY (ISO 3166) - PROVINCE - COUNTY - CITY
549
+ */
508
550
  isoLocalityRequired?: string
551
+ /**
552
+ * The language required for the consultation. Should respect ISO 639-3 https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
553
+ */
509
554
  isoLanguageRequired: string
510
555
  }
511
556
 
557
+ /**
558
+ * This interface is used as metadata when creating Stripe Invoice.
559
+ * It will be used to create the consult when stripe use our hook.
560
+ */
561
+ export interface RefillTreatmentRequestMetadata {
562
+ /**
563
+ * Defines the kind of `PaymentIntentRequestMetadata` it is
564
+ */
565
+ kind: 'RefillTreatmentRequestMetadata'
566
+ /**
567
+ * The consult uuid to refill
568
+ */
569
+ consultUuid: string
570
+ }
571
+
572
+ /**
573
+ * This interface is used as metadata when creating Stripe Invoice.
574
+ * It will be used when stripe use our hook.
575
+ */
576
+ export type PaymentIntentRequestMetadata = ConsultRequestMetadata | RefillTreatmentRequestMetadata
577
+
512
578
  export interface AssignmentRequest {
513
579
  uuidAssignor: string //defaulting for insertion to the default practice admin
514
580
  uuidPractitioner?: string
@@ -603,6 +669,8 @@ export interface HydratedPracticeConfigs {
603
669
  [PracticeConfigKind.PractitionerConsultList]?: PracticeConfigPractitionerConsultList
604
670
  [PracticeConfigKind.PractitionerSearch]?: PracticeConfigPractitionerSearch
605
671
  [PracticeConfigKind.PracticeRegisterWalkthrough]?: PracticeConfigPracticeRegisterWalkthrough
672
+ [PracticeConfigKind.PracticeExamsAndResults]?: PracticeConfigPracticeExamsAndResults
673
+ [PracticeConfigKind.PracticeLayout]?: PracticeConfigPracticeLayout
606
674
  }
607
675
 
608
676
  export interface Practice {
@@ -215,7 +215,7 @@ export declare type QuestionData =
215
215
  IndexedData<ChoiceInputData>
216
216
  >
217
217
  | GroupedGenericQuestionData<
218
- 'radio' | 'hair-selector-women' | 'hair-selector-men' | 'hair-loss-stage',
218
+ 'radio' | 'hair-selector-women' | 'hair-selector-men' | 'hair-loss-stage' | 'hair-loss-other',
219
219
  IndexedData<RadioInputData>
220
220
  >
221
221
  | GroupedGenericQuestionData<'radio-card' | 'profile-selector', IndexedData<RadioCardInputData>>
@@ -1,8 +1,9 @@
1
1
  import { hashToBase64String } from '../helpers'
2
- import { ConsultRequestMetadata, PracticeAccount, Uuid } from '../models'
2
+ import { PracticeAccount, Uuid } from '../models'
3
3
  import {
4
4
  Assignment,
5
5
  AssignmentRequest,
6
+ PaymentIntentRequestMetadata,
6
7
  PlanType,
7
8
  Practice,
8
9
  PracticeConfigKind,
@@ -122,7 +123,7 @@ export class PracticeService {
122
123
  params: { kind },
123
124
  })
124
125
  }
125
-
126
+
126
127
  public practiceGetWorkflow(
127
128
  practiceUuid: Uuid,
128
129
  workflowType: WorkflowType
@@ -193,7 +194,7 @@ export class PracticeService {
193
194
  * @param isoLocality (optional) the desired locality
194
195
  * @param url_subdomain (optional) the url of the sub domain (@bruno-morel need you to document that)
195
196
  * @param promotionCode (optional) promotion code to apply
196
- * @param consultRequest (optional) consult request to use. If defined, when payment service call our hooks in practice, it will try to create a consult with these infos.
197
+ * @param requestMetadata (optional) the request metadata to use. If defined, when payment service call our hooks in practice, it will use it to do required action (create a consult, refill a consult, etc.).
197
198
  * @returns
198
199
  */
199
200
  public practiceCreatePaymentsIntent(
@@ -202,7 +203,7 @@ export class PracticeService {
202
203
  userEmail: string,
203
204
  isoLocality?: string,
204
205
  url_subdomain?: string,
205
- consultRequest?: ConsultRequestMetadata
206
+ requestMetadata?: PaymentIntentRequestMetadata
206
207
  ): Promise<PracticePaymentIntent> {
207
208
  return this.api.post<PracticePaymentIntent>(
208
209
  `${this.baseURL}/v1/practices/${practiceUuid}/payments/intents/`,
@@ -210,7 +211,7 @@ export class PracticeService {
210
211
  idPlan: planId,
211
212
  hashUserEmail: userEmail ? this.getPaymentIntentHashedEmail(userEmail) : undefined,
212
213
  isoLocality,
213
- consultRequest,
214
+ requestMetadata,
214
215
  },
215
216
  { params: { url_subdomain } }
216
217
  )