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(),
});
|