@dv4resi/dvss-backend-module-offering-im 0.0.6 → 0.0.8
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/index.d.ts +381 -29
- package/dist/index.js +2154 -167
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CONFIGURED_FOR_TYPE_ENUM, MEDIA_PROVIDER_ENUM, DAY_OF_WEEK, OFFERING_RESOURCE_TYPE, STATUS } from '@dv4resi/dvss-backend-module-datastore/dist/datastore/models';
|
|
2
|
+
import { LoggerService, GraphQLContext, AddAPIResponse } from '@dv4resi/dvss-backend-module-utility';
|
|
2
3
|
import { HttpService } from '@nestjs/axios';
|
|
4
|
+
import { schema, CommonValidationDatabaseService as CommonValidationDatabaseService$1 } from '@dv4resi/dvss-backend-module-datastore';
|
|
5
|
+
import { ICapability } from '@dv4resi/dvss-backend-module-datastore/dist/datastore/models/capability.model';
|
|
6
|
+
import { MySql2Database } from 'drizzle-orm/mysql2';
|
|
7
|
+
import { CAPABILITY_INTEGRATION_STATUS_ENUM, CAPABILITY_RESOURCE_AVAILABLE_FOR_ENUM } from '@dv4resi/dvss-backend-module-datastore/dist/datastore/models/capability-integration.model';
|
|
8
|
+
import { CommonValidationDatabaseService } from '@dv4resi/dvss-backend-module-datastore/dist/datastore/util/common-validation.util';
|
|
3
9
|
|
|
4
10
|
declare class AppModule$2 {
|
|
5
11
|
}
|
|
@@ -41,17 +47,77 @@ declare class IntegrationRequestLoggerService {
|
|
|
41
47
|
logResponse(logData: IIntegrationRequestLog): void;
|
|
42
48
|
logError(logData: IIntegrationRequestLog): void;
|
|
43
49
|
logIntegrationRequest(logData: IIntegrationRequestLog): void;
|
|
44
|
-
private sanitizeHeaders;
|
|
45
50
|
}
|
|
46
51
|
|
|
47
52
|
declare class RateLimiterService {
|
|
48
53
|
validateAndEnforceRateLimit(): Promise<void>;
|
|
49
54
|
}
|
|
50
55
|
|
|
56
|
+
type IAddCapabilityIntegration = typeof schema.capabilityIntegration.$inferInsert & {
|
|
57
|
+
configuredFor?: {
|
|
58
|
+
configuredForId: bigint;
|
|
59
|
+
configuredForType: CONFIGURED_FOR_TYPE_ENUM;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
type IUpdateCapabilityIntegration = Partial<typeof schema.capabilityIntegration.$inferInsert>;
|
|
63
|
+
type IAddCapIntegResourceMapping = typeof schema.capIntegResourceMapping.$inferInsert;
|
|
64
|
+
|
|
65
|
+
declare class IntegrationConfigurationDao {
|
|
66
|
+
private readonly conn;
|
|
67
|
+
private readonly logger;
|
|
68
|
+
private readonly fileName;
|
|
69
|
+
constructor(conn: MySql2Database<typeof schema>, logger: LoggerService);
|
|
70
|
+
addCapabilityIntegration(input: IAddCapabilityIntegration, loggedInUserId: bigint): Promise<{
|
|
71
|
+
id: bigint;
|
|
72
|
+
} | undefined>;
|
|
73
|
+
getCapability(request: {
|
|
74
|
+
capabilityId: bigint;
|
|
75
|
+
}, loggedInUserId: bigint): Promise<ICapability | undefined>;
|
|
76
|
+
getCapabilityProvider(request: {
|
|
77
|
+
capabilityProviderId: bigint;
|
|
78
|
+
}, loggedInUserId: bigint): Promise<typeof schema.capabilityProvider.$inferSelect | undefined>;
|
|
79
|
+
updateCapabilityIntegration(input: {
|
|
80
|
+
id: bigint;
|
|
81
|
+
updateData: IUpdateCapabilityIntegration;
|
|
82
|
+
}, loggedInUserId: bigint): Promise<{
|
|
83
|
+
status: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
getCapabilityIntegration(input: {
|
|
86
|
+
capabilityIntegrationId: bigint;
|
|
87
|
+
}, loggedInUserId: bigint): Promise<typeof schema.capabilityIntegration.$inferSelect | undefined>;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
declare class IntegrationUserManagementDao {
|
|
91
|
+
protected readonly conn: MySql2Database<typeof schema>;
|
|
92
|
+
constructor(conn: MySql2Database<typeof schema>);
|
|
93
|
+
}
|
|
94
|
+
|
|
51
95
|
interface IGetCustomerRequest {
|
|
52
96
|
email?: string;
|
|
53
97
|
customerId?: string;
|
|
54
98
|
}
|
|
99
|
+
interface IAddCustomerRequest {
|
|
100
|
+
site_id: string;
|
|
101
|
+
first_name?: string | null;
|
|
102
|
+
last_name?: string | null;
|
|
103
|
+
phone?: string | null;
|
|
104
|
+
dob?: string | null;
|
|
105
|
+
email?: string | null;
|
|
106
|
+
password?: string;
|
|
107
|
+
marketing_preference_ids?: string[];
|
|
108
|
+
external_ref?: string | null;
|
|
109
|
+
guestline_ref?: string;
|
|
110
|
+
preferred_locale?: string;
|
|
111
|
+
}
|
|
112
|
+
interface IUpdateCustomerRequest {
|
|
113
|
+
first_name?: string | null;
|
|
114
|
+
last_name?: string | null;
|
|
115
|
+
phone?: string | null;
|
|
116
|
+
dob?: string | null;
|
|
117
|
+
password?: string;
|
|
118
|
+
external_ref?: string | null;
|
|
119
|
+
preferred_locale?: string;
|
|
120
|
+
}
|
|
55
121
|
interface ICustomer {
|
|
56
122
|
id: string;
|
|
57
123
|
first_name: string;
|
|
@@ -79,6 +145,10 @@ interface ICustomerLastCheckIn {
|
|
|
79
145
|
checked_in_at: string;
|
|
80
146
|
method: string;
|
|
81
147
|
}
|
|
148
|
+
interface IAddUpdateCustomerResponseData {
|
|
149
|
+
id: string;
|
|
150
|
+
status: string;
|
|
151
|
+
}
|
|
82
152
|
|
|
83
153
|
declare enum CREDIT_TYPE_ENUM {
|
|
84
154
|
COUPON = "COUPON",
|
|
@@ -109,6 +179,7 @@ interface ICredit {
|
|
|
109
179
|
startDate?: string;
|
|
110
180
|
value?: string;
|
|
111
181
|
capabilityIntegrationId?: bigint;
|
|
182
|
+
quantity?: number;
|
|
112
183
|
meta?: Record<string, unknown>;
|
|
113
184
|
}
|
|
114
185
|
interface IGetCustomerCreditsRequestFilters {
|
|
@@ -162,6 +233,35 @@ interface IValidatedCapabilityIntegration {
|
|
|
162
233
|
projectId?: number;
|
|
163
234
|
}
|
|
164
235
|
|
|
236
|
+
interface IAddCapabilityIntegrationConfig {
|
|
237
|
+
platformConfig: Record<string, unknown>;
|
|
238
|
+
integrationConfig: Record<string, unknown>;
|
|
239
|
+
}
|
|
240
|
+
interface IIcon {
|
|
241
|
+
provider: MEDIA_PROVIDER_ENUM;
|
|
242
|
+
meta: unknown;
|
|
243
|
+
}
|
|
244
|
+
interface IAddCapabilityIntegrationConfiguredFor {
|
|
245
|
+
configuredForId: bigint;
|
|
246
|
+
configuredForType: CONFIGURED_FOR_TYPE_ENUM;
|
|
247
|
+
}
|
|
248
|
+
interface IAddCapabilityIntegrationInput {
|
|
249
|
+
projectId: number;
|
|
250
|
+
propertyId?: number;
|
|
251
|
+
capabilityId: bigint;
|
|
252
|
+
capabilityProviderId: bigint;
|
|
253
|
+
config?: Record<string, unknown>;
|
|
254
|
+
nickname?: string;
|
|
255
|
+
subcategory?: string;
|
|
256
|
+
parentId?: bigint;
|
|
257
|
+
capabilityIntegrationResourceId?: bigint;
|
|
258
|
+
groupId?: bigint;
|
|
259
|
+
status: CAPABILITY_INTEGRATION_STATUS_ENUM;
|
|
260
|
+
icon?: IIcon;
|
|
261
|
+
availableFor: CAPABILITY_RESOURCE_AVAILABLE_FOR_ENUM;
|
|
262
|
+
configuredFor?: IAddCapabilityIntegrationConfiguredFor;
|
|
263
|
+
}
|
|
264
|
+
|
|
165
265
|
declare enum BOOKABLE_ITEM_TYPE_ENUM {
|
|
166
266
|
APPOINTMENT = "APPOINTMENT",
|
|
167
267
|
SESSION = "SESSION",
|
|
@@ -171,15 +271,6 @@ declare enum BOOKABLE_ITEM_STATUS_ENUM {
|
|
|
171
271
|
ACTIVE = "ACTIVE",
|
|
172
272
|
INACTIVE = "INACTIVE"
|
|
173
273
|
}
|
|
174
|
-
declare enum DAY_OF_WEEK {
|
|
175
|
-
MON = "MON",
|
|
176
|
-
TUE = "TUE",
|
|
177
|
-
WED = "WED",
|
|
178
|
-
THU = "THU",
|
|
179
|
-
FRI = "FRI",
|
|
180
|
-
SAT = "SAT",
|
|
181
|
-
SUN = "SUN"
|
|
182
|
-
}
|
|
183
274
|
interface IBookableItemPriceMeta {
|
|
184
275
|
id?: bigint;
|
|
185
276
|
externalId?: string;
|
|
@@ -214,7 +305,7 @@ interface IBookableItem {
|
|
|
214
305
|
name: string;
|
|
215
306
|
description?: string;
|
|
216
307
|
type: BOOKABLE_ITEM_TYPE_ENUM;
|
|
217
|
-
status
|
|
308
|
+
status?: BOOKABLE_ITEM_STATUS_ENUM;
|
|
218
309
|
icon?: IBookableItemMedia;
|
|
219
310
|
primaryAsset?: IBookableItemMedia;
|
|
220
311
|
prices?: IBookableItemPrice[];
|
|
@@ -274,6 +365,102 @@ interface IAvailableDateWithSlots {
|
|
|
274
365
|
interface IGetAvailableDatesAndTimeSlotsResponse {
|
|
275
366
|
dates: IAvailableDateWithSlots[];
|
|
276
367
|
}
|
|
368
|
+
interface IOrderGuest {
|
|
369
|
+
id: string;
|
|
370
|
+
name?: string;
|
|
371
|
+
}
|
|
372
|
+
interface IGetOrderResponse {
|
|
373
|
+
orderId: string;
|
|
374
|
+
guests: IOrderGuest[];
|
|
375
|
+
}
|
|
376
|
+
interface ICreateOrderRequest {
|
|
377
|
+
bookingStartTime: Date;
|
|
378
|
+
durationInMinutes?: number;
|
|
379
|
+
meta?: Record<string, unknown>;
|
|
380
|
+
bookableItems: Pick<IBookableItem, 'externalId' | 'type'>[];
|
|
381
|
+
offeringResources: Pick<IOfferingResource, 'externalId'>[];
|
|
382
|
+
currencyMultiplier: number;
|
|
383
|
+
customerId: string;
|
|
384
|
+
customerCreditId?: string;
|
|
385
|
+
}
|
|
386
|
+
interface ICreateOrderResponse {
|
|
387
|
+
externalBookingId: string;
|
|
388
|
+
items: (IBookableItem & {
|
|
389
|
+
totalPrice?: number;
|
|
390
|
+
})[];
|
|
391
|
+
}
|
|
392
|
+
interface IAddItemToOrderItemConfig {
|
|
393
|
+
offeringId: string;
|
|
394
|
+
offeringType: BOOKABLE_ITEM_TYPE_ENUM;
|
|
395
|
+
guestIds: string[];
|
|
396
|
+
practitionerIds: string[];
|
|
397
|
+
durationMinutes?: number;
|
|
398
|
+
timeIso?: string;
|
|
399
|
+
sessionId?: string;
|
|
400
|
+
}
|
|
401
|
+
interface IAddItemToOrderRequest {
|
|
402
|
+
orderId: string;
|
|
403
|
+
item: IAddItemToOrderItemConfig;
|
|
404
|
+
}
|
|
405
|
+
interface IAddItemToOrderResponse {
|
|
406
|
+
name?: string;
|
|
407
|
+
netTotal?: number;
|
|
408
|
+
}
|
|
409
|
+
interface IAddPaymentToOrderRequest {
|
|
410
|
+
orderId: string;
|
|
411
|
+
amount: number;
|
|
412
|
+
paymentTypeId: string;
|
|
413
|
+
}
|
|
414
|
+
interface IOfferingResourceMedia {
|
|
415
|
+
meta?: Record<string, unknown>;
|
|
416
|
+
provider?: string;
|
|
417
|
+
}
|
|
418
|
+
interface IOfferingResource {
|
|
419
|
+
id?: bigint;
|
|
420
|
+
externalId: string;
|
|
421
|
+
name: string;
|
|
422
|
+
description?: string;
|
|
423
|
+
type: OFFERING_RESOURCE_TYPE;
|
|
424
|
+
status: STATUS;
|
|
425
|
+
media?: IOfferingResourceMedia;
|
|
426
|
+
meta?: Record<string, unknown>;
|
|
427
|
+
bookableItems?: unknown[];
|
|
428
|
+
createdAt?: Date;
|
|
429
|
+
createdBy?: bigint;
|
|
430
|
+
deletedAt?: Date;
|
|
431
|
+
deletedBy?: bigint;
|
|
432
|
+
isCurrentlyUnavailable?: boolean;
|
|
433
|
+
occurrences?: unknown[];
|
|
434
|
+
offeringId?: bigint;
|
|
435
|
+
priceSummary?: string;
|
|
436
|
+
projectId?: number;
|
|
437
|
+
quantity?: number;
|
|
438
|
+
unavailability?: unknown[];
|
|
439
|
+
updatedAt?: Date;
|
|
440
|
+
updatedBy?: bigint;
|
|
441
|
+
}
|
|
442
|
+
interface IGetPractitionersRequest {
|
|
443
|
+
shouldFetchAllPractitioners: boolean;
|
|
444
|
+
options?: IWellnessManagementRequestOptions;
|
|
445
|
+
}
|
|
446
|
+
interface IUpdateOrderRequest {
|
|
447
|
+
orderId: string;
|
|
448
|
+
timezone: string;
|
|
449
|
+
item: {
|
|
450
|
+
externalId: string;
|
|
451
|
+
type: BOOKABLE_ITEM_TYPE_ENUM;
|
|
452
|
+
};
|
|
453
|
+
sessionId?: string;
|
|
454
|
+
durationInMinutes?: number;
|
|
455
|
+
bookingStartDateLabel?: string;
|
|
456
|
+
bookingStartTimeLabel?: string;
|
|
457
|
+
}
|
|
458
|
+
interface IUpdateOrderResponse {
|
|
459
|
+
success: boolean;
|
|
460
|
+
data?: {
|
|
461
|
+
id: string;
|
|
462
|
+
};
|
|
463
|
+
}
|
|
277
464
|
|
|
278
465
|
interface ISystemResponse<T> {
|
|
279
466
|
totalCount: number;
|
|
@@ -322,7 +509,11 @@ declare abstract class BaseWellnessManagement {
|
|
|
322
509
|
abstract fetchBookableItemsFromCredit(request: IGetBookableItemsFromCreditRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IBookableItem>>;
|
|
323
510
|
abstract fetchSessionAvailabilityForOffering(request: IFetchOfferingAvailabilityRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IGetAvailableDatesAndTimeSlotsResponse>;
|
|
324
511
|
abstract fetchAppointmentAvailabilityForOffering(request: IFetchOfferingAvailabilityRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IGetAvailableDatesAndTimeSlotsResponse>;
|
|
325
|
-
abstract fetchPractitioners(): Promise<
|
|
512
|
+
abstract fetchPractitioners(request: IGetPractitionersRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IOfferingResource>>;
|
|
513
|
+
abstract createOrder(request: ICreateOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ICreateOrderResponse>;
|
|
514
|
+
abstract getOrder(orderId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IGetOrderResponse>;
|
|
515
|
+
abstract cancelOrder(orderId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<void>;
|
|
516
|
+
abstract updateOrder(request: IUpdateOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IUpdateOrderResponse>;
|
|
326
517
|
abstract fetchWellnessAppointmentSession(): Promise<void>;
|
|
327
518
|
abstract checkWellnessAppointmentSessionAvailability(): Promise<void>;
|
|
328
519
|
abstract createWellnessAppointmentSessionOrder(): Promise<void>;
|
|
@@ -335,9 +526,9 @@ declare abstract class BaseCreditBooking {
|
|
|
335
526
|
}
|
|
336
527
|
|
|
337
528
|
declare abstract class BaseCustomerManagement {
|
|
338
|
-
abstract createCustomer(): Promise<
|
|
529
|
+
abstract createCustomer(request: IAddCustomerRequest, integration: IValidatedCapabilityIntegration, loggedInUserId: bigint): Promise<ICustomer>;
|
|
339
530
|
abstract searchCustomer(request: IGetCustomerRequest, integration: IValidatedCapabilityIntegration, loggedInUserId: bigint): Promise<ICustomer | undefined>;
|
|
340
|
-
abstract updateCustomer(): Promise<
|
|
531
|
+
abstract updateCustomer(customerId: string, request: IUpdateCustomerRequest, integration: IValidatedCapabilityIntegration, loggedInUserId: bigint): Promise<IAddUpdateCustomerResponseData>;
|
|
341
532
|
}
|
|
342
533
|
|
|
343
534
|
declare abstract class BasePackageManagement {
|
|
@@ -417,6 +608,17 @@ declare abstract class BaseMembershipManagement {
|
|
|
417
608
|
abstract getMembership(): Promise<void>;
|
|
418
609
|
}
|
|
419
610
|
|
|
611
|
+
declare abstract class BaseIntegrationConfiguration {
|
|
612
|
+
private readonly integrationConfigurationDao;
|
|
613
|
+
protected readonly commonValidationDatabaseService: CommonValidationDatabaseService;
|
|
614
|
+
constructor(integrationConfigurationDao: IntegrationConfigurationDao, commonValidationDatabaseService: CommonValidationDatabaseService);
|
|
615
|
+
private validateAddCapabilityIntegrationInput;
|
|
616
|
+
addCapabilityIntegration(input: IAddCapabilityIntegrationInput, context: GraphQLContext): Promise<AddAPIResponse>;
|
|
617
|
+
updateCapabilityIntegration(id: bigint, updateData: IUpdateCapabilityIntegration, context: GraphQLContext): Promise<{
|
|
618
|
+
status: boolean;
|
|
619
|
+
}>;
|
|
620
|
+
}
|
|
621
|
+
|
|
420
622
|
interface ITrybeCustomer extends ICustomer {
|
|
421
623
|
avatar_id: string;
|
|
422
624
|
labels: ITrybeCustomerLabels[];
|
|
@@ -741,15 +943,133 @@ interface ITrybeSessionAvailability {
|
|
|
741
943
|
interface ITrybeSessionAvailabilityResponse {
|
|
742
944
|
data: ITrybeSessionAvailability[];
|
|
743
945
|
}
|
|
946
|
+
declare const TRYBE_OFFERING_TYPE_API: {
|
|
947
|
+
readonly APPOINTMENT: "appointment";
|
|
948
|
+
readonly SESSION: "session";
|
|
949
|
+
readonly COURSE: "course";
|
|
950
|
+
};
|
|
951
|
+
type TrybeOfferingTypeApi = (typeof TRYBE_OFFERING_TYPE_API)[keyof typeof TRYBE_OFFERING_TYPE_API];
|
|
952
|
+
interface ITrybeAddOrderResponse {
|
|
953
|
+
data: {
|
|
954
|
+
id: string;
|
|
955
|
+
};
|
|
956
|
+
}
|
|
957
|
+
interface ITrybeOrderGuest {
|
|
958
|
+
id: string;
|
|
959
|
+
name: string;
|
|
960
|
+
first_name: string;
|
|
961
|
+
last_name: string;
|
|
962
|
+
email: null;
|
|
963
|
+
intake_form_complete: boolean;
|
|
964
|
+
checked_in_at: null;
|
|
965
|
+
checked_out_at: null;
|
|
966
|
+
is_lead_booker: boolean;
|
|
967
|
+
customer_id: string;
|
|
968
|
+
}
|
|
969
|
+
interface ITrybeOrder {
|
|
970
|
+
id: string;
|
|
971
|
+
organisation_id: string;
|
|
972
|
+
order_ref: string;
|
|
973
|
+
site_id: string;
|
|
974
|
+
status: string;
|
|
975
|
+
stage: string;
|
|
976
|
+
customer_id: string;
|
|
977
|
+
email: string;
|
|
978
|
+
phone: null;
|
|
979
|
+
first_name: string;
|
|
980
|
+
last_name: string;
|
|
981
|
+
guests: ITrybeOrderGuest[];
|
|
982
|
+
booking_items?: Array<{
|
|
983
|
+
id: string;
|
|
984
|
+
}>;
|
|
985
|
+
}
|
|
986
|
+
interface ITrybeGetOrderResponseData {
|
|
987
|
+
data: ITrybeOrder;
|
|
988
|
+
}
|
|
989
|
+
interface ITrybeAddCustomerToOrderResponse {
|
|
990
|
+
data: {
|
|
991
|
+
id: string;
|
|
992
|
+
};
|
|
993
|
+
}
|
|
994
|
+
interface ITrybeAddOrderItemResponse {
|
|
995
|
+
data: {
|
|
996
|
+
id: string;
|
|
997
|
+
status: string;
|
|
998
|
+
booking_summary?: {
|
|
999
|
+
id: string;
|
|
1000
|
+
offering?: {
|
|
1001
|
+
id?: string;
|
|
1002
|
+
type?: string;
|
|
1003
|
+
name?: string;
|
|
1004
|
+
};
|
|
1005
|
+
};
|
|
1006
|
+
type_id?: string;
|
|
1007
|
+
type_name?: string;
|
|
1008
|
+
total_cost?: number;
|
|
1009
|
+
net_total?: number;
|
|
1010
|
+
};
|
|
1011
|
+
}
|
|
1012
|
+
interface ITrybeSubmitOrderResponse {
|
|
1013
|
+
data: {
|
|
1014
|
+
id: string;
|
|
1015
|
+
};
|
|
1016
|
+
}
|
|
1017
|
+
interface ITrybeCancelOrderResponse {
|
|
1018
|
+
data: {
|
|
1019
|
+
id: string;
|
|
1020
|
+
};
|
|
1021
|
+
}
|
|
1022
|
+
interface ITrybeAddPaymentToOrderResponse {
|
|
1023
|
+
order_id: string;
|
|
1024
|
+
status: string;
|
|
1025
|
+
}
|
|
1026
|
+
interface ITrybePractitioner {
|
|
1027
|
+
id: string;
|
|
1028
|
+
name: string;
|
|
1029
|
+
organisation_id: string;
|
|
1030
|
+
site_ids: string[];
|
|
1031
|
+
avatar: unknown;
|
|
1032
|
+
appointment_restrictions: unknown[];
|
|
1033
|
+
tag_ids: string[];
|
|
1034
|
+
tags: unknown[];
|
|
1035
|
+
zones: ITrybeZone[];
|
|
1036
|
+
can_offer_tags: unknown[];
|
|
1037
|
+
created_at: string;
|
|
1038
|
+
updated_at: string;
|
|
1039
|
+
}
|
|
1040
|
+
interface ITrybeZone {
|
|
1041
|
+
id: string;
|
|
1042
|
+
name: string;
|
|
1043
|
+
site_id: string;
|
|
1044
|
+
organisation_id: string;
|
|
1045
|
+
}
|
|
1046
|
+
interface ITrybeCreateOrderResponse extends ICreateOrderResponse {
|
|
1047
|
+
meta: {
|
|
1048
|
+
orderReference: string;
|
|
1049
|
+
};
|
|
1050
|
+
}
|
|
1051
|
+
interface ITrybeGetOrderResponse extends IGetOrderResponse {
|
|
1052
|
+
meta: {
|
|
1053
|
+
orderReference: string;
|
|
1054
|
+
};
|
|
1055
|
+
items: Array<{
|
|
1056
|
+
id: string;
|
|
1057
|
+
}>;
|
|
1058
|
+
}
|
|
1059
|
+
interface ITrybeUpdateOrderItemResponse {
|
|
1060
|
+
data: {
|
|
1061
|
+
id: string;
|
|
1062
|
+
};
|
|
1063
|
+
}
|
|
744
1064
|
|
|
745
1065
|
declare class TrybeCustomerManagement implements BaseCustomerManagement {
|
|
746
1066
|
private readonly logger;
|
|
747
1067
|
private readonly trafficGatewayService;
|
|
748
1068
|
private readonly fileName;
|
|
749
1069
|
constructor(logger: LoggerService, trafficGatewayService: TrafficGatewayService);
|
|
750
|
-
createCustomer(): Promise<
|
|
1070
|
+
createCustomer(request: IAddCustomerRequest, integration: IValidatedCapabilityIntegration, loggedInUserId: bigint): Promise<ITrybeCustomer>;
|
|
751
1071
|
searchCustomer(request: IGetCustomerRequest, integration: IValidatedCapabilityIntegration, loggedInUserId: bigint): Promise<ITrybeCustomer | undefined>;
|
|
752
|
-
updateCustomer(): Promise<
|
|
1072
|
+
updateCustomer(customerId: string, request: IUpdateCustomerRequest, integration: IValidatedCapabilityIntegration, loggedInUserId: bigint): Promise<IAddUpdateCustomerResponseData>;
|
|
753
1073
|
}
|
|
754
1074
|
|
|
755
1075
|
declare class TrybeAuthService implements BaseAuth {
|
|
@@ -757,7 +1077,8 @@ declare class TrybeAuthService implements BaseAuth {
|
|
|
757
1077
|
private readonly logger;
|
|
758
1078
|
private readonly fileName;
|
|
759
1079
|
constructor(trybeCustomerManagement: TrybeCustomerManagement, logger: LoggerService);
|
|
760
|
-
validateConfig(integration: ICapabilityIntegration, loggedInUserId: bigint): IValidatedCapabilityIntegration;
|
|
1080
|
+
validateConfig(integration: Omit<ICapabilityIntegration, 'id'>, loggedInUserId: bigint): IValidatedCapabilityIntegration;
|
|
1081
|
+
private isValidUrl;
|
|
761
1082
|
testIntegration(integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<boolean>;
|
|
762
1083
|
fetchAccessToken(integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<string>;
|
|
763
1084
|
}
|
|
@@ -771,16 +1092,25 @@ declare class TrybeCreditBooking implements BaseCreditBooking {
|
|
|
771
1092
|
fetchCustomerCredits(request: IGetCustomerCreditsRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<ICredit>>;
|
|
772
1093
|
}
|
|
773
1094
|
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
1095
|
+
interface ISiteSystemResponse {
|
|
1096
|
+
customPaymentTypes?: Array<{
|
|
1097
|
+
id: string;
|
|
1098
|
+
name: string;
|
|
1099
|
+
kind: string;
|
|
1100
|
+
}>;
|
|
1101
|
+
}
|
|
777
1102
|
|
|
778
|
-
declare
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
1103
|
+
declare class TrybeIntegrationConfigurationService extends BaseIntegrationConfiguration {
|
|
1104
|
+
private readonly trybeAuthService;
|
|
1105
|
+
private readonly trafficGatewayService;
|
|
1106
|
+
constructor(integrationConfigurationDao: IntegrationConfigurationDao, commonValidationDatabaseService: CommonValidationDatabaseService$1, trybeAuthService: TrybeAuthService, trafficGatewayService: TrafficGatewayService);
|
|
1107
|
+
addCapabilityIntegration(input: IAddCapabilityIntegrationInput, context: GraphQLContext): Promise<AddAPIResponse>;
|
|
1108
|
+
updateCapabilityIntegration(id: bigint, updateData: IUpdateCapabilityIntegration, context: GraphQLContext): Promise<{
|
|
1109
|
+
status: boolean;
|
|
1110
|
+
}>;
|
|
1111
|
+
private validateCapabilityIntegrationConfiguredForInput;
|
|
1112
|
+
getSiteDetailedInformation(integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISiteSystemResponse | undefined>;
|
|
1113
|
+
}
|
|
784
1114
|
|
|
785
1115
|
declare class TrybeWellnessManagement implements BaseWellnessManagement {
|
|
786
1116
|
private readonly logger;
|
|
@@ -788,19 +1118,41 @@ declare class TrybeWellnessManagement implements BaseWellnessManagement {
|
|
|
788
1118
|
private readonly trybeAuthService;
|
|
789
1119
|
private readonly fileName;
|
|
790
1120
|
constructor(logger: LoggerService, trafficGatewayService: TrafficGatewayService, trybeAuthService: TrybeAuthService);
|
|
791
|
-
fetchPractitioners(): Promise<void>;
|
|
792
1121
|
fetchWellnessAppointmentSession(): Promise<void>;
|
|
793
1122
|
checkWellnessAppointmentSessionAvailability(): Promise<void>;
|
|
794
1123
|
createWellnessAppointmentSessionOrder(): Promise<void>;
|
|
795
1124
|
addWellnessAppointmentSessionOrderItems(): Promise<void>;
|
|
796
1125
|
confirmWellnessAppointmentSessionOrder(): Promise<void>;
|
|
1126
|
+
createOrder(request: ICreateOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ITrybeCreateOrderResponse>;
|
|
1127
|
+
addCustomerToOrder(orderId: string, customerId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<void>;
|
|
1128
|
+
getOrder(orderId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ITrybeGetOrderResponse>;
|
|
1129
|
+
private mapOfferingTypeToTrybeApi;
|
|
1130
|
+
addItemToOrder(request: IAddItemToOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IAddItemToOrderResponse>;
|
|
1131
|
+
addCustomerCreditsToOrder(orderId: string, customerCreditId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<void>;
|
|
1132
|
+
submitOrder(orderId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<void>;
|
|
1133
|
+
cancelOrder(orderId: string, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<void>;
|
|
1134
|
+
updateOrder(request: IUpdateOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IUpdateOrderResponse>;
|
|
1135
|
+
updateOrderItem(orderId: string, itemId: string, request: IUpdateOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ITrybeUpdateOrderItemResponse>;
|
|
1136
|
+
addPaymentToOrder(request: IAddPaymentToOrderRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<void>;
|
|
797
1137
|
fetchAppointments(request: IGetAppointmentsRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IBookableItem>>;
|
|
798
1138
|
fetchSessions(request: IGetSessionsRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IBookableItem>>;
|
|
799
1139
|
fetchCourses(request: IGetCoursesRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IBookableItem>>;
|
|
1140
|
+
fetchPractitioners(request: IGetPractitionersRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IOfferingResource>>;
|
|
800
1141
|
fetchCategories(request: IGetCategoriesRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IBookableItemCategory>>;
|
|
801
1142
|
fetchBookableItemsFromCredit(request: IGetBookableItemsFromCreditRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<ISystemResponse<IBookableItem>>;
|
|
802
1143
|
fetchSessionAvailabilityForOffering(request: IFetchOfferingAvailabilityRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IGetAvailableDatesAndTimeSlotsResponse>;
|
|
803
1144
|
fetchAppointmentAvailabilityForOffering(request: IFetchOfferingAvailabilityRequest, integration: ICapabilityIntegration, loggedInUserId: bigint): Promise<IGetAvailableDatesAndTimeSlotsResponse>;
|
|
804
1145
|
}
|
|
805
1146
|
|
|
806
|
-
|
|
1147
|
+
declare function formatDateForTrybe(date: Date, isStartOfDay: boolean): string;
|
|
1148
|
+
declare function extractTimeFromIsoString(isoString: string): string;
|
|
1149
|
+
declare function convertKeysToCamelCase(object: unknown): unknown;
|
|
1150
|
+
|
|
1151
|
+
declare const fetchAllPages: <T, TResponse extends {
|
|
1152
|
+
data: T[];
|
|
1153
|
+
meta: {
|
|
1154
|
+
last_page: number;
|
|
1155
|
+
};
|
|
1156
|
+
}>(firstPageResponse: TResponse, shouldFetchAll: boolean, fetchPage: (page: number) => Promise<TResponse>) => Promise<T[]>;
|
|
1157
|
+
|
|
1158
|
+
export { BOOKABLE_ITEM_STATUS_ENUM, BOOKABLE_ITEM_TYPE_ENUM, BaseAccountingContactManagement, BaseAccountingCreditNoteManagement, BaseAccountingCustomerManagement, BaseAccountingCustomerPaymentManagement, BaseAccountingInvoiceManagement, BaseAccountingLOAManagement, BaseAccountingTaxManagement, BaseAuth, BaseCreditBooking, BaseCustomerManagement, BaseIntegrationConfiguration, BaseMembershipCustomerManagement, BaseMembershipManagement, BasePackageManagement, BasePayment, BasePaymentMethodManagement, BasePaymentUserManagement, BaseWellnessManagement, CREDIT_FILTER_BY_ENUM, CREDIT_STATUS_ENUM, CREDIT_TYPE_ENUM, HTTP_METHOD, type IAddCapIntegResourceMapping, type IAddCapabilityIntegration, type IAddCapabilityIntegrationConfig, type IAddCapabilityIntegrationConfiguredFor, type IAddCapabilityIntegrationInput, type IAddCustomerRequest, type IAddItemToOrderItemConfig, type IAddItemToOrderRequest, type IAddItemToOrderResponse, type IAddPaymentToOrderRequest, type IAddUpdateCustomerResponseData, type IApiCallRequest, type IAvailableDateWithSlots, type IAvailableTimeSlot, type IBookableItem, type IBookableItemCategory, type IBookableItemMedia, type IBookableItemPrice, type IBookableItemPriceMeta, type ICapabilityIntegration, type ICapabilityIntegrationConfig, type ICreateOrderRequest, type ICreateOrderResponse, type ICredit, type ICustomer, type ICustomerLastCheckIn, type IFetchOfferingAvailabilityRequest, type IGetAppointmentsRequest, type IGetAvailableDatesAndTimeSlotsResponse, type IGetBookableItemsFromCreditRequest, type IGetCategoriesRequest, type IGetCoursesRequest, type IGetCustomerCreditsRequest, type IGetCustomerCreditsRequestFilters, type IGetCustomerCreditsRequestOptions, type IGetCustomerRequest, type IGetOrderResponse, type IGetPractitionersRequest, type IGetSessionsRequest, type IGetTrybeResourcesCommonResponse, type IIcon, type IIntegrationRequestContext, type IIntegrationRequestLog, INTEGRATION_PROVIDER_ENUM, type IOfferingResource, type IOfferingResourceMedia, type IOrderGuest, type ISystemResponse, type ITrybeAddCustomerToOrderResponse, type ITrybeAddOrderItemResponse, type ITrybeAddOrderResponse, type ITrybeAddPaymentToOrderResponse, type ITrybeAppointment, type ITrybeAppointmentAvailabilityResponse, type ITrybeAppointmentPriceRule, type ITrybeAppointmentSlot, type ITrybeCancelOrderResponse, type ITrybeCategory, type ITrybeCouponCodeOffering, type ITrybeCouponCodeOfferingsData, type ITrybeCourse, type ITrybeCreateOrderResponse, type ITrybeCredit, type ITrybeCustomer, type ITrybeCustomerAvatar, type ITrybeCustomerLabels, type ITrybeCustomerResponse, type ITrybeGetAppointmentsResponse, type ITrybeGetCategoriesResponse, type ITrybeGetCouponCodeOfferingsResponse, type ITrybeGetCoursesResponse, type ITrybeGetCustomerByEmailResponse, type ITrybeGetCustomerCreditsResponse, type ITrybeGetOrderResponse, type ITrybeGetOrderResponseData, type ITrybeGetResourcesCommonLink, type ITrybeGetResourcesCommonLinks, type ITrybeGetResourcesCommonMeta, type ITrybeGetSessionsResponse, type ITrybeImage, type ITrybeMeta, type ITrybeOffering, type ITrybeOrder, type ITrybeOrderGuest, type ITrybePractitioner, type ITrybePriceRule, type ITrybeSession, type ITrybeSessionAvailability, type ITrybeSessionAvailabilityResponse, type ITrybeSessionMeta, type ITrybeSessionPractitioner, type ITrybeSessionPriceRule, type ITrybeSessionRecurrenceGroup, type ITrybeSessionRoom, type ITrybeSessionStartTime, type ITrybeSubmitOrderResponse, type ITrybeUpdateOrderItemResponse, type ITrybeZone, type IUpdateCapabilityIntegration, type IUpdateCustomerRequest, type IUpdateOrderRequest, type IUpdateOrderResponse, type IValidatedCapabilityIntegration, type IValidatedCapabilityIntegrationConfig, type IWellnessManagementRequestOptions, IntegrationConfigurationDao, AppModule as IntegrationLibsModule, IntegrationRequestLoggerService, AppModule$1 as IntegrationTrybeModule, IntegrationUserManagementDao, AppModule$2 as OfferingIntegrationManager, RateLimiterService, TRAFFIC_ROUTER_CONFIGURATION_STORE_KEY, TRYBE_OFFERING_TYPE_API, TRYBE_OFFERING_TYPE_ENUM, TrafficGatewayService, TrybeAuthService, TrybeCreditBooking, TrybeCustomerManagement, TrybeIntegrationConfigurationService, type TrybeOfferingTypeApi, TrybeWellnessManagement, convertKeysToCamelCase, extractTimeFromIsoString, fetchAllPages, formatDateForTrybe };
|