import { z } from 'zod'; import { SubscriptionSchema } from './subscription.schema'; import { SUBSCRIPTION_STATUS, USER_TO_SUBSCRIPTION_MARKS } from '../constants'; export const UserToSubscriptionSchema = z.object({ uuid: z.string().uuid(), userId: z.string().uuid(), subscriptionId: z.string().uuid(), initTokenBalance: z.number(), active: z.boolean(), tokenBalance: z.number(), status: z.nativeEnum(SUBSCRIPTION_STATUS), startDate: z.date().nullable(), endDate: z.date().nullable(), marks: z.array(z.nativeEnum(USER_TO_SUBSCRIPTION_MARKS)), intervalEndDate: z.date().nullable(), createdAt: z.date(), updatedAt: z.date(), }); export const UserToSubscriptionWithSubscriptionSchema = z.intersection( UserToSubscriptionSchema, z.object({ subscription: SubscriptionSchema, }), );