All files / types/dist/schemas auth.js

100% Statements 10/10
100% Branches 0/0
100% Functions 0/0
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50        16x     16x         16x                 16x       16x         16x         16x     16x       16x       16x      
import { z } from 'zod';
// ============================================================================
// Auth Configuration Schemas
// ============================================================================
export const authLocalConfigSchema = z.object({
    usersFile: z.string().default('users.json'),
});
export const authSessionConfigSchema = z.object({
    secret: z.string().optional(),
    accessTokenExpiry: z.string().default('15m'),
    refreshTokenExpiry: z.string().default('7d'),
});
export const authConfigSchema = z.object({
    enabled: z.boolean().default(false),
    provider: z.string().default('local'),
    local: authLocalConfigSchema.default({}),
    session: authSessionConfigSchema.default({}),
});
// ============================================================================
// Auth API Schemas
// ============================================================================
export const authLoginRequestSchema = z.object({
    email: z.string().email(),
    password: z.string().min(1),
});
export const authUserSchema = z.object({
    id: z.string(),
    email: z.string().email(),
    mustChangePassword: z.boolean(),
});
export const authLoginResponseSchema = z.object({
    token: z.string(),
    refreshToken: z.string(),
    user: authUserSchema,
});
export const authRefreshRequestSchema = z.object({
    refreshToken: z.string(),
});
export const authRefreshResponseSchema = z.object({
    token: z.string(),
    refreshToken: z.string(),
});
export const authChangePasswordRequestSchema = z.object({
    oldPassword: z.string().min(1),
    newPassword: z.string().min(1),
});
export const authCheckResponseSchema = z.object({
    authEnabled: z.boolean(),
});