oro-sdk-apis 1.52.0 → 1.54.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.
- package/dist/models/practice.d.ts +62 -2
- package/dist/oro-sdk-apis.cjs.development.js +5 -3
- package/dist/oro-sdk-apis.cjs.development.js.map +1 -1
- package/dist/oro-sdk-apis.cjs.production.min.js +1 -1
- package/dist/oro-sdk-apis.cjs.production.min.js.map +1 -1
- package/dist/oro-sdk-apis.esm.js +5 -3
- package/dist/oro-sdk-apis.esm.js.map +1 -1
- package/dist/services/practice.d.ts +4 -4
- package/package.json +1 -1
- package/src/models/practice.ts +72 -0
- package/src/services/practice.ts +6 -5
@@ -1,5 +1,5 @@
|
|
1
|
-
import {
|
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
|
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,
|
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
package/src/models/practice.ts
CHANGED
@@ -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,51 @@ 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 refill a treatment plan of a consult.
|
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
|
+
* The treatment plan uuid to refill
|
572
|
+
*/
|
573
|
+
uuidTreatmentPlan: string
|
574
|
+
}
|
575
|
+
|
576
|
+
/**
|
577
|
+
* This interface is used as metadata when creating Stripe Invoice.
|
578
|
+
* It will be used when stripe uses our hook.
|
579
|
+
*/
|
580
|
+
export type PaymentIntentRequestMetadata = ConsultRequestMetadata | RefillTreatmentRequestMetadata
|
581
|
+
|
512
582
|
export interface AssignmentRequest {
|
513
583
|
uuidAssignor: string //defaulting for insertion to the default practice admin
|
514
584
|
uuidPractitioner?: string
|
@@ -603,6 +673,8 @@ export interface HydratedPracticeConfigs {
|
|
603
673
|
[PracticeConfigKind.PractitionerConsultList]?: PracticeConfigPractitionerConsultList
|
604
674
|
[PracticeConfigKind.PractitionerSearch]?: PracticeConfigPractitionerSearch
|
605
675
|
[PracticeConfigKind.PracticeRegisterWalkthrough]?: PracticeConfigPracticeRegisterWalkthrough
|
676
|
+
[PracticeConfigKind.PracticeExamsAndResults]?: PracticeConfigPracticeExamsAndResults
|
677
|
+
[PracticeConfigKind.PracticeLayout]?: PracticeConfigPracticeLayout
|
606
678
|
}
|
607
679
|
|
608
680
|
export interface Practice {
|
package/src/services/practice.ts
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import { hashToBase64String } from '../helpers'
|
2
|
-
import {
|
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
|
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
|
-
|
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
|
-
|
214
|
+
requestMetadata,
|
214
215
|
},
|
215
216
|
{ params: { url_subdomain } }
|
216
217
|
)
|