From 82fea0ceee953b645828274e1ad07eb7f9fe463a Mon Sep 17 00:00:00 2001 From: thierryverse Date: Fri, 14 Nov 2025 00:51:17 +0200 Subject: [PATCH] refactor auth types --- surfsense_web/contracts/types/auth.types.ts | 36 +++++++++------------ 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/surfsense_web/contracts/types/auth.types.ts b/surfsense_web/contracts/types/auth.types.ts index 318b656c9..80feb52f7 100644 --- a/surfsense_web/contracts/types/auth.types.ts +++ b/surfsense_web/contracts/types/auth.types.ts @@ -1,33 +1,29 @@ import { z } from "zod"; export const loginRequest = z.object({ - email: z.string().email(), - password: z.string().min(1), - grant_type: z.string().optional(), + email: z.string().email(), + password: z.string().min(3), + grant_type: z.string().optional(), }); export const loginResponse = z.object({ - access_token: z.string(), - token_type: z.string(), + access_token: z.string(), + token_type: z.string(), }); -export const registerRequest = z.object({ - email: z.string().email(), - password: z.string().min(1), - is_active: z.boolean().optional(), - is_superuser: z.boolean().optional(), - is_verified: z.boolean().optional(), +export const registerRequest = loginRequest.omit({ grant_type: true }).extend({ + is_active: z.boolean().optional(), + is_superuser: z.boolean().optional(), + is_verified: z.boolean().optional(), }); -export const registerResponse = z.object({ - id: z.number(), - email: z.string().email(), - is_active: z.boolean(), - is_superuser: z.boolean(), - is_verified: z.boolean(), - pages_limit: z.number(), - pages_used: z.number(), -}); +export const registerResponse = registerRequest + .omit({ password: true }) + .extend({ + id: z.number(), + pages_limit: z.number(), + pages_used: z.number(), + }); export type LoginRequest = z.infer; export type LoginResponse = z.infer;