seaech apis and socket events

This commit is contained in:
2025-05-16 16:36:40 +05:30
parent 0e7db2af8d
commit 6c17ba4590
12 changed files with 353 additions and 133 deletions

View File

@@ -1,7 +1,10 @@
import * as express from "express";
import { recentDataController } from "../controller/home/recentsControllers.ts";
import { recentDataController, searchProjectController, searchTrashProjectController } from "../controller/home/homeControllers.ts";
import { searchTrashProject } from "../../shared/services/home/homeService.ts";
const homePageRouter = express.Router();
homePageRouter.get("/RecentlyViewed/:userId/:organization", recentDataController);
homePageRouter.get("/searchProjects", searchProjectController);
homePageRouter.get("/searchTrashProjects", searchTrashProjectController);
export default homePageRouter;

View File

@@ -0,0 +1,140 @@
import { Request, Response } from "express";
import { RecentlyAdded, searchProject, searchTrashProject } from "../../../shared/services/home/homeService.ts";
export const recentDataController = async (
req: Request,
res: Response
): Promise<void> => {
try {
const { userId, organization } = req.params;
if (!userId || !organization) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await RecentlyAdded({ userId, organization });
switch (result.status) {
case "User not found":
res.status(404).json({
message: "User not found",
});
break;
case "Datas were empty":
res.status(200).json({
RecentlyViewed: [],
});
break;
case "Success":
res.status(200).json({
RecentlyViewed: result.data,
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
res.status(500).json({
message: "Unknown error",
});
return;
}
};
export const searchProjectController = async (req: Request, res: Response): Promise<void> => {
try {
const { searchName, organization, userId } = req.query as {
organization: string;
searchName: string;
userId: string;
};
if (!userId || !organization || !searchName) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await searchProject({
searchName,
organization,
userId,
});
switch (result?.status) {
case "Project not found":
res.status(200).json({
message: "Project not found",
});
break;
case "User not found":
res.status(404).json({
message: "User not found",
});
break;
case "Success":
res.status(200).json({
projectData: result.data,
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
res.status(500).json({
message: "Unknown error",
});
return;
}
};
export const searchTrashProjectController = async (req: Request, res: Response): Promise<void> => {
try {
const { searchName, organization, userId } = req.query as {
organization: string;
searchName: string;
userId: string;
};
if (!userId || !organization || !searchName) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await searchTrashProject({
searchName,
organization,
userId,
});
switch (result?.status) {
case "Project not found":
res.status(200).json({
message: "Project not found",
});
break;
case "User not found":
res.status(404).json({
message: "User not found",
});
break;
case "Success":
res.status(200).json({
projectData: result.data,
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
res.status(500).json({
message: "Unknown error",
});
return;
}
};

View File

@@ -1,46 +0,0 @@
import { Request, Response } from "express";
import { RecentlyAdded } from "../../../shared/services/home/recentDatasService.ts";
export const recentDataController = async (
req: Request,
res: Response
): Promise<void> => {
try {
const { userId, organization } = req.params;
if (!userId || !organization) {
res.status(400).json({
message: "All fields are required",
});
return;
}
const result = await RecentlyAdded({ userId, organization });
switch (result.status) {
case "User not found":
res.status(404).json({
message: "User not found",
});
break;
case "Datas were empty":
res.status(200).json({
RecentlyViewed: [],
});
break;
case "Success":
res.status(200).json({
RecentlyViewed: result.data,
});
break;
default:
res.status(500).json({
message: "Internal server error",
});
break;
}
} catch (error) {
res.status(500).json({
message: "Unknown error",
});
return;
}
};

View File

@@ -186,7 +186,6 @@ export const updateProjectController = async (
};
export const ViewData = async (req: Request, res: Response): Promise<void> => {
try {
console.log("req.query: ", req.query);
const { projectId, organization, userId } = req.query as {
organization: string;
projectId: string;
@@ -203,7 +202,6 @@ export const ViewData = async (req: Request, res: Response): Promise<void> => {
organization,
userId,
});
console.log("result: ", result);
switch (result?.status) {
case "Project not found":
res.status(404).json({