character.js 727 B

1234567891011121314151617181920
  1. export const characterSchema = z.object({
  2. // coerce id to number since normalizer plugin wants string ids, and this way
  3. // we can just use strings on the client side
  4. id: z.coerce.number().int().positive(),
  5. player: z.string().trim().min(1),
  6. mortalName: z.string().trim(),
  7. faeName: z.string().trim(),
  8. rank: z.string().trim(),
  9. kith: z.string().trim(),
  10. location: z.string().trim(),
  11. position: z.string().trim(),
  12. seeming: z.string().trim(),
  13. house: z.string().trim(),
  14. bannerhouse: z.string().trim(),
  15. description: z.string().trim(),
  16. notes: z.string().trim()
  17. })
  18. export const createCharacterSchema = characterSchema.omit({ id: true })
  19. export const updateCharacterSchema = createCharacterSchema.partial()