response-standardizer 1.1.1 → 1.1.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.
package/dist/index.js CHANGED
@@ -51,24 +51,23 @@ const role = (req, res, next, allowedRoles) => {
51
51
  }
52
52
  next();
53
53
  };
54
- const success = (req, res, data, message = null) => {
55
- res.status(200).json({ data, message });
54
+ const success = (req, res, data) => {
55
+ res.status(200).json(data);
56
56
  };
57
- const paginate = (req, res, data, pagination, message = null) => {
58
- res.status(200).json({ data, message, pagination });
57
+ const paginate = (req, res, data) => {
58
+ res.status(200).json(data);
59
59
  };
60
- const created = (req, res, data, message = "Record created successfully") => {
61
- res.status(201).json({ data, message });
60
+ const created = (req, res, data) => {
61
+ res.status(201).json(data);
62
62
  };
63
63
  const deleted = (req, res) => {
64
64
  res.status(204).send();
65
65
  };
66
66
  const validationError = (req, res, errors, message = "Validation error") => {
67
- res.status(400).json({ errors, message, data: null });
67
+ res.status(400).json({ errors, message });
68
68
  };
69
69
  const exceptionError = (req, res, errors, message = "Internal server error") => {
70
70
  res.status(500).json({
71
- data: null,
72
71
  message,
73
72
  errors
74
73
  });
@@ -95,20 +94,17 @@ const responseHandlerMiddleware = (req, res, next) => {
95
94
  res.json = function (data) {
96
95
  if (res.statusCode > 204) {
97
96
  const response = {
98
- status: res.statusCode >= 200 && res.statusCode < 300 ? "success" : "error",
99
97
  code: res.statusCode,
100
98
  message: data?.message || res.locals.message || (res.statusCode < 300 ? "OK" : "Error"),
101
- data: data?.data ?? null,
102
99
  errors: data?.errors ?? null,
103
100
  meta: {
104
101
  requestId: res.locals.requestId || generateRequestId(),
105
- timestamp: getTimestamp(),
106
- pagination: data?.pagination ?? null
102
+ timestamp: getTimestamp()
107
103
  }
108
104
  };
109
105
  return oldJson(response);
110
106
  }
111
- return oldJson(data?.data);
107
+ return oldJson(data);
112
108
  };
113
109
  res.send = function (data) {
114
110
  if (res.statusCode === 204) {
package/dist/types.d.ts CHANGED
@@ -1,17 +1,15 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
2
  export interface StandardResponse<T = any> {
3
- status: "success" | "error";
4
3
  code: number;
5
4
  message: string;
6
- data: T | null;
7
5
  errors: Record<string, string[]> | null;
8
6
  meta: {
9
7
  requestId: string;
10
8
  timestamp: string;
11
- pagination: PaginationMeta | null;
12
9
  };
13
10
  }
14
- export interface PaginationMeta {
11
+ export interface Pagination<T> {
12
+ data: T[];
15
13
  total: number;
16
14
  page: number;
17
15
  perPage: number;
@@ -23,9 +21,9 @@ export interface RestMiddlewareFunctions {
23
21
  responseHandlerMiddleware: <T>(req: Request, res: Response, next: NextFunction) => void;
24
22
  }
25
23
  export interface RestResponseFunctions {
26
- success: <T>(req: Request, res: Response, data: T, message?: string | null) => void;
27
- paginate: <T>(req: Request, res: Response, data: T, pagination: PaginationMeta, message?: string | null) => void;
28
- created: <T>(req: Request, res: Response, data: T, message?: string) => void;
24
+ success: <T>(req: Request, res: Response, data: T) => void;
25
+ paginate: <T>(req: Request, res: Response, data: Pagination<T>) => void;
26
+ created: <T>(req: Request, res: Response, data: T) => void;
29
27
  deleted: (req: Request, res: Response) => void;
30
28
  validationError: (req: Request, res: Response, errors: ErrorFields, message?: string) => void;
31
29
  exceptionError: (req: Request, res: Response, errors: any, message?: string) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "response-standardizer",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Express middleware to standardize API responses",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
- import { ErrorFields, PaginationMeta, StandardResponse, RestResponseFunctions, RestMiddlewareFunctions, AuthRequest } from "./types.js";
2
+ import { ErrorFields, StandardResponse, RestResponseFunctions, RestMiddlewareFunctions, AuthRequest, Pagination } from "./types.js";
3
3
  import { generateRequestId, getTimestamp } from "./utils.js";
4
4
  import axios from "axios";
5
5
  import jwt, { TokenExpiredError } from "jsonwebtoken";
@@ -71,22 +71,20 @@ const role = (req: any, res: any, next: any, allowedRoles: string[]) => {
71
71
  }
72
72
  next()
73
73
  }
74
- const success = <T>(req: Request, res: Response, data: T, message: string | null = null) => {
75
- res.status(200).json({ data, message });
74
+ const success = <T>(req: Request, res: Response, data: T) => {
75
+ res.status(200).json(data);
76
76
  };
77
77
 
78
78
  const paginate = <T>(
79
79
  req: Request,
80
80
  res: Response,
81
- data: T,
82
- pagination: PaginationMeta,
83
- message: string | null = null
81
+ data: Pagination<T>
84
82
  ) => {
85
- res.status(200).json({ data, message, pagination });
83
+ res.status(200).json(data);
86
84
  };
87
85
 
88
- const created = <T>(req: Request, res: Response, data: T, message = "Record created successfully") => {
89
- res.status(201).json({ data, message });
86
+ const created = <T>(req: Request, res: Response, data: T) => {
87
+ res.status(201).json(data);
90
88
  };
91
89
 
92
90
  const deleted = (req: Request, res: Response) => {
@@ -99,7 +97,7 @@ const validationError = (
99
97
  errors: ErrorFields,
100
98
  message = "Validation error"
101
99
  ) => {
102
- res.status(400).json({ errors, message, data: null });
100
+ res.status(400).json({ errors, message });
103
101
  };
104
102
 
105
103
  const exceptionError = (
@@ -109,7 +107,6 @@ const exceptionError = (
109
107
  message = "Internal server error"
110
108
  ) => {
111
109
  res.status(500).json({
112
- data: null,
113
110
  message,
114
111
  errors
115
112
  });
@@ -147,21 +144,18 @@ const responseHandlerMiddleware = (
147
144
  res.json = function (data: any) {
148
145
  if(res.statusCode > 204){
149
146
  const response: StandardResponse = {
150
- status: res.statusCode >= 200 && res.statusCode < 300 ? "success" : "error",
151
147
  code: res.statusCode,
152
148
  message: data?.message || res.locals.message || (res.statusCode < 300 ? "OK" : "Error"),
153
- data: data?.data ?? null,
154
149
  errors: data?.errors ?? null,
155
150
  meta: {
156
151
  requestId: res.locals.requestId || generateRequestId(),
157
- timestamp: getTimestamp(),
158
- pagination: data?.pagination ?? null
152
+ timestamp: getTimestamp()
159
153
  }
160
154
  };
161
155
 
162
156
  return oldJson(response);
163
157
  }
164
- return oldJson(data?.data);
158
+ return oldJson(data);
165
159
  };
166
160
 
167
161
  res.send = function (data: any) {
package/src/types.ts CHANGED
@@ -1,19 +1,17 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
2
 
3
3
  export interface StandardResponse<T = any> {
4
- status: "success" | "error";
5
4
  code: number;
6
5
  message: string;
7
- data: T | null;
8
6
  errors: Record<string, string[]> | null;
9
7
  meta: {
10
8
  requestId: string;
11
9
  timestamp: string;
12
- pagination: PaginationMeta | null;
13
10
  };
14
11
  }
15
12
 
16
- export interface PaginationMeta {
13
+ export interface Pagination<T>{
14
+ data: T[];
17
15
  total: number;
18
16
  page: number;
19
17
  perPage: number;
@@ -28,15 +26,13 @@ export interface RestMiddlewareFunctions {
28
26
  responseHandlerMiddleware: <T>(req: Request, res: Response, next: NextFunction) => void
29
27
  }
30
28
  export interface RestResponseFunctions {
31
- success: <T>(req: Request, res: Response, data: T, message?: string | null) => void;
29
+ success: <T>(req: Request, res: Response, data: T) => void;
32
30
  paginate: <T>(
33
31
  req: Request,
34
32
  res: Response,
35
- data: T,
36
- pagination: PaginationMeta,
37
- message?: string | null
33
+ data: Pagination<T>
38
34
  ) => void;
39
- created: <T>(req: Request, res: Response, data: T, message?: string) => void;
35
+ created: <T>(req: Request, res: Response, data: T) => void;
40
36
  deleted: (req: Request, res: Response) => void;
41
37
  validationError: (
42
38
  req: Request,