oro-sdk-apis 1.53.0 → 1.54.0-dev1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.53.0",
2
+ "version": "1.54.0-dev1",
3
3
  "main": "dist/index.js",
4
4
  "typings": "dist/index.d.ts",
5
5
  "files": [
@@ -534,11 +534,47 @@ export interface PracticePaymentIntent {
534
534
  * It will be used to create the consult when stripe use our hook.
535
535
  */
536
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
+ */
537
546
  tagSpecialtyRequired: string
547
+ /**
548
+ * The locality required for the consultation in iso. COUNTRY (ISO 3166) - PROVINCE - COUNTY - CITY
549
+ */
538
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
+ */
539
554
  isoLanguageRequired: string
540
555
  }
541
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
+
542
578
  export interface AssignmentRequest {
543
579
  uuidAssignor: string //defaulting for insertion to the default practice admin
544
580
  uuidPractitioner?: string
@@ -716,4 +752,4 @@ export interface PracticeSecret {
716
752
  * It's decrypted on the fly when returned by the api.
717
753
  */
718
754
  payload: string
719
- }
755
+ }
@@ -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
  )
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 ORO Health Inc.
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.