nano-service/src/messages.ts
qpismont c47862f376
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/manual/build Pipeline was successful
ci/woodpecker/manual/lint Pipeline was successful
ci/woodpecker/manual/test Pipeline was successful
ci/woodpecker/pull_request_closed/build Pipeline was successful
ci/woodpecker/pull_request_closed/lint Pipeline was successful
ci/woodpecker/pull_request_closed/test Pipeline was successful
add zod validation for internal Request and Response message
2024-01-11 23:03:46 +01:00

25 lines
528 B
TypeScript

import { z } from "zod";
export interface Request<T> {
service: string;
subject: string;
data?: T;
}
export const InternalRequestSchema = z.object({
from: z.string(),
data: z.optional(z.any()),
});
export const InternalResponseSchema = z.object({
data: z.optional(z.any()),
statusCode: z.number(),
});
export type InternalRequest = z.infer<typeof InternalRequestSchema>;
export type InternalResponse = z.infer<typeof InternalResponseSchema>;
export interface Response<T> {
data?: T;
statusCode: number;
}