import * as z from "zod";

export type ChangePasswordSchema = {
  user: string;
  password: string;
  "new-password": string;
  "rep-password": string;
  code: string;
  csrfToken: string;
};

export const getChangePasswordSchema = (dict: Dictionary) => {
  const { code, new_password, password, rep_password } =
    dict.pages.settings.account.form.fields;

  return z.object({
    user: z.string(),
    password: z.string().min(1, password.errors.required),
    "new-password": z
      .string()
      .min(8, new_password.errors.required)
      .max(16, new_password.errors.max_length),
    "rep-password": z.string().min(1, rep_password.errors.required),
    code: z.string().length(6, code.errors.length),
    csrfToken: z.string(),
  });
};
