!role All fields are required updated

This commit is contained in:
2025-06-24 12:18:33 +05:30
parent 97eb5e6715
commit 51c45a6a68
7 changed files with 81 additions and 57 deletions

View File

@@ -66,14 +66,14 @@ export const GetProjects = async (
res: Response
): Promise<void> => {
try {
const { userId, organization, role } = req.user || {};
if (!userId || !organization || !role) {
const { userId, organization } = req.user || {};
if (!userId || !organization) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await GetAllProjects({ userId, organization, role });
const result = await GetAllProjects({ userId, organization });
switch (result?.status) {
case "User not found":
res.status(404).json({
@@ -158,7 +158,7 @@ export const updateProjectController = async (
const { userId, organization, role } = req.user || {};
const { projectId } = req.params;
const { projectName, thumbnail } = req.body;
if (!userId || !organization || !projectId || !role) {
if (!userId || !organization || !projectId) {
res.status(400).json({
message: "All fields are required",
});
@@ -170,7 +170,6 @@ export const updateProjectController = async (
userId,
projectName,
thumbnail,
role,
});
switch (result?.status) {
case "Project not found":
@@ -215,7 +214,7 @@ export const ViewData = async (
const { projectId } = req.params as {
projectId: string;
};
if (!userId || !organization || !projectId || !role) {
if (!userId || !organization || !projectId) {
res.status(400).json({
message: "All fields are required",
});
@@ -225,7 +224,6 @@ export const ViewData = async (
projectId,
organization,
userId,
role,
});
switch (result?.status) {
case "Project not found":

View File

@@ -12,13 +12,13 @@ export const GetTrashList = async (
): Promise<void> => {
try {
const { organization, role, userId } = req.user || {};
if (!organization || !role || !userId) {
if (!organization || !userId) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await TrashDatas({ organization, role, userId });
const result = await TrashDatas({ organization, userId });
switch (result.status) {
case "User not found":
@@ -60,7 +60,7 @@ export const RestoreTrash = async (
const { projectId } = req.query as {
projectId: string;
};
if (!organization || !projectId || !role || !userId) {
if (!organization || !projectId || !userId) {
res.status(400).json({
message: "All fields are required",
});
@@ -69,7 +69,6 @@ export const RestoreTrash = async (
const result = await RestoreTrashData({
organization,
projectId,
role,
userId,
});
@@ -116,7 +115,7 @@ export const DeleteTrashData = async (
const { projectId } = req.query as {
projectId: string;
};
if (!organization || !projectId || !role || !userId) {
if (!organization || !projectId || !userId) {
res.status(400).json({
message: "All fields are required",
});
@@ -125,7 +124,6 @@ export const DeleteTrashData = async (
const result = await TrashDelete({
organization,
projectId,
role,
userId,
});

View File

@@ -13,7 +13,7 @@ export const versionAddcontroller = async (
): Promise<void> => {
try {
const { organization, role, userId } = req.user || {};
if (!organization || !role || !userId) {
if (!organization || !userId) {
res.status(400).json({
message: "All fields are required",
});
@@ -69,7 +69,7 @@ export const GetversionList = async (
): Promise<void> => {
try {
const { organization, role, userId } = req.user || {};
if (!organization || !role || !userId) {
if (!organization || !userId) {
res.status(400).json({
message: "All fields are required",
});
@@ -121,7 +121,7 @@ export const rollbackcontroller = async (
): Promise<void> => {
try {
const { organization, role, userId } = req.user || {};
if (!organization || !role || !userId) {
if (!organization || !userId) {
res.status(400).json({
message: "All fields are required",
});
@@ -176,7 +176,7 @@ export const GetversionHistory = async (
): Promise<void> => {
try {
const { organization, role, userId } = req.user || {};
if (!organization || !role || !userId) {
if (!organization || !userId) {
res.status(400).json({
message: "All fields are required",
});

View File

@@ -8,6 +8,7 @@ import {
interface IThread {
projectId: string;
isArchive?: boolean;
versionId: string;
state: string;
commentId: string;
@@ -48,7 +49,7 @@ export const createThread = async (data: IThread) => {
threadTitle,
organization,
} = data;
console.log('data;: ', data);
const userExisting = await existingUser(userId, organization);
if (!userExisting) {
return {
@@ -80,7 +81,6 @@ export const createThread = async (data: IThread) => {
isArchive: false,
createdAt: Date.now(),
});
console.log('newThread: ', newThread);
const responseData = {
_id: newThread._id,
projectId: newThread.projectId,
@@ -88,7 +88,6 @@ export const createThread = async (data: IThread) => {
state: newThread.state,
createdBy: newThread.createdBy,
createdAt: newThread.createdAt,
isArchive: newThread.isArchive,
position: newThread.position,
rotation: newThread.rotation,
threadTitle: newThread.threadTitle,
@@ -129,14 +128,25 @@ export const deleteThread = async (data: IThread) => {
const findThreadId = await ThreadModel(organization).findOne({
_id: threadId,
createdBy: userId,
isArchive: false,
versionId,
projectId,
});
if (!findThreadId) {
return { status: "can't deleted" };
}
const deleteThread = await ThreadModel(organization).findOneAndUpdate(
{ _id: threadId, createdBy: userId },
{ isArchive: true }
);
const deleteThread = await ThreadModel(organization)
.findOneAndUpdate(
{
_id: threadId,
createdBy: userId,
versionId,
projectId,
isArchive: false,
},
{ isArchive: true }
)
.select("-isArchive -__v");
return {
status: "Success",
data: deleteThread,
@@ -158,6 +168,7 @@ export const updateThreadTitle = async (data: IThread) => {
threadId,
commentId,
} = data;
console.log("data: ", data);
const userExisting = await existingUser(userId, organization);
if (!userExisting) {
@@ -179,19 +190,26 @@ export const updateThreadTitle = async (data: IThread) => {
versionId
);
if (!ExistingVersion) return { status: "Version Data not found" };
const findThreadId = await ThreadModel(organization).findById(threadId);
const findThreadId = await ThreadModel(organization).findById({
_id: threadId,
isArchive: false,
});
if (findThreadId) {
const updateThread = await ThreadModel(organization).findOneAndUpdate(
{
_id: threadId,
createdBy: userId,
},
{ threadTitle: threadTitle },
{
new: true,
}
);
const updateThread = await ThreadModel(organization)
.findOneAndUpdate(
{
_id: threadId,
isArchive: false,
versionId,
projectId,
createdBy: userId,
},
{ threadTitle: threadTitle },
{
new: true,
}
)
.select("-isArchive -__v");
return {
status: "Success",
data: updateThread,
@@ -234,23 +252,31 @@ export const addComments = async (data: IThread) => {
versionId
);
if (!ExistingVersion) return { status: "Version Data not found" };
const findThreadId = await ThreadModel(organization).findById(threadId);
const findThreadId = await ThreadModel(organization).findById({
_id: threadId,
isArchive: false,
});
if (commentId) {
const updated = await ThreadModel(organization).findOneAndUpdate(
{
_id: threadId,
"comments._id": commentId,
},
{
$set: {
"comments.$.comment": comment,
"comments.$.createdAt": Date.now(),
const updated = await ThreadModel(organization)
.findOneAndUpdate(
{
_id: threadId,
isArchive: false,
versionId,
projectId,
"comments._id": commentId,
},
},
{
new: true,
}
);
{
$set: {
"comments.$.comment": comment,
"comments.$.createdAt": Date.now(),
},
},
{
new: true,
}
)
.select("-isArchive -__v");
if (updated) {
const updatedComment = updated?.comments?.find(
@@ -312,6 +338,8 @@ export const deleteComments = async (data: IThread) => {
if (!ExistingVersion) return { status: "Version Data not found" };
const findThreadId = await ThreadModel(organization).findOne({
_id: threadId,
versionId,
projectId,
});
if (!findThreadId) {
return { status: "thread not found" };
@@ -320,6 +348,9 @@ export const deleteComments = async (data: IThread) => {
const deleted = await ThreadModel(organization).findOneAndUpdate(
{
_id: threadId,
isArchive: false,
versionId,
projectId,
"comments._id": commentId,
},
{
@@ -328,7 +359,7 @@ export const deleteComments = async (data: IThread) => {
},
},
{
new: true, // returns the updated document
new: true,
}
);
return {

View File

@@ -42,12 +42,10 @@ interface UpdateProjectInput {
thumbnail?: string;
sharedUsers?: string[];
organization: string;
role: string;
}
interface GetProjectsInterface {
userId: string;
organization: string;
role: string;
}
interface ProjectDelInterface {
projectId: string;
@@ -58,7 +56,6 @@ interface ProjectInterface {
projectId: string;
userId: string;
organization: string;
role: string;
}
interface RoleFilter {
isArchive: boolean;

View File

@@ -2,13 +2,11 @@ import projectModel from "../../V1Models/Project/project-model.ts";
import { existingUser } from "../helpers/v1projecthelperFns.ts";
interface IOrg {
organization: string;
role: string;
userId: string;
}
interface IRestore {
projectId: string;
organization: string;
role: string;
userId: string;
}
interface RoleFilter {

View File

@@ -122,6 +122,7 @@ export const deleteThreadHandleEvent = async (
}
const result = await deleteThread(data);
console.log("result: ", result);
const status = typeof result?.status === "string" ? result.status : "unknown";
const messages: Record<string, { message: string }> = {
@@ -143,6 +144,7 @@ export const deleteThreadHandleEvent = async (
messages,
threadDatas
);
emitToSenderAndAdmins(
io,
socket,