rsxp-2023
rsxp-2023 copied to clipboard
[0020] Criação de contratos de comunicação back-end/front-end
Estou criando contratos para todas comunicações que forem acontecer entre front-end e back-end facilitando a construção de ambas partes de forma isolada.
Exemplo de um contrato para a rota de "vincular ingresso":
import { z } from 'zod'
export const linkTicketRequest = z.object({
symplaTicketNumber: z.string().regex(/[A-Z0-9]{4}-[A-Z0-9]{2}-[A-Z0-9]{4}/)
})
export type LinkTicketRequest = z.infer<typeof linkTicketRequest>
export const linkTicketResponse = z.object({
// todo
})
export type LinkTicketResponse = z.infer<typeof linkTicketResponse>