import { Response } from "express"; import { AuthenticatedRequest } from "../../../../shared/utils/token.ts"; import { GetCamers, onlineActiveDatas, SetCamera, } from "../../../../shared/services/builder/cameraService.ts"; export const SetNewCamera = async ( req: AuthenticatedRequest, res: Response ): Promise => { try { const { organization, userId } = req.user || {}; const { position, target, rotation, projectId, versionId } = req.body; if ( !organization || !userId || !position || !target || !rotation || !projectId || !versionId ) { res.status(400).json({ message: "All fields are required", }); return; } const data = { position, target, rotation, projectId, versionId, organization, userId, }; const result = await SetCamera(data); switch (result.status) { case "User not found": res.status(404).json({ message: "User not found", }); break; case "Project not found": res.status(404).json({ message: "Project not found", }); break; case "Update Success": res.status(200).json(result.data); break; case "Success": res.status(200).json(result.data); 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 CameraList = async ( req: AuthenticatedRequest, res: Response ): Promise => { try { const { organization, userId } = req.user || {}; const { projectId } = req.params; if (!organization || !userId) { res.status(400).json({ message: "All fields are required", }); return; } const result = await GetCamers({ organization, userId, projectId, }); switch (result.status) { case "User not found": res.status(404).json({ message: "User not found", }); break; case "Project not found": res.status(404).json({ message: "Project not found", }); break; case "Success": res.status(200).json(result.data); break; default: res.status(500).json({ message: "Internal server error", }); break; } } catch (error) { res.status(500).json({ message: "Unknown error", }); } }; export const ActiveOnlineController = async ( req: AuthenticatedRequest, res: Response ): Promise => { try { const { organization, userId } = req.user || {}; if (!organization || !userId) { res.status(400).json({ message: "All fields are required", }); return; } const result = await onlineActiveDatas({ organization, userId, }); switch (result.status) { case "User not found": res.status(404).json({ message: "User not found", }); break; case "Project not found": res.status(404).json({ message: "Project not found", }); break; case "Success": res.status(200).json(result.data); break; default: res.status(500).json({ message: "Internal server error", }); break; } } catch (error) { res.status(500).json({ message: "Unknown error", }); } };