feat: fetching signatures from backend endpoint
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { ENV } from "./env";
|
||||
import { getPetitions } from "./routes/get-petitions";
|
||||
import { signPetition } from "./routes/sign-petition";
|
||||
|
||||
const CORS_HEADERS = {
|
||||
@@ -29,7 +30,8 @@ const server = Bun.serve({
|
||||
port: ENV.PORT,
|
||||
routes: {
|
||||
"/health": new Response("alive!"),
|
||||
"/sign-petition": {
|
||||
"/sign": {
|
||||
GET: withCors(getPetitions),
|
||||
POST: withCors(signPetition),
|
||||
OPTIONS: allowCors,
|
||||
},
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
import { db } from "./database";
|
||||
import { signaturesTable } from "./schema";
|
||||
|
||||
export const insertSignature = async (signature: typeof signaturesTable.$inferInsert): Promise<typeof signaturesTable.$inferSelect | undefined> => {
|
||||
const [insertedSignature] = await db.insert(signaturesTable).values(signature).returning();
|
||||
export const insertSignature = async (
|
||||
signature: typeof signaturesTable.$inferInsert,
|
||||
): Promise<typeof signaturesTable.$inferSelect | undefined> => {
|
||||
const [insertedSignature] = await db
|
||||
.insert(signaturesTable)
|
||||
.values(signature)
|
||||
.returning();
|
||||
|
||||
return insertedSignature;
|
||||
}
|
||||
return insertedSignature;
|
||||
};
|
||||
|
||||
export const getSignatures = async (): Promise<
|
||||
Array<typeof signaturesTable.$inferSelect>
|
||||
> => {
|
||||
return db.select().from(signaturesTable);
|
||||
};
|
||||
|
||||
10
packages/backend/src/routes/get-petitions.ts
Normal file
10
packages/backend/src/routes/get-petitions.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { signedPetitionArraySchema } from "types";
|
||||
import { getSignatures } from "../models";
|
||||
|
||||
export const getPetitions = async (_: Request): Promise<Response> => {
|
||||
const signatures = await getSignatures();
|
||||
|
||||
const parsedSignatures = signedPetitionArraySchema.parse(signatures);
|
||||
|
||||
return Response.json(parsedSignatures, { status: 200 });
|
||||
};
|
||||
Reference in New Issue
Block a user