UNPKG

nuxt-supabase-team-auth

Version:

Drop-in Nuxt 3 module for team-based authentication with Supabase

33 lines (32 loc) 1.09 kB
import { computed } from "vue"; import { validatePassword, generatePasswordHelpText, createPasswordSchema } from "../utils/password-validation.js"; import { useRuntimeConfig } from "#imports"; export function usePasswordPolicy() { const config = useRuntimeConfig(); const passwordPolicy = computed(() => { return config.public?.teamAuth?.passwordPolicy || {}; }); const passwordHelpText = computed(() => { return generatePasswordHelpText(passwordPolicy.value); }); const validate = (password) => { return validatePassword(password, passwordPolicy.value); }; const getPasswordSchema = async () => { return await createPasswordSchema(passwordPolicy.value); }; const createConfirmPasswordValidator = async (getPasswordValue) => { const v = await import("valibot"); return v.pipe( v.string(), v.custom((value) => value === getPasswordValue(), "Passwords do not match") ); }; return { passwordPolicy: passwordPolicy.value, passwordHelpText, validate, getPasswordSchema, createConfirmPasswordValidator }; }