UNPKG

@wishcbg/bobcode

Version:

基於店家同步功能的需求,讓店家能夠在不同的店家之間同步各項功能設定,並且能夠檢視各項功能的異動情況。 規劃出一套店家設定即程式碼的機制,讓店家能夠以 config file (.sac) 來定義各項功能設定,並且能夠還原店家各項功能設定。 暫且稱這個機制為「Settings as Code」「店家設定即程式碼」。

166 lines (165 loc) 7.19 kB
import { z } from 'zod'; import { BaseResourceSchema } from './base.js'; export declare const appointmentServiceResourceSettingSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional<z.ZodString>; price: z.ZodNumber; showPrice: z.ZodOptional<z.ZodString>; showTime: z.ZodOptional<z.ZodNumber>; bookingTime: z.ZodNumber; order: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; isPublic: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; isPubApt: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; enableSubService: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; enableSubServiceClientHide: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; enableClassTicket: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; requiredClassTicket: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; enableAppointmentUnit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; enableResourceItem: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; attachServiceSettings: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{ appointmentServiceAttachLogicId: z.ZodString; enableResourceItemBooking: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { appointmentServiceAttachLogicId: string; enableResourceItemBooking: boolean; }, { appointmentServiceAttachLogicId: string; enableResourceItemBooking?: boolean | undefined; }>, "many">>>; imageId: z.ZodOptional<z.ZodString>; wideImageId: z.ZodOptional<z.ZodString>; appointmentUnitLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; resourceItemLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; appointmentCategorieLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; appointmentServiceAttacheLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; appointmentSubServices: z.ZodOptional<z.ZodArray<z.ZodObject<{ logicId: z.ZodOptional<z.ZodString>; name: z.ZodString; description: z.ZodOptional<z.ZodString>; price: z.ZodNumber; showPrice: z.ZodOptional<z.ZodString>; bookingTime: z.ZodNumber; showTime: z.ZodOptional<z.ZodNumber>; order: z.ZodOptional<z.ZodDefault<z.ZodNumber>>; allAppointmentUnit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; allResourceItem: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; imageId: z.ZodOptional<z.ZodString>; appointmentUnitLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; resourceItemLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { name: string; price: number; bookingTime: number; logicId?: string | undefined; description?: string | undefined; order?: number | undefined; imageId?: string | undefined; showPrice?: string | undefined; showTime?: number | undefined; allAppointmentUnit?: boolean | undefined; allResourceItem?: boolean | undefined; appointmentUnitLogicIds?: string[] | undefined; resourceItemLogicIds?: string[] | undefined; }, { name: string; price: number; bookingTime: number; logicId?: string | undefined; description?: string | undefined; order?: number | undefined; imageId?: string | undefined; showPrice?: string | undefined; showTime?: number | undefined; allAppointmentUnit?: boolean | undefined; allResourceItem?: boolean | undefined; appointmentUnitLogicIds?: string[] | undefined; resourceItemLogicIds?: string[] | undefined; }>, "many">>; classTicketLogicIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { name: string; price: number; bookingTime: number; description?: string | undefined; order?: number | undefined; isPublic?: boolean | undefined; isPubApt?: boolean | undefined; imageId?: string | undefined; showPrice?: string | undefined; showTime?: number | undefined; appointmentUnitLogicIds?: string[] | undefined; resourceItemLogicIds?: string[] | undefined; enableSubService?: boolean | undefined; enableSubServiceClientHide?: boolean | undefined; enableClassTicket?: boolean | undefined; requiredClassTicket?: boolean | undefined; enableAppointmentUnit?: boolean | undefined; enableResourceItem?: boolean | undefined; attachServiceSettings?: { appointmentServiceAttachLogicId: string; enableResourceItemBooking: boolean; }[] | undefined; wideImageId?: string | undefined; appointmentCategorieLogicIds?: string[] | undefined; appointmentServiceAttacheLogicIds?: string[] | undefined; appointmentSubServices?: { name: string; price: number; bookingTime: number; logicId?: string | undefined; description?: string | undefined; order?: number | undefined; imageId?: string | undefined; showPrice?: string | undefined; showTime?: number | undefined; allAppointmentUnit?: boolean | undefined; allResourceItem?: boolean | undefined; appointmentUnitLogicIds?: string[] | undefined; resourceItemLogicIds?: string[] | undefined; }[] | undefined; classTicketLogicIds?: string[] | undefined; }, { name: string; price: number; bookingTime: number; description?: string | undefined; order?: number | undefined; isPublic?: boolean | undefined; isPubApt?: boolean | undefined; imageId?: string | undefined; showPrice?: string | undefined; showTime?: number | undefined; appointmentUnitLogicIds?: string[] | undefined; resourceItemLogicIds?: string[] | undefined; enableSubService?: boolean | undefined; enableSubServiceClientHide?: boolean | undefined; enableClassTicket?: boolean | undefined; requiredClassTicket?: boolean | undefined; enableAppointmentUnit?: boolean | undefined; enableResourceItem?: boolean | undefined; attachServiceSettings?: { appointmentServiceAttachLogicId: string; enableResourceItemBooking?: boolean | undefined; }[] | undefined; wideImageId?: string | undefined; appointmentCategorieLogicIds?: string[] | undefined; appointmentServiceAttacheLogicIds?: string[] | undefined; appointmentSubServices?: { name: string; price: number; bookingTime: number; logicId?: string | undefined; description?: string | undefined; order?: number | undefined; imageId?: string | undefined; showPrice?: string | undefined; showTime?: number | undefined; allAppointmentUnit?: boolean | undefined; allResourceItem?: boolean | undefined; appointmentUnitLogicIds?: string[] | undefined; resourceItemLogicIds?: string[] | undefined; }[] | undefined; classTicketLogicIds?: string[] | undefined; }>; export type IAppointmentServiceCreateSchema = z.infer<typeof appointmentServiceResourceSettingSchema>; export declare const AppointmentServiceResourceSchema: BaseResourceSchema<typeof appointmentServiceResourceSettingSchema>;