23 lines
612 B
TypeScript
23 lines
612 B
TypeScript
import { z } from "zod/v4";
|
|
import { FeatureUsageType } from "../featureEnums.js";
|
|
|
|
export const CreditSchemaItemSchema = z.object({
|
|
metered_feature_id: z.string(),
|
|
feature_amount: z.number(),
|
|
credit_amount: z.number(),
|
|
});
|
|
|
|
export const CreditSystemConfigSchema = z.object({
|
|
schema: z.array(
|
|
z.object({
|
|
metered_feature_id: z.string(),
|
|
feature_amount: z.number(),
|
|
credit_amount: z.number(),
|
|
}),
|
|
),
|
|
usage_type: z.nativeEnum(FeatureUsageType),
|
|
});
|
|
|
|
export type CreditSystemConfig = z.infer<typeof CreditSystemConfigSchema>;
|
|
export type CreditSchemaItem = z.infer<typeof CreditSchemaItemSchema>;
|