43 lines
2.1 KiB
JavaScript
43 lines
2.1 KiB
JavaScript
|
|
import { env } from "$env/dynamic/private";
|
||
|
|
import { db } from "$lib/server/db";
|
||
|
|
import { baskets } from "$lib/server/db/schema";
|
||
|
|
|
||
|
|
export async function GET() {
|
||
|
|
if (env.TAM3_REMOTE) {
|
||
|
|
const res = await fetch(`${env.TAM3_REMOTE}/api/baskets/?api_key=${env.TAM3_REMOTE_KEY}`);
|
||
|
|
if (!res.ok) {
|
||
|
|
return new Response(JSON.stringify({"detail": "Unable to fetch Baskets"}), {status: res.status, statusText: res.statusText})
|
||
|
|
};
|
||
|
|
const data = await res.json();
|
||
|
|
return new Response(JSON.stringify(data), {
|
||
|
|
headers: {'Content-Type': 'application/json'},
|
||
|
|
status: 200,
|
||
|
|
statusText: "Baskets fetched successfully."
|
||
|
|
})
|
||
|
|
} else {
|
||
|
|
const data = await db.select().from(baskets);
|
||
|
|
return new Response(JSON.stringify(data), {
|
||
|
|
headers: {'Content-Type': 'application/json'},
|
||
|
|
status: 200,
|
||
|
|
statusText: "Baskets loaded successfully."
|
||
|
|
})
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function POST({ request }) {
|
||
|
|
const i_baskets = await request.json();
|
||
|
|
for (let basket of i_baskets) {
|
||
|
|
await db.insert(baskets).values({prefix: basket.prefix, b_id: basket.b_id, description: basket.description, donors: basket.donors, winning_ticket: basket.winning_ticket})
|
||
|
|
.onConflictDoUpdate({target: [baskets.prefix, baskets.b_id], set: {description: basket.description, donors: basket.donors, winning_ticket: basket.winning_ticket}})
|
||
|
|
};
|
||
|
|
if (env.TAM3_REMOTE) {
|
||
|
|
const res = await fetch(`${env.TAM3_REMOTE}/api/baskets/?api_key=${env.TAM3_REMOTE_KEY}`, {
|
||
|
|
body: JSON.stringify([...i_baskets]), method: 'POST', headers: {'Content-Type': 'application/json'}
|
||
|
|
});
|
||
|
|
if (!res.ok) {
|
||
|
|
return new Response(JSON.stringify({details: "Issue posting baskets to remote."}), {status: res.status, statusText: res.statusText})
|
||
|
|
};
|
||
|
|
const data = await res.json();
|
||
|
|
};
|
||
|
|
return new Response(JSON.stringify({details: "Posted baskets successfully."}), {status: 200, statusText: "Posted baskets successfully."})
|
||
|
|
}
|