Files
suaveplan/packages/api-stack/api/api-plugin-auth/src/schemas/routes/oauth.ts
2026-05-27 23:29:53 +01:00

32 lines
887 B
TypeScript

import z from "zod";
export const OAuthStartParamsSchema = z.object({
provider: z.string().min(1),
});
export const OAuthStartQuerySchema = z.object({
redirectTo: z.string().url().optional(),
});
export const OAuthStartResponseSchema = z.object({
redirectTo: z.string().url(),
});
export const OAuthCallbackParamsSchema = z.object({
provider: z.string().min(1),
});
export const OAuthCallbackQuerySchema = z.object({
code: z.string().min(1),
state: z.string().min(1),
});
export const OAuthCallbackResponseSchema = z.object({
redirectTo: z.string().url(),
});
export type OAuthStartParams = z.infer<typeof OAuthStartParamsSchema>;
export type OAuthStartQuery = z.infer<typeof OAuthStartQuerySchema>;
export type OAuthCallbackParams = z.infer<typeof OAuthCallbackParamsSchema>;
export type OAuthCallbackQuery = z.infer<typeof OAuthCallbackQuerySchema>;