@wishcbg/bobcode
Version:
基於店家同步功能的需求,讓店家能夠在不同的店家之間同步各項功能設定,並且能夠檢視各項功能的異動情況。 規劃出一套店家設定即程式碼的機制,讓店家能夠以 config file (.sac) 來定義各項功能設定,並且能夠還原店家各項功能設定。 暫且稱這個機制為「Settings as Code」「店家設定即程式碼」。
51 lines (50 loc) • 2.83 kB
TypeScript
import { z } from 'zod';
import { BaseResourceSchema } from './base.js';
export declare const memberLevelConfigResourceSettingSchema: z.ZodObject<{
level: z.ZodNumber;
name: z.ZodString;
validTimeUnit: z.ZodEnum<["forever", "month"]>;
validTime: z.ZodOptional<z.ZodNumber>;
image: z.ZodOptional<z.ZodString>;
color: z.ZodOptional<z.ZodString>;
levelUpCondition: z.ZodEnum<["none", "onceAmount", "periodCount", "periodAmount"]>;
levelUpPeriod: z.ZodOptional<z.ZodNumber>;
levelUpThreshold: z.ZodOptional<z.ZodNumber>;
levelUpSources: z.ZodOptional<z.ZodArray<z.ZodEnum<["appointment", "eCommerce", "memberStore", "saleRecord", "externalTransaction"]>, "many">>;
levelRemainCondition: z.ZodEnum<["none", "onceAmount", "periodCount", "periodAmount"]>;
levelRemainPeriod: z.ZodOptional<z.ZodNumber>;
levelRemainThreshold: z.ZodOptional<z.ZodNumber>;
levelRemainSources: z.ZodOptional<z.ZodArray<z.ZodEnum<["appointment", "eCommerce", "memberStore", "saleRecord", "externalTransaction"]>, "many">>;
}, "strip", z.ZodTypeAny, {
name: string;
level: number;
validTimeUnit: "forever" | "month";
levelUpCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
levelRemainCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
image?: string | undefined;
validTime?: number | undefined;
color?: string | undefined;
levelUpPeriod?: number | undefined;
levelUpThreshold?: number | undefined;
levelUpSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
levelRemainPeriod?: number | undefined;
levelRemainThreshold?: number | undefined;
levelRemainSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
}, {
name: string;
level: number;
validTimeUnit: "forever" | "month";
levelUpCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
levelRemainCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
image?: string | undefined;
validTime?: number | undefined;
color?: string | undefined;
levelUpPeriod?: number | undefined;
levelUpThreshold?: number | undefined;
levelUpSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
levelRemainPeriod?: number | undefined;
levelRemainThreshold?: number | undefined;
levelRemainSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
}>;
export type IMemberLevelConfigResourceSettingSchema = z.infer<typeof memberLevelConfigResourceSettingSchema>;
export declare const MemberLevelConfigResourceSchema: BaseResourceSchema<typeof memberLevelConfigResourceSettingSchema>;