import { usersId, type UsersId } from './Users'; import { usersStorageUserStorageId, type UsersStorageUserStorageId } from './UsersStorage'; import type { ColumnType, Selectable, Insertable, Updateable } from 'kysely'; import { z } from 'zod'; /** Identifier type for public.users_anagrafica */ export type UsersAnagraficaIdanagrafica = string & { __brand: 'public.users_anagrafica' }; /** Represents the table public.users_anagrafica */ export default interface UsersAnagraficaTable { idanagrafica: ColumnType; userid: ColumnType; luogo_nascita: ColumnType; data_nascita: ColumnType; nazione_nascita: ColumnType; codice_fiscale: ColumnType; via_residenza: ColumnType; civico_residenza: ColumnType; comune_residenza: ColumnType; provincia_residenza: ColumnType; cap_residenza: ColumnType; nazione_residenza: ColumnType; sesso: ColumnType; doc_personale_fronte_ref: ColumnType; doc_personale_retro_ref: ColumnType; } export type UsersAnagrafica = Selectable; export type NewUsersAnagrafica = Insertable; export type UsersAnagraficaUpdate = Updateable; export const usersAnagraficaIdanagrafica = z.uuid().transform(value => value as UsersAnagraficaIdanagrafica); export const UsersAnagraficaSchema = z.object({ idanagrafica: usersAnagraficaIdanagrafica, userid: usersId, luogo_nascita: z.string().nullable(), data_nascita: z.date().nullable(), nazione_nascita: z.string().nullable(), codice_fiscale: z.string().nullable(), via_residenza: z.string().nullable(), civico_residenza: z.string().nullable(), comune_residenza: z.string().nullable(), provincia_residenza: z.string().nullable(), cap_residenza: z.string().nullable(), nazione_residenza: z.string().nullable(), sesso: z.string().nullable(), doc_personale_fronte_ref: usersStorageUserStorageId.nullable(), doc_personale_retro_ref: usersStorageUserStorageId.nullable(), }); export const NewUsersAnagraficaSchema = z.object({ idanagrafica: usersAnagraficaIdanagrafica.optional(), userid: usersId, luogo_nascita: z.string().optional().nullable(), data_nascita: z.union([z.date(), z.string()]).pipe(z.coerce.date()).optional().nullable(), nazione_nascita: z.string().optional().nullable(), codice_fiscale: z.string().optional().nullable(), via_residenza: z.string().optional().nullable(), civico_residenza: z.string().optional().nullable(), comune_residenza: z.string().optional().nullable(), provincia_residenza: z.string().optional().nullable(), cap_residenza: z.string().optional().nullable(), nazione_residenza: z.string().optional().nullable(), sesso: z.string().optional().nullable(), doc_personale_fronte_ref: usersStorageUserStorageId.optional().nullable(), doc_personale_retro_ref: usersStorageUserStorageId.optional().nullable(), }); export const UsersAnagraficaUpdateSchema = z.object({ idanagrafica: usersAnagraficaIdanagrafica.optional(), userid: usersId.optional(), luogo_nascita: z.string().optional().nullable(), data_nascita: z.union([z.date(), z.string()]).pipe(z.coerce.date()).optional().nullable(), nazione_nascita: z.string().optional().nullable(), codice_fiscale: z.string().optional().nullable(), via_residenza: z.string().optional().nullable(), civico_residenza: z.string().optional().nullable(), comune_residenza: z.string().optional().nullable(), provincia_residenza: z.string().optional().nullable(), cap_residenza: z.string().optional().nullable(), nazione_residenza: z.string().optional().nullable(), sesso: z.string().optional().nullable(), doc_personale_fronte_ref: usersStorageUserStorageId.optional().nullable(), doc_personale_retro_ref: usersStorageUserStorageId.optional().nullable(), });