UNPKG

@wallfar/ocd-studio-core-sdk

Version:

Helper SDK for our OneClick Studio modules

60 lines (55 loc) 3.25 kB
import { Firestore } from 'firebase-admin/firestore'; import { B as BookerServerConfig, E as ReservationValidationInput, F as ReservationValidationResult, i as BookingOrderInput, C as CreateOrderResult, h as BookingOrder, w as ProcessBookingChangeOrder, x as ProcessBookingChangeReservation, v as ProcessBookingChangeOptions, P as PaymentLinkOptions, q as PaymentLinkResult, r as PaymentWebhookResult } from './shared/ocd-studio-core-sdk.ShBMfdE2.js'; export { e as BookingAdjustment, f as BookingMetadata, g as BookingMetadataValue, j as BookingOrderRequestData, k as BookingOrderReservation, m as BookingValidationError, n as BookingValidationErrorCode, o as BookingValidationErrorScope, p as CustomerInfo, s as ProcessBookingCancelledContext, t as ProcessBookingChangeCallbackContext, u as ProcessBookingChangeEvent, y as ProcessBookingChangeReservationContext, z as ProcessBookingConfirmedContext, V as ValidatedReservation } from './shared/ocd-studio-core-sdk.ShBMfdE2.js'; import 'vue'; import '@internationalized/date'; import 'firebase-functions/v2/firestore'; interface WebshopServerConfig { defaultBrand?: string; defaultCurrency?: string; defaultLocale?: string; provider: 'firebase'; firebase?: { db: Firestore; products: string; collections: string; shippingOptions: string; promoCodes: string; }; paymentProvider: 'stripe'; stripe?: { key: string; webhook_secret: string; }; } interface PromoCodeDto { id?: string; code: string; type: string; value?: number; minOrderAmount?: number; } declare class WebshopServer { private config; constructor(config: WebshopServerConfig); validatePromoCode(code: string): Promise<{ valid: boolean; promo?: PromoCodeDto; error?: string; }>; createPaymentLink(checkoutData: any): Promise<string>; } declare class BookerServer { private config; constructor(config: BookerServerConfig); validateReservation(input: ReservationValidationInput): Promise<ReservationValidationResult>; validateReservations(inputs: ReservationValidationInput[]): Promise<ReservationValidationResult[]>; createOrder(input: BookingOrderInput): Promise<CreateOrderResult>; getOrder(orderId: string): Promise<BookingOrder | null>; updateOrderStatus(orderId: string, status: BookingOrder['status'], paymentStatus?: BookingOrder['paymentStatus'], amountPaid?: number): Promise<void>; processBookingChange<Order extends ProcessBookingChangeOrder<ProcessBookingChangeReservation> = BookingOrder, Params = Record<string, string>>(options: ProcessBookingChangeOptions<Order, Params>): Promise<void>; createPaymentLink(orderId: string, options: PaymentLinkOptions): Promise<PaymentLinkResult>; handleWebhook(payload: string | Buffer, signature: string): Promise<PaymentWebhookResult>; } export { BookerServer, BookerServerConfig, BookingOrder, BookingOrderInput, CreateOrderResult, PaymentLinkOptions, PaymentLinkResult, PaymentWebhookResult, ProcessBookingChangeOptions, ProcessBookingChangeOrder, ProcessBookingChangeReservation, ReservationValidationInput, ReservationValidationResult, WebshopServer }; export type { WebshopServerConfig };