import { SUBSCRIPTION_FEATURE_TYPE } from '../constants'; import { z } from 'zod'; export const GenericSubscriptionFeatureSchema = z.object({ type: z.literal(SUBSCRIPTION_FEATURE_TYPE.GENERIC), name: z.string(), }); export const WriterPagesSubscriptionFeatureSchema = z.object({ type: z.literal(SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES), name: z.string(), }); export const PresentationSlidesSubscriptionFeatureSchema = z.object({ type: z.literal(SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES), name: z.string(), }); export const EduTasksSubscriptionFeatureSchema = z.object({ type: z.literal(SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS), name: z.string(), }); export const SubscriptionFeatureSchema = z.discriminatedUnion('type', [ GenericSubscriptionFeatureSchema, WriterPagesSubscriptionFeatureSchema, PresentationSlidesSubscriptionFeatureSchema, EduTasksSubscriptionFeatureSchema, ]);