feat: fetching signatures from backend endpoint
This commit is contained in:
@@ -3,16 +3,33 @@ import { signedPetitionSchema, signPetitionSchema } from "types";
|
||||
|
||||
const backendUrl = import.meta.env.VITE_BACKEND_URL;
|
||||
|
||||
export const signedPetitionWithParsedDate = signedPetitionSchema.extend({
|
||||
createdAt: z.string().transform((date: string) => new Date(date)),
|
||||
});
|
||||
|
||||
const signedPetitionSignatures = z.array(signedPetitionWithParsedDate);
|
||||
|
||||
export const getSignatures = async (): Promise<
|
||||
z.infer<typeof signedPetitionSignatures>
|
||||
> => {
|
||||
const res = await fetch(`${backendUrl}/sign`);
|
||||
|
||||
const body = await res.json();
|
||||
const validatedBody = signedPetitionSignatures.parse(body);
|
||||
|
||||
return validatedBody;
|
||||
};
|
||||
|
||||
export const signPetition = async (
|
||||
signature: z.infer<typeof signPetitionSchema>,
|
||||
): Promise<z.infer<typeof signedPetitionSchema>> => {
|
||||
const res = await fetch(`${backendUrl}/sign-petition`, {
|
||||
): Promise<z.infer<typeof signedPetitionWithParsedDate>> => {
|
||||
const res = await fetch(`${backendUrl}/sign`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(signature),
|
||||
});
|
||||
|
||||
const body = await res.json();
|
||||
const validatedBody = signedPetitionSchema.parse(body);
|
||||
const validatedBody = signedPetitionWithParsedDate.parse(body);
|
||||
|
||||
return validatedBody;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user