Τι είναι το Prisma και το Zod;

Το Prisma είναι ένα εργαλείο ORM (Object-Relational Mapping) που χρησιμοποιεί ένα αρχείο σχήματος για να ορίσει τη δομή της βάσης δεδομένων σας με μοντέλα, πεδία και σχέσεις. Το Zod είναι μια βιβλιοθήκη επικύρωσης σχήματος με προσανατολισμό στο TypeScript που σας επιτρέπει να ορίσετε επικυρωτές τύπων χρόνου εκτέλεσης. Η μετατροπή σχημάτων Prisma σε σχήματα Zod σας επιτρέπει να επαναχρησιμοποιήσετε τους ορισμούς του μοντέλου της βάσης δεδομένων σας για επικύρωση εισόδου, διασφαλίζοντας συνέπεια μεταξύ της δομής της βάσης δεδομένων και της λογικής επικύρωσης σε όλη την εφαρμογή σας.

Περιγραφή εργαλείου

Αυτό το εργαλείο μετατρέπει αυτόματα τους ορισμούς σχήματος Prisma σε σχήματα επικύρωσης Zod. Αναλύει τα μοντέλα, τις απαριθμήσεις και τους τύπους πεδίων του Prisma, στη συνέχεια δημιουργεί αντίστοιχα σχήματα Zod με σωστές αντιστοιχίσεις τύπων. Το εργαλείο χειρίζεται προαιρετικά πεδία, πίνακες και ειδικούς τύπους Prisma, δημιουργώντας σχήματα επικύρωσης έτοιμα για TypeScript που αντικατοπτρίζουν τη δομή της βάσης δεδομένων σας.

Χαρακτηριστικά

  • Αυτόματη Αντιστοίχιση Τύπων: Μετατρέπει τους τύπους Prisma (String, Int, DateTime, κ.λπ.) σε αντίστοιχους επικυρωτές Zod
  • Υποστήριξη Απαριθμήσεων: Δημιουργεί σχήματα απαρίθμησης Zod από ορισμούς απαρίθμησης Prisma
  • Χειρισμός Πινάκων: Μετατρέπει σωστά τα πεδία λίστας Prisma σε επικυρωτές πίνακα Zod

Υποστηριζόμενες Αντιστοιχίσεις Τύπων

  • Stringz.string()
  • Int, Float, Decimalz.number()
  • Booleanz.boolean()
  • DateTimez.date()
  • Jsonz.record(z.any())
  • Bytesz.instanceof(Buffer)
  • BigIntz.bigint()
  • Προσαρμοσμένοι τύποι/απαριθμήσεις → z.lazy(() => TypeSchema)
  • Λίστες → z.array()
  • Προαιρετικά πεδία → .optional()