import { z } from 'zod' export const AccountSchema = z.object({ id: z.number().int().optional(), number: z.int(), financialYearId: z.number().int(), description: z.string(), sru: z.int().nullable().optional(), }) export const AdmissionSchema = z.object({ id: z.number().int().optional(), regex: z.string(), createdAt: z.date().nullable().optional(), createdById: z.number().int(), modifiedAt: z.date().nullable().optional(), modifiedById: z.number().int().nullable().optional(), }) export const AccountBalanceSchema = z.object({ accountNumber: z.number().int(), financialYearId: z.number().int(), in: z.number().optional(), out: z.number().optional(), inQuantity: z.number().int().nullable().optional(), outQuantity: z.number().int().nullable().optional(), }) export const ErrorSchema = z.object({ id: z.number().int().optional(), statusCode: z.number().int().nullable().optional(), type: z.string().nullable().optional(), message: z.string().nullable().optional(), details: z.json().nullable().optional(), stack: z.string().nullable().optional(), method: z.string().nullable().optional(), path: z.string().nullable().optional(), headers: z.json().nullable().optional(), ip: z.string().nullable().optional(), reqId: z.string().nullable().optional(), createdAt: z.string().nullable().optional(), }) export const InviteSchema = z.object({ id: z.number().int().optional(), email: z.string(), token: z.string(), createdAt: z.date().optional(), createdById: z.number().int().nullable().optional(), modifiedAt: z.date().nullable().optional(), modifiedById: z.number().int().nullable().optional(), consumedAt: z.date().nullable().optional(), consumedById: z.number().int().nullable().optional(), }) export const InvoiceSchema = z.object({ id: z.number().int().optional(), financialYearId: z.number().int().nullable().optional(), supplierId: z.number().int(), fiskenNumber: z.number().int().nullable().optional(), phmNumber: z.number().int().nullable().optional(), invoiceNumber: z.string().nullable().optional(), invoiceDate: z.string().nullable().optional(), dueDate: z.string().nullable().optional(), ocr: z.string().nullable().optional(), amount: z.number().nullable().optional(), }) export const RoleSchema = z.object({ id: z.number().int().optional(), name: z.string(), createdAt: z.date().optional(), createdById: z.number().int().nullable().optional(), modifiedAt: z.date().nullable().optional(), modifiedById: z.number().int().nullable().optional(), }) export const SupplierSchema = z.object({ id: z.number().int().optional(), name: z.string().nullable().optional(), supplierTypeId: z.number().int(), taxId: z.string().nullable().optional(), }) export const SupplierTypeSchema = z.object({ id: z.number().int().optional(), name: z.string(), }) export const UserSchema = z.object({ id: z.number().int().optional(), email: z.string(), password: z.string(), createdAt: z.date().optional(), lastLoginAt: z.date().nullable().optional(), loginAttempts: z.number().int().nullable().optional(), lastLoginAttemptAt: z.date().nullable().optional(), lastActivityAt: z.date().nullable().optional(), bannedAt: z.date().nullable().optional(), bannedById: z.number().int().nullable().optional(), blockedAt: z.date().nullable().optional(), blockedById: z.number().int().nullable().optional(), emailVerifiedAt: z.date().nullable().optional(), })