powr-sdk-api 2.4.2 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,31 +6,25 @@ const {
6
6
  getDb
7
7
  } = require("../services/mongo");
8
8
 
9
- // Get activities
9
+ // Get all activities
10
10
  router.get("/", async (req, res) => {
11
- const {
12
- projectId,
13
- contentId
14
- } = req.query;
15
11
  try {
12
+ const {
13
+ contentId
14
+ } = req.query;
15
+ const projectId = req.projectId; // Use middleware-injected projectId
16
+
16
17
  const query = {
17
18
  projectId
18
19
  };
19
20
  if (contentId) {
20
21
  query.contentId = contentId;
21
22
  }
22
- console.log("Filter.....:", query);
23
- const activities = await getDb().collection("activities").find(query).toArray();
24
- if (!activities || activities.length === 0) {
25
- console.log("Data not found.");
26
- return res.status(200).json({
27
- success: true,
28
- activities: []
29
- });
30
- }
31
- return res.status(200).json({
23
+ const db = await getDb();
24
+ const activities = await db.collection("activities").find(query).toArray();
25
+ return res.json({
32
26
  success: true,
33
- activities: activities
27
+ data: activities
34
28
  });
35
29
  } catch (error) {
36
30
  console.error("Error retrieving activities:", error);
@@ -41,40 +35,39 @@ router.get("/", async (req, res) => {
41
35
  }
42
36
  });
43
37
 
44
- // Add activity
38
+ // Create new activity
45
39
  router.post("/", async (req, res) => {
46
- const {
47
- projectId,
48
- contentId,
49
- activity
50
- } = req.body;
51
- const activityData = {
52
- projectId,
53
- contentId,
54
- activity,
55
- createdAt: new Date()
56
- };
57
40
  try {
58
- const result = await getDb().collection("activities").insertOne(activityData);
59
- if (result && result.insertedId) {
60
- console.log("Activity added with ID:", result.insertedId);
61
- return res.status(200).json({
62
- success: true,
63
- message: "Activity added successfully.",
64
- activityId: result.insertedId
65
- });
66
- } else {
67
- console.error("Insert operation failed. Result:", result);
68
- return res.status(500).json({
41
+ const {
42
+ contentId,
43
+ activity
44
+ } = req.body;
45
+ const projectId = req.projectId; // Use middleware-injected projectId
46
+
47
+ if (!contentId || !activity) {
48
+ return res.status(400).json({
69
49
  success: false,
70
- message: "Activity could not be added."
50
+ message: "Content ID and activity are required"
71
51
  });
72
52
  }
53
+ const activityData = {
54
+ projectId,
55
+ contentId,
56
+ activity,
57
+ createdAt: new Date()
58
+ };
59
+ const db = await getDb();
60
+ const result = await db.collection("activities").insertOne(activityData);
61
+ return res.status(201).json({
62
+ success: true,
63
+ message: "Activity created successfully",
64
+ id: result.insertedId
65
+ });
73
66
  } catch (error) {
74
- console.error("Error adding activity:", error);
67
+ console.error("Error creating activity:", error);
75
68
  return res.status(500).json({
76
69
  success: false,
77
- message: "Failed to add activity due to a server error."
70
+ message: "Failed to create activity."
78
71
  });
79
72
  }
80
73
  });
@@ -5,32 +5,29 @@ const router = express.Router();
5
5
  const {
6
6
  getDb
7
7
  } = require("../services/mongo");
8
+ const {
9
+ ObjectId
10
+ } = require("mongodb");
8
11
 
9
- // Get comments
12
+ // Get all comments
10
13
  router.get("/", async (req, res) => {
11
- const {
12
- projectId,
13
- contentId
14
- } = req.query;
15
14
  try {
15
+ const {
16
+ contentId
17
+ } = req.query;
18
+ const projectId = req.projectId; // Use middleware-injected projectId
19
+
16
20
  const query = {
17
21
  projectId
18
22
  };
19
23
  if (contentId) {
20
24
  query.contentId = contentId;
21
25
  }
22
- console.log("Filter.....:", query);
23
- const commentData = await getDb().collection("comments").find(query).toArray();
24
- if (!commentData || commentData.length === 0) {
25
- console.log("Data not found.");
26
- return res.status(200).json({
27
- success: true,
28
- comments: []
29
- });
30
- }
31
- return res.status(200).json({
26
+ const db = await getDb();
27
+ const commentData = await db.collection("comments").find(query).toArray();
28
+ return res.json({
32
29
  success: true,
33
- comments: commentData
30
+ data: commentData
34
31
  });
35
32
  } catch (error) {
36
33
  console.error("Error retrieving comments:", error);
@@ -41,42 +38,41 @@ router.get("/", async (req, res) => {
41
38
  }
42
39
  });
43
40
 
44
- // Add comment
41
+ // Create new comment
45
42
  router.post("/", async (req, res) => {
46
- const {
47
- projectId,
48
- contentId,
49
- comment,
50
- ...customFields
51
- } = req.body;
52
- const commentData = {
53
- projectId,
54
- contentId,
55
- comment,
56
- ...customFields,
57
- createdAt: new Date()
58
- };
59
43
  try {
60
- const result = await getDb().collection("comments").insertOne(commentData);
61
- if (result && result.insertedId) {
62
- console.log("Comment added with ID:", result.insertedId);
63
- return res.status(200).json({
64
- success: true,
65
- message: "Comment added successfully.",
66
- commentId: result.insertedId
67
- });
68
- } else {
69
- console.error("Insert operation failed. Result:", result);
70
- return res.status(500).json({
44
+ const {
45
+ contentId,
46
+ comment,
47
+ ...customFields
48
+ } = req.body;
49
+ const projectId = req.projectId; // Use middleware-injected projectId
50
+
51
+ if (!contentId || !comment) {
52
+ return res.status(400).json({
71
53
  success: false,
72
- message: "Comment could not be added."
54
+ message: "Content ID and comment are required"
73
55
  });
74
56
  }
57
+ const commentData = {
58
+ projectId,
59
+ contentId,
60
+ comment,
61
+ ...customFields,
62
+ createdAt: new Date()
63
+ };
64
+ const db = await getDb();
65
+ const result = await db.collection("comments").insertOne(commentData);
66
+ return res.status(201).json({
67
+ success: true,
68
+ message: "Comment created successfully",
69
+ id: result.insertedId
70
+ });
75
71
  } catch (error) {
76
- console.error("Error adding comment:", error);
72
+ console.error("Error creating comment:", error);
77
73
  return res.status(500).json({
78
74
  success: false,
79
- message: "Failed to add comment due to a server error."
75
+ message: "Failed to create comment."
80
76
  });
81
77
  }
82
78
  });
@@ -1,38 +1,29 @@
1
1
  "use strict";
2
2
 
3
- const express = require('express');
3
+ const express = require("express");
4
4
  const router = express.Router();
5
5
  const {
6
6
  getDb
7
7
  } = require('../services/mongo');
8
8
 
9
- // Get slides
10
- router.get('/', async (req, res) => {
11
- const {
12
- projectId,
13
- tag
14
- } = req.query;
9
+ // Get all slides
10
+ router.get("/", async (req, res) => {
15
11
  try {
12
+ const {
13
+ tag
14
+ } = req.query;
15
+ const projectId = req.projectId; // Use middleware-injected projectId
16
16
  const query = {
17
17
  projectId
18
18
  };
19
19
  if (tag) {
20
20
  query.tag = tag;
21
21
  }
22
- console.log("Filter.....:", query);
23
- const slidesData = await getDb().collection('slides').find(query).toArray();
24
- if (!slidesData || slidesData.length === 0) {
25
- console.log("Data not found.");
26
- return res.status(200).json({
27
- success: true,
28
- slides: []
29
- });
30
- }
31
- const sortedData = slidesData.sort((a, b) => new Date(b === null || b === void 0 ? void 0 : b.createdAt) - new Date(a === null || a === void 0 ? void 0 : a.createdAt));
32
- console.log("Slides retrieved and sorted:", sortedData);
33
- return res.status(200).json({
22
+ const db = await getDb();
23
+ const slidesData = await db.collection('slides').find(query).toArray();
24
+ return res.json({
34
25
  success: true,
35
- slides: sortedData
26
+ data: slidesData
36
27
  });
37
28
  } catch (error) {
38
29
  console.error("Error retrieving slides:", error);
@@ -43,58 +34,47 @@ router.get('/', async (req, res) => {
43
34
  }
44
35
  });
45
36
 
46
- // Add slide
47
- router.post('/', async (req, res) => {
48
- const {
49
- projectId,
50
- tag,
51
- city,
52
- url,
53
- title,
54
- description,
55
- expiry
56
- } = req.body;
57
- if (!url || !title || !description || !expiry) {
58
- return res.status(400).json({
59
- success: false,
60
- message: "All fields are required."
61
- });
62
- }
63
- const slideData = {
64
- projectId,
65
- url,
66
- title,
67
- description,
68
- expiry,
69
- createdAt: new Date()
70
- };
71
- if (city) {
72
- slideData.city = city;
73
- }
74
- if (tag) {
75
- slideData.tag = tag;
76
- }
37
+ // Create new slide
38
+ router.post("/", async (req, res) => {
77
39
  try {
78
- const result = await getDb().collection('slides').insertOne(slideData);
79
- if (result && result.insertedId) {
80
- console.log("Slide added with ID:", result.insertedId);
81
- return res.status(200).json({
82
- success: true,
83
- message: "Slide added successfully.",
84
- slideId: result.insertedId
85
- });
86
- } else {
87
- console.error("Insert operation failed. Result:", result);
88
- return res.status(500).json({
40
+ const {
41
+ tag,
42
+ city,
43
+ url,
44
+ title,
45
+ description,
46
+ expiry
47
+ } = req.body;
48
+ const projectId = req.projectId; // Use middleware-injected projectId
49
+
50
+ if (!url || !title) {
51
+ return res.status(400).json({
89
52
  success: false,
90
- message: "Slide could not be added."
53
+ message: "URL and title are required"
91
54
  });
92
55
  }
56
+ const slideData = {
57
+ projectId,
58
+ tag,
59
+ city,
60
+ url,
61
+ title,
62
+ description,
63
+ expiry,
64
+ createdAt: new Date()
65
+ };
66
+ const db = await getDb();
67
+ const result = await db.collection('slides').insertOne(slideData);
68
+ return res.status(201).json({
69
+ success: true,
70
+ message: "Slide created successfully",
71
+ id: result.insertedId
72
+ });
93
73
  } catch (error) {
94
- console.error("Error adding slide:", error);
74
+ console.error("Error creating slide:", error);
95
75
  return res.status(500).json({
96
76
  success: false,
97
- message: "Failed to add slide due to a server error."
77
+ message: "Failed to create slide."
98
78
  });
99
79
  }
100
80
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-api",
3
- "version": "2.4.2",
3
+ "version": "2.4.4",
4
4
  "description": "Shared API core library for PowrStack projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",