New API + API Token Updates
This commit is contained in:
@@ -1,34 +1,43 @@
|
||||
import type { APIRoute } from 'astro';
|
||||
import { db } from '../../../../db';
|
||||
import { timeEntries } from '../../../../db/schema';
|
||||
import { eq, and } from 'drizzle-orm';
|
||||
import type { APIRoute } from "astro";
|
||||
import { db } from "../../../../db";
|
||||
import { timeEntries } from "../../../../db/schema";
|
||||
import { eq, and } from "drizzle-orm";
|
||||
|
||||
export const POST: APIRoute = async ({ params, locals, redirect }) => {
|
||||
const user = locals.user;
|
||||
if (!user) {
|
||||
return new Response(JSON.stringify({ error: 'Unauthorized' }), { status: 401 });
|
||||
return new Response(JSON.stringify({ error: "Unauthorized" }), {
|
||||
status: 401,
|
||||
});
|
||||
}
|
||||
|
||||
const entryId = params.id;
|
||||
if (!entryId) {
|
||||
return new Response(JSON.stringify({ error: 'Entry ID required' }), { status: 400 });
|
||||
return new Response(JSON.stringify({ error: "Entry ID required" }), {
|
||||
status: 400,
|
||||
});
|
||||
}
|
||||
|
||||
const entry = await db.select()
|
||||
const entry = await db
|
||||
.select()
|
||||
.from(timeEntries)
|
||||
.where(and(
|
||||
eq(timeEntries.id, entryId),
|
||||
eq(timeEntries.userId, user.id)
|
||||
))
|
||||
.where(and(eq(timeEntries.id, entryId), eq(timeEntries.userId, user.id)))
|
||||
.get();
|
||||
|
||||
if (!entry) {
|
||||
return new Response(JSON.stringify({ error: 'Entry not found' }), { status: 404 });
|
||||
return new Response(JSON.stringify({ error: "Entry not found" }), {
|
||||
status: 404,
|
||||
});
|
||||
}
|
||||
|
||||
await db.delete(timeEntries)
|
||||
.where(eq(timeEntries.id, entryId))
|
||||
.run();
|
||||
await db.delete(timeEntries).where(eq(timeEntries.id, entryId)).run();
|
||||
|
||||
return redirect('/dashboard/tracker');
|
||||
if (locals.scopes) {
|
||||
return new Response(JSON.stringify({ success: true }), {
|
||||
status: 200,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
}
|
||||
|
||||
return redirect("/dashboard/tracker");
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user