"use server";
import { revalidatePath } from "next/cache";
import { redirect } from "next/navigation";
import { createClient } from "@/utils/supabase/server";
import { HttpStatusCode } from "@/utils/HttpStatusCode";
import { z } from "zod";
import { ApiReturn } from "@/utils/types";
const schema = z.object({
password: z.string({
invalid_type_error: "Invalid Password",
}),
});
export async function resetPassword(
prevState: any,
formData: FormData,
): Promise<ApiReturn> {
const validationFields = schema.safeParse({
password: formData.get("password"),
});
if (!validationFields.success) {
return {
error: validationFields.error.errors[0].message,
code: HttpStatusCode.BadRequest,
};
}
console.log(validationFields.data);
const { password } = validationFields.data;
const supabase = createClient();
const { error, data } = await supabase.auth.updateUser({
password,
});
console.log(error, data);
if (error) {
return {
error: error.message,
code: error.status || HttpStatusCode.BadRequest,
};
}
// revalidatePath("/", "layout");
// redirect("/");
return {
message: "Password updated",
code: HttpStatusCode.Ok,
};
}
"use server";
import { revalidatePath } from "next/cache";
import { redirect } from "next/navigation";
import { createClient } from "@/utils/supabase/server";
import { HttpStatusCode } from "@/utils/HttpStatusCode";
import { z } from "zod";
import { ApiReturn } from "@/utils/types";
const schema = z.object({
password: z.string({
invalid_type_error: "Invalid Password",
}),
});
export async function resetPassword(
prevState: any,
formData: FormData,
): Promise<ApiReturn> {
const validationFields = schema.safeParse({
password: formData.get("password"),
});
if (!validationFields.success) {
return {
error: validationFields.error.errors[0].message,
code: HttpStatusCode.BadRequest,
};
}
console.log(validationFields.data);
const { password } = validationFields.data;
const supabase = createClient();
const { error, data } = await supabase.auth.updateUser({
password,
});
console.log(error, data);
if (error) {
return {
error: error.message,
code: error.status || HttpStatusCode.BadRequest,
};
}
// revalidatePath("/", "layout");
// redirect("/");
return {
message: "Password updated",
code: HttpStatusCode.Ok,
};
}