some bugs fixed

This commit is contained in:
Saimon8420 2025-02-06 20:39:05 +06:00
parent 0e49fc53ab
commit 55b0a0300c
2 changed files with 40 additions and 7 deletions

View file

@ -1,13 +1,19 @@
import { eq } from "drizzle-orm";
import { db } from "../../db";
import { projects } from "../../db/schema";
import { projects, uploads } from "../../db/schema";
import { createEmptyProject } from "../../helper/projects/createProject";
import { createBucket } from "../../helper/upload/createBucket";
import { removeBucket } from "../../helper/upload/removeBucket";
export const getEachProjects = async (id: string, token: string) => {
try {
const project = await db.select().from(projects).where(eq(projects.id, id)).limit(1);
const project = await db.select({
id: projects.id,
name: projects.name,
description: projects.description,
preview_url: projects.preview_url,
object: projects.object,
}).from(projects).where(eq(projects.id, id)).limit(1);
if (project.length === 0) {
return { status: 404, message: "Project not found", token };
}
@ -21,7 +27,13 @@ export const getEachProjects = async (id: string, token: string) => {
export const getAllProjects = async (userId: string, token: string) => {
try {
// Fetch all projects for the given user
const allProjects = await db.select().from(projects).where(eq(projects.userId, userId));
const allProjects = await db.select({
id: projects.id,
name: projects.name,
description: projects.description,
preview_url: projects.preview_url,
object: projects.object,
}).from(projects).where(eq(projects.userId, userId));
if (allProjects.length === 0) {
return { status: 404, message: "No projects found", token };
@ -79,7 +91,13 @@ export const updateProject = async (id: string, body: any, token: string) => {
name,
description,
preview_url
}).where(eq(projects.id, id)).returning();
}).where(eq(projects.id, id)).returning({
id: projects.id,
object: projects.object,
name: projects.name,
description: projects.description,
preview_url: projects.preview_url
});
if (updatedProject.length === 0) {
return { status: 500, message: "Failed to update the project", token };
@ -93,19 +111,34 @@ export const updateProject = async (id: string, body: any, token: string) => {
export const deleteProject = async (id: string, token: string) => {
try {
const deleteProject = await db.delete(projects).where(eq(projects.id, id)).returning({ id: projects.id });
// First, delete related records from the 'uploads' table
await db.delete(uploads).where(eq(uploads.projectId, id));
// Now delete the project
const deleteProject = await db
.delete(projects)
.where(eq(projects.id, id))
.returning({ id: projects.id });
if (deleteProject.length === 0) {
return { status: 404, message: "Project not found", token };
}
const projectId = deleteProject[0].id;
// Delete the bucket associated with the project
const bucketDeletionResult = await removeBucket(projectId);
if (bucketDeletionResult.status !== 200) {
return { status: bucketDeletionResult.status, message: `Error deleting bucket: ${bucketDeletionResult.message}`, token };
return {
status: bucketDeletionResult.status,
message: `Error deleting bucket: ${bucketDeletionResult.message}`,
token
};
}
return { status: 200, message: "Project and associated bucket deleted successfully", token };
} catch (error: any) {
console.log("Error in deleteProject:", error.message || error.toString());
return { status: 500, message: "An error occurred while deleting the project", token };

View file

@ -41,7 +41,7 @@ const app = new Elysia()
.onError(({ code, error }) => {
if (code === 'NOT_FOUND')
return 'Not Found :(';
console.log("hello");
console.log("hello from app.ts under error");
console.error(error)
});