Basic instance stuff

This commit is contained in:
Kevin Puig
2025-09-27 21:01:52 -04:00
parent d1273ca4ec
commit d7aeb2fec8
6 changed files with 162 additions and 4 deletions

View File

@@ -0,0 +1,29 @@
import { z } from 'zod';
export const createInstanceRequestSchema = z.object({
name: z.string().min(1, 'Instance name cannot be empty'),
icon: z.url().optional(),
requestingUserId: z.uuidv7(),
requestingUserToken: z.string()
});
export const getAllInstancesResponseSchema = z.object({
success: z.boolean(),
data: z.array(
z.object({
id: z.string(),
name: z.string(),
icon: z.string().nullable(),
createdAt: z.string().refine((val) => !isNaN(Date.parse(val)), {
message: "Invalid date string format"
}),
updatedAt: z.string().refine((val) => !isNaN(Date.parse(val)), {
message: "Invalid date string format"
})
})
).optional(),
error: z.string().optional()
});
export type CreateInstanceRequest = z.infer<typeof createInstanceRequestSchema>;
export type GetAllInstancesResponse = z.infer<typeof getAllInstancesResponseSchema>;