@wishcbg/bobcode
Version:
基於店家同步功能的需求,讓店家能夠在不同的店家之間同步各項功能設定,並且能夠檢視各項功能的異動情況。 規劃出一套店家設定即程式碼的機制,讓店家能夠以 config file (.sac) 來定義各項功能設定,並且能夠還原店家各項功能設定。 暫且稱這個機制為「Settings as Code」「店家設定即程式碼」。
166 lines (165 loc) • 7.19 kB
TypeScript
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>;