Validation des données

PluginFactory utilise Zod pour valider toutes les entrées et sorties des plugins.

Validation des inputs

import { z } from "zod";

const CreateLeadSchema = z.object({
  email: z.string().email(),
  name: z.string().min(2).max(100),
  company: z.string().optional(),
});

export const leadPlugin = createPlugin({
  tools: {
    createLead: async (ctx, input) => {
      const validated = CreateLeadSchema.parse(input);
      return ctx.db.lead.create({ data: validated });
    },
  },
});

Gestion des erreurs de validation

const result = CreateLeadSchema.safeParse(input);
if (!result.success) {
  return { errors: result.error.flatten().fieldErrors };
}

Types partagés

Définissez vos schemas une fois dans packages/domain/ et réutilisez-les partout.

Previous

← Page précédente

Next

Page suivante →