powr-sdk-api 1.3.0 → 1.3.2

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.
@@ -38,32 +38,63 @@ const requestHandler = (req, res, next) => {
38
38
  // Add error handler to response object if not already present
39
39
  if (!res.error) {
40
40
  res.error = (message, statusCode = 500, error = null) => {
41
+ // Extract error details for logging and response
42
+ let errorDetails = null;
43
+ if (error) {
44
+ // If error is an Error object, extract relevant properties
45
+ if (error instanceof Error) {
46
+ errorDetails = {
47
+ message: error.message,
48
+ stack: error.stack
49
+ };
50
+ } else {
51
+ // If error is already an object, use it directly
52
+ errorDetails = error;
53
+ }
54
+ }
55
+
56
+ // Log the error with details
41
57
  logger.error(message, {
42
58
  statusCode,
43
- error,
44
- requestId: req.requestId
59
+ requestId: req.requestId,
60
+ error: errorDetails
45
61
  });
46
- return res.status(statusCode).json({
62
+
63
+ // Create response object
64
+ const response = {
47
65
  success: false,
48
- message,
66
+ message: typeof message === 'string' ? message : JSON.stringify(message),
49
67
  requestId: req.requestId
50
- });
68
+ };
69
+
70
+ // Include error details in response if available
71
+ if (errorDetails) {
72
+ response.error = errorDetails;
73
+ }
74
+ return res.status(statusCode).json(response);
51
75
  };
52
76
  }
53
77
 
54
78
  // Add success handler to response object if not already present
55
79
  if (!res.success) {
56
- res.success = (data, message = 'Success', statusCode = 200) => {
80
+ res.success = (message = 'Success', statusCode = 200, data = null) => {
57
81
  logger.info(message, {
58
82
  statusCode,
59
- requestId: req.requestId
83
+ requestId: req.requestId,
84
+ data
60
85
  });
61
- return res.status(statusCode).json({
86
+ // Create response object
87
+ const response = {
62
88
  success: true,
63
89
  message,
64
- data,
65
90
  requestId: req.requestId
66
- });
91
+ };
92
+
93
+ // Add data to response and log if available
94
+ if (data !== null) {
95
+ response.data = data;
96
+ }
97
+ return res.status(statusCode).json(response);
67
98
  };
68
99
  }
69
100
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-api",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Shared API core library for PowrStack projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",