- Replaced custom Zod types with imported schemas in stripe router and user router. - Updated payment controller to use new enum imports for order types and payment statuses. - Refactored payment tests to utilize the new enum structure. - Removed deprecated zod_types file and created new zod_chat_types file for chat-related schemas. - Adjusted service files to align with the new order type enums and schemas. - Enhanced the Caratteristiche type definition using Zod for better validation. Co-authored-by: Copilot <copilot@github.com>
102 lines
No EOL
4.5 KiB
TypeScript
102 lines
No EOL
4.5 KiB
TypeScript
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<UsersAnagraficaIdanagrafica, UsersAnagraficaIdanagrafica | undefined, UsersAnagraficaIdanagrafica>;
|
|
|
|
userid: ColumnType<UsersId, UsersId, UsersId>;
|
|
|
|
luogo_nascita: ColumnType<string | null, string | null, string | null>;
|
|
|
|
data_nascita: ColumnType<Date | null, Date | string | null, Date | string | null>;
|
|
|
|
nazione_nascita: ColumnType<string | null, string | null, string | null>;
|
|
|
|
codice_fiscale: ColumnType<string | null, string | null, string | null>;
|
|
|
|
via_residenza: ColumnType<string | null, string | null, string | null>;
|
|
|
|
civico_residenza: ColumnType<string | null, string | null, string | null>;
|
|
|
|
comune_residenza: ColumnType<string | null, string | null, string | null>;
|
|
|
|
provincia_residenza: ColumnType<string | null, string | null, string | null>;
|
|
|
|
cap_residenza: ColumnType<string | null, string | null, string | null>;
|
|
|
|
nazione_residenza: ColumnType<string | null, string | null, string | null>;
|
|
|
|
sesso: ColumnType<string | null, string | null, string | null>;
|
|
|
|
doc_personale_fronte_ref: ColumnType<UsersStorageUserStorageId | null, UsersStorageUserStorageId | null, UsersStorageUserStorageId | null>;
|
|
|
|
doc_personale_retro_ref: ColumnType<UsersStorageUserStorageId | null, UsersStorageUserStorageId | null, UsersStorageUserStorageId | null>;
|
|
}
|
|
|
|
export type UsersAnagrafica = Selectable<UsersAnagraficaTable>;
|
|
|
|
export type NewUsersAnagrafica = Insertable<UsersAnagraficaTable>;
|
|
|
|
export type UsersAnagraficaUpdate = Updateable<UsersAnagraficaTable>;
|
|
|
|
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(),
|
|
}); |