105 lines
3.4 KiB
TypeScript
105 lines
3.4 KiB
TypeScript
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(),
|
|
})
|