Files
frm.so/server/db/schemas.js
2026-01-11 03:47:36 -06:00

74 lines
1.5 KiB
JavaScript

import { z } from 'zod';
export let addressSchema = z.object({
address1: z.string(),
address2: z.string().optional(),
zip: z.string().regex(/^\d{5}(-\d{4})?$/),
state: z.string(),
city: z.string()
})
export let MEMBER = z.object({
id: z.number(),
email: z.string().email(),
firstName: z.string(),
lastName: z.string(),
password: z.string(),
tokenUsed: z.string().regex(
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
"Invalid UUID"
),
joined: z.string(),
address: addressSchema
})
export let NETWORK = z.object({
id: z.number(),
name: z.string(),
apps: z.array(z.string()),
logo: z.string()
})
.strict()
export let TITLE = z.object({
id: z.number(),
name: z.string(),
apps: z.array(z.string()),
logo: z.string()
})
.strict()
export let PAYMENT = z.object({
id: z.number(),
name: z.string(),
email: z.string(),
time: z.string(),
amount: z.number(),
product: z.string(),
})
export let POST = z.object({
text: z.string(),
time: z.string(),
sentBy: z.string()
})
export let CONVSRSATION = z.object({
id: z.number(),
between: z.array(z.string()),
lastUpdated: z.string()
}).strict()
export let DM = z.object({
id: z.number(),
conversation: z.string(),
from: z.string(),
text: z.string(),
time: z.string()
}).strict()
export let MEMBER_IN_NETWORK = z.object({
id: z.number(),
from: z.string(),
to: z.string(),
created: z.string()
}).strict()