import { usersId, type UsersId } from './Users'; import { prezziarioIdprezziario, type PrezziarioIdprezziario } from './Prezziario'; import { servizioServizioId, type ServizioServizioId } from './Servizio'; import { orderTypeEnum, type default as OrderTypeEnum } from './OrderTypeEnum'; import { paymentStatusEnum, type default as PaymentStatusEnum } from './PaymentStatusEnum'; import { rinnoviId, type RinnoviId } from './Rinnovi'; import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely'; import { z } from 'zod'; /** Identifier type for public.ordini */ export type OrdiniOrdineId = string & { __brand: 'public.ordini' }; /** Represents the table public.ordini */ export default interface OrdiniTable { ordine_id: ColumnType; userid: ColumnType; created_at: ColumnType; packid: ColumnType; servizio_id: ColumnType; type: ColumnType; isActive: ColumnType; amount_cent: ColumnType; paymentmethod: ColumnType; paid_at: ColumnType; intent_id: ColumnType; paymentstatus: ColumnType; sconto: ColumnType; rinnovo_id: ColumnType; } export type Ordini = Selectable; export type NewOrdini = Insertable; export type OrdiniUpdate = Updateable; export const ordiniOrdineId = z.uuid().transform(value => value as OrdiniOrdineId); export const OrdiniSchema = z.object({ ordine_id: ordiniOrdineId, userid: usersId, created_at: z.date(), packid: prezziarioIdprezziario, servizio_id: servizioServizioId.nullable(), type: orderTypeEnum, isActive: z.boolean(), amount_cent: z.number(), paymentmethod: z.string().nullable(), paid_at: z.date().nullable(), intent_id: z.string().nullable(), paymentstatus: paymentStatusEnum.nullable(), sconto: z.number(), rinnovo_id: rinnoviId.nullable(), }); export const NewOrdiniSchema = z.object({ ordine_id: ordiniOrdineId.optional(), userid: usersId, created_at: z.date().optional(), packid: prezziarioIdprezziario, servizio_id: servizioServizioId.optional().nullable(), type: orderTypeEnum, isActive: z.boolean().optional(), amount_cent: z.number(), paymentmethod: z.string().optional().nullable(), paid_at: z.date().optional().nullable(), intent_id: z.string().optional().nullable(), paymentstatus: paymentStatusEnum.optional().nullable(), sconto: z.number().optional(), rinnovo_id: rinnoviId.optional().nullable(), }); export const OrdiniUpdateSchema = z.object({ ordine_id: ordiniOrdineId.optional(), userid: usersId.optional(), created_at: z.date().optional(), packid: prezziarioIdprezziario.optional(), servizio_id: servizioServizioId.optional().nullable(), type: orderTypeEnum.optional(), isActive: z.boolean().optional(), amount_cent: z.number().optional(), paymentmethod: z.string().optional().nullable(), paid_at: z.date().optional().nullable(), intent_id: z.string().optional().nullable(), paymentstatus: paymentStatusEnum.optional().nullable(), sconto: z.number().optional(), rinnovo_id: rinnoviId.optional().nullable(), });