Trash Get, Restore API completed, Project Delete API completed

This commit is contained in:
2025-05-15 14:08:14 +05:30
parent 79b6a4fa75
commit 46dafd4417
10 changed files with 342 additions and 86 deletions

View File

@@ -1,7 +1,12 @@
import * as express from "express";
import { createProjectController, GetProjects } from "../controller/project/projectController.ts";
import {
createProjectController,
GetProjects,
RemoveProject,
} from "../controller/project/projectController.ts";
const projectRouter = express.Router();
projectRouter.post("/upsertProject",createProjectController)
projectRouter.get("/Projects/:userId/:organization",GetProjects)
export default projectRouter
projectRouter.post("/upsertProject", createProjectController);
projectRouter.get("/Projects/:userId/:organization", GetProjects);
projectRouter.patch("/Project/archive/:projectId", RemoveProject);
export default projectRouter;

View File

@@ -0,0 +1,8 @@
import * as express from "express";
import { GetTrashList, RestoreTrash } from "../controller/trash/trashcontrollers.ts";
const trashRouter = express.Router();
trashRouter.get("/Trash/Lists", GetTrashList);
trashRouter.patch("/restore",RestoreTrash)
export default trashRouter;

View File

@@ -20,6 +20,7 @@ import templateRoutes from "./Routes/templateRoutes.ts";
import widget3dRoutes from "./Routes/widget3dRoutes.ts";
import productRouter from "./Routes/productRoutes.ts";
import projectRouter from "./Routes/projectRoutes.ts";
import trashRouter from "./Routes/trashRoutes.ts";
// import productFlowRoutes from "./Routes/productFlowRouts.ts";
const app = express();
@@ -87,4 +88,5 @@ app.use("/api/v2", widget3dRoutes);
app.use("/api/v2", productRouter);
// app.use("/api/v2", productFlowRoutes);
app.use("/api/v1",projectRouter)
app.use("/api/v1",trashRouter)
export default app;

View File

@@ -1,16 +1,25 @@
import { Request, Response } from "express";
import { createProject,GetAllProjects } from "../../../shared/services/project/project-Services.ts";
import {
createProject,
DeleteProject,
GetAllProjects,
} from "../../../shared/services/project/project-Services.ts";
export const createProjectController = async (
req: Request,
res: Response
): Promise<void> => {
try {
const { projectName, userId, thumbnail, organization } = req.body;
if (!projectName || !userId || !thumbnail || !organization)
res.status(400).json({
message: "All fields are required",
});
const result = await createProject(req.body);
switch (result.status) {
case "project_exists":
res.status(409).json({
res.status(403).json({
message: "Project already exists",
});
break;
@@ -21,17 +30,12 @@ export const createProjectController = async (
});
break;
case "success":
case "Success":
res.status(201).json({
message: "Project created successfully",
message: "Project created Successfully",
projectId: result.project._id,
});
break;
case "All fields are required":
res.status(400).json({
message: "All fields are required",
});
break;
default:
res.status(500).json({
message: "Internal server error",
@@ -50,25 +54,23 @@ export const GetProjects = async (
): Promise<void> => {
try {
const { userId, organization } = req.params;
const result = await GetAllProjects({ userId, organization});
if (!userId || !organization)
res.status(400).json({
message: "All fields are required",
});
const result = await GetAllProjects({ userId, organization });
switch (result?.status) {
case "User not found":
res.status(404).json({
message: "User not found",
});
break;
case "success":
case "Success":
res.status(201).json({
Projects: result?.Datas,
});
break;
case "All fields are required":
res.status(400).json({
message: "All fields are required",
});
break;
default:
res.status(500).json({
message: "Internal server error",
@@ -80,4 +82,44 @@ export const GetProjects = async (
message: "Unknown error",
});
}
};
};
export const RemoveProject = async (
req: Request,
res: Response
): Promise<void> => {
try {
const { projectId } = req.params;
const { organization, userId } = req.body;
if (!projectId || !organization || !userId)
res.status(400).json({
message: "All fields are required",
});
const result = await DeleteProject({ projectId, organization, userId });
switch (result?.status) {
case "Project not found":
res.status(404).json({
message: "Project not found",
});
break;
case "User not found":
res.status(404).json({
message: "User not found",
});
break;
case "Success":
res.status(201).json({
message: "Project Deleted Successfully",
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
res.status(500).json({
message: "Unknown error",
});
}
};

View File

@@ -0,0 +1,96 @@
import { Request, Response } from "express";
import {
TrashDatas,
RestoreTrashData,
} from "../../../shared/services/trash/trashService.ts";
export const GetTrashList = async (
req: Request,
res: Response
): Promise<void> => {
try {
const { organization } = req.query as { organization?: string };
console.log("organization: ", organization);
if (!organization) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await TrashDatas({ organization });
switch (result.status) {
case "Trash is Empty":
res.status(200).json({
message: "Trash is Empty",
TrashDatas: [],
});
break;
case "Success":
res.status(200).json({
// message: "Project created Successfully",
TrashDatas: result.ListDatas,
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
console.log("error: ", error);
res.status(500).json({
message: "Unknown error",
});
}
};
export const RestoreTrash = async (
req: Request,
res: Response
): Promise<void> => {
try {
const { organization, projectId } = req.query as {
organization?: string;
projectId?: string;
};
console.log("organization: ", organization);
if (!organization || !projectId) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await RestoreTrashData({ organization, projectId });
switch (result.status) {
case "Project not found":
res.status(404).json({
message: "Project not found",
});
break;
case "Project Restore unsuccessfull":
res.status(200).json({
message: "Project Restore unsuccessfull",
});
break;
case "Project Restored successfully":
res.status(200).json({
message: "Project Restored successfully",
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
console.log("error: ", error);
res.status(500).json({
message: "Unknown error",
});
}
};