UNPKG

powr-sdk-api

Version:

Shared API core library for PowrStack projects. Zero dependencies - works with Express, Next.js API routes, and other frameworks. All features are optional and install only what you need.

74 lines (69 loc) 1.76 kB
"use strict"; const express = require("express"); const router = express.Router(); const { getDb } = require("../services/mongo"); // Get all activities router.get("/", async (req, res) => { try { const { contentId } = req.query; const projectId = req.projectId; // Use middleware-injected projectId const query = { projectId }; if (contentId) { query.contentId = contentId; } const db = await getDb(); const activities = await db.collection("activities").find(query).toArray(); return res.json({ success: true, data: activities }); } catch (error) { console.error("Error retrieving activities:", error); return res.status(500).json({ success: false, message: "Failed to retrieve activities." }); } }); // Create new activity router.post("/", async (req, res) => { try { const { contentId, activity } = req.body; const projectId = req.projectId; // Use middleware-injected projectId if (!contentId || !activity) { return res.status(400).json({ success: false, message: "Content ID and activity are required" }); } const activityData = { projectId, contentId, activity, createdAt: new Date() }; const db = await getDb(); const result = await db.collection("activities").insertOne(activityData); return res.status(201).json({ success: true, message: "Activity created successfully", id: result.insertedId }); } catch (error) { console.error("Error creating activity:", error); return res.status(500).json({ success: false, message: "Failed to create activity." }); } }); module.exports = router;