New version API collaboration and tested for Project

This commit is contained in:
2025-05-29 19:11:26 +05:30
parent 72faf6782e
commit 2bb3814d75
25 changed files with 526 additions and 88 deletions

View File

@@ -1,7 +1,8 @@
import { Request, Response } from "express";
import { Response } from "express";
import {
createProject,
DeleteProject,
DuplicateProject,
GetAllProjects,
updateProject,
viewProject,
@@ -15,6 +16,7 @@ export const createProjectController = async (
try {
const { userId, organization } = req.user || {};
const { projectUuid, thumbnail } = req.body;
if (!req.user || !req.user.userId || !req.user.organization) {
res.status(401).json({ message: "Unauthorized" });
return;
@@ -105,17 +107,12 @@ export const RemoveProject = async (
try {
const { projectId } = req.params;
// const { organization, userId } = req.body;
const { organization, userId, role } = req.user || {};
if (
!req.user ||
!req.user.userId ||
!req.user.organization ||
!req.user.role
) {
const { organization, userId } = req.user || {};
if (!req.user || !req.user.userId || !req.user.organization) {
res.status(401).json({ message: "Unauthorized" });
return;
}
if (!projectId || !organization || !userId || !role) {
if (!projectId || !organization || !userId) {
res.status(400).json({
message: "All fields are required",
});
@@ -125,7 +122,6 @@ export const RemoveProject = async (
projectId,
organization,
userId,
role,
});
switch (result?.status) {
case "Project not found":
@@ -267,3 +263,59 @@ export const ViewData = async (
return;
}
};
export const ProjectDuplicateController = async (
req: AuthenticatedRequest,
res: Response
): Promise<void> => {
try {
const { userId, organization } = req.user || {};
const { projectUuid, thumbnail, projectName } = req.body;
if (!req.user || !req.user.userId || !req.user.organization) {
res.status(401).json({ message: "Unauthorized" });
return;
}
if (!projectUuid || !thumbnail || !projectName) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await DuplicateProject({
...req.body,
userId,
organization,
});
switch (result.status) {
case "project_exists":
res.status(403).json({
message: "Project already exists",
});
break;
case "user_not_found":
res.status(404).json({
message: "User not found",
});
break;
case "Success":
res.status(201).json({
message: "Project Duplicated Successfully",
projectId: result.project._id,
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
res.status(500).json({
message: "Unknown error",
});
return;
}
};