@culturefy/shared 1.0.22 → 1.0.24

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.
@@ -3,14 +3,48 @@
3
3
  exports.__esModule = true;
4
4
  exports.asyncHandler = asyncHandler;
5
5
  exports.sendResponse = sendResponse;
6
- // This function generates a standard response with a structured body: { status, message, data }
6
+ var StatusCode = /*#__PURE__*/function (StatusCode) {
7
+ StatusCode["SUCCESS"] = "10000";
8
+ StatusCode["FAILURE"] = "10001";
9
+ StatusCode["RETRY"] = "10002";
10
+ StatusCode["INVALID_ACCESS_TOKEN"] = "10003";
11
+ return StatusCode;
12
+ }(StatusCode || {});
13
+ var ResponseStatus = /*#__PURE__*/function (ResponseStatus) {
14
+ ResponseStatus[ResponseStatus["SUCCESS"] = 200] = "SUCCESS";
15
+ ResponseStatus[ResponseStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
16
+ // FAILURE
17
+ ResponseStatus[ResponseStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
18
+ // INVALID_ACCESS_TOKEN
19
+ ResponseStatus[ResponseStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
20
+ // INVALID_ACCESS_TOKEN
21
+ ResponseStatus[ResponseStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
22
+ // FAILURE
23
+ ResponseStatus[ResponseStatus["INTERNAL_ERROR"] = 500] = "INTERNAL_ERROR"; // FAILURE
24
+ return ResponseStatus;
25
+ }(ResponseStatus || {}); // This function generates a standard response with a structured body: { status, message, data }
7
26
  function sendResponse(statusCode, data = null, message = '', headers = {
8
27
  'Content-Type': 'application/json'
9
28
  }) {
29
+ let code = StatusCode.FAILURE;
30
+ switch (statusCode) {
31
+ case ResponseStatus.SUCCESS:
32
+ code = StatusCode.SUCCESS;
33
+ break;
34
+ case ResponseStatus.UNAUTHORIZED:
35
+ case ResponseStatus.FORBIDDEN:
36
+ code = StatusCode.INVALID_ACCESS_TOKEN;
37
+ break;
38
+ case ResponseStatus.BAD_REQUEST:
39
+ case ResponseStatus.NOT_FOUND:
40
+ case ResponseStatus.INTERNAL_ERROR:
41
+ code = StatusCode.FAILURE;
42
+ break;
43
+ }
10
44
  return {
11
45
  status: statusCode,
12
46
  body: JSON.stringify({
13
- status: statusCode,
47
+ status: code,
14
48
  message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),
15
49
  data: data
16
50
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","names":["sendResponse","statusCode","data","message","headers","status","body","JSON","stringify","asyncHandler","handler","request","context","log","url","response","error","console"],"sources":["../../../src/utils/response.ts"],"sourcesContent":["import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';\n\n// This function generates a standard response with a structured body: { status, message, data }\nexport function sendResponse(\n statusCode: number,\n data: any = null,\n message: string = '',\n headers: Record<string, string> = { 'Content-Type': 'application/json' }\n): HttpResponseInit {\n return {\n status: statusCode,\n body: JSON.stringify({\n status: statusCode,\n message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),\n data: data,\n }),\n headers: headers,\n };\n}\n\n// Centralized asyncHandler to catch all errors\nexport function asyncHandler(handler: Function) {\n return async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {\n try {\n context.log('Handling request:', request.url);\n const response = await handler(request, context); // Call the actual handler logic\n context.log('Response sent:', response.status);\n return response;\n } catch (error: any) {\n console.error('Error occurred:', error);\n context.error('Error occurred:', error);\n return sendResponse(500, null, error.message ? error.message : 'An unexpected error occurred');\n }\n };\n}"],"mappings":";;;;;AAEA;AACO,SAASA,YAAYA,CACxBC,UAAkB,EAClBC,IAAS,GAAG,IAAI,EAChBC,OAAe,GAAG,EAAE,EACpBC,OAA+B,GAAG;EAAE,cAAc,EAAE;AAAmB,CAAC,EACxD;EAChB,OAAO;IACHC,MAAM,EAAEJ,UAAU;IAClBK,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACjBH,MAAM,EAAEJ,UAAU;MAClBE,OAAO,EAAEA,OAAO,KAAKF,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC;MACjFC,IAAI,EAAEA;IACV,CAAC,CAAC;IACFE,OAAO,EAAEA;EACb,CAAC;AACL;;AAEA;AACO,SAASK,YAAYA,CAACC,OAAiB,EAAE;EAC5C,OAAO,OAAOC,OAAoB,EAAEC,OAA0B,KAAgC;IAC1F,IAAI;MACAA,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,OAAO,CAACG,GAAG,CAAC;MAC7C,MAAMC,QAAQ,GAAG,MAAML,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAE;MACnDA,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEE,QAAQ,CAACV,MAAM,CAAC;MAC9C,OAAOU,QAAQ;IACnB,CAAC,CAAC,OAAOC,KAAU,EAAE;MACjBC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvCJ,OAAO,CAACI,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvC,OAAOhB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAEgB,KAAK,CAACb,OAAO,GAAGa,KAAK,CAACb,OAAO,GAAG,8BAA8B,CAAC;IAClG;EACJ,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"response.js","names":["StatusCode","ResponseStatus","sendResponse","statusCode","data","message","headers","code","FAILURE","SUCCESS","UNAUTHORIZED","FORBIDDEN","INVALID_ACCESS_TOKEN","BAD_REQUEST","NOT_FOUND","INTERNAL_ERROR","status","body","JSON","stringify","asyncHandler","handler","request","context","log","url","response","error","console"],"sources":["../../../src/utils/response.ts"],"sourcesContent":["import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';\n\nenum StatusCode {\n SUCCESS = '10000',\n FAILURE = '10001',\n RETRY = '10002',\n INVALID_ACCESS_TOKEN = '10003',\n}\n\nenum ResponseStatus {\n SUCCESS = 200,\n BAD_REQUEST = 400, // FAILURE\n UNAUTHORIZED = 401, // INVALID_ACCESS_TOKEN\n FORBIDDEN = 403, // INVALID_ACCESS_TOKEN\n NOT_FOUND = 404, // FAILURE\n INTERNAL_ERROR = 500, // FAILURE\n}\n\n// This function generates a standard response with a structured body: { status, message, data }\nexport function sendResponse(\n statusCode: number,\n data: any = null,\n message: string = '',\n headers: Record<string, string> = { 'Content-Type': 'application/json' }\n): HttpResponseInit {\n let code = StatusCode.FAILURE\n switch (statusCode) {\n case ResponseStatus.SUCCESS:\n code = StatusCode.SUCCESS\n break\n case ResponseStatus.UNAUTHORIZED:\n case ResponseStatus.FORBIDDEN:\n code = StatusCode.INVALID_ACCESS_TOKEN\n break\n case ResponseStatus.BAD_REQUEST:\n case ResponseStatus.NOT_FOUND:\n case ResponseStatus.INTERNAL_ERROR:\n code = StatusCode.FAILURE\n break\n }\n return {\n status: statusCode,\n body: JSON.stringify({\n status: code,\n message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),\n data: data,\n }),\n headers: headers,\n };\n}\n\n// Centralized asyncHandler to catch all errors\nexport function asyncHandler(handler: Function) {\n return async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {\n try {\n context.log('Handling request:', request.url);\n const response = await handler(request, context); // Call the actual handler logic\n context.log('Response sent:', response.status);\n return response;\n } catch (error: any) {\n console.error('Error occurred:', error);\n context.error('Error occurred:', error);\n return sendResponse(500, null, error.message ? error.message : 'An unexpected error occurred');\n }\n };\n}"],"mappings":";;;;;IAEKA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AAAA,IAOVC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAEI;EAFlBA,cAAc,CAAdA,cAAc;EAGK;EAHnBA,cAAc,CAAdA,cAAc;EAIE;EAJhBA,cAAc,CAAdA,cAAc;EAKE;EALhBA,cAAc,CAAdA,cAAc,8CAMO;EAAA,OANrBA,cAAc;AAAA,EAAdA,cAAc,SASnB;AACO,SAASC,YAAYA,CACxBC,UAAkB,EAClBC,IAAS,GAAG,IAAI,EAChBC,OAAe,GAAG,EAAE,EACpBC,OAA+B,GAAG;EAAE,cAAc,EAAE;AAAmB,CAAC,EACxD;EAChB,IAAIC,IAAI,GAAGP,UAAU,CAACQ,OAAO;EAC7B,QAAQL,UAAU;IACd,KAAKF,cAAc,CAACQ,OAAO;MACvBF,IAAI,GAAGP,UAAU,CAACS,OAAO;MACzB;IACJ,KAAKR,cAAc,CAACS,YAAY;IAChC,KAAKT,cAAc,CAACU,SAAS;MACzBJ,IAAI,GAAGP,UAAU,CAACY,oBAAoB;MACtC;IACJ,KAAKX,cAAc,CAACY,WAAW;IAC/B,KAAKZ,cAAc,CAACa,SAAS;IAC7B,KAAKb,cAAc,CAACc,cAAc;MAC9BR,IAAI,GAAGP,UAAU,CAACQ,OAAO;MACzB;EACR;EACA,OAAO;IACHQ,MAAM,EAAEb,UAAU;IAClBc,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACjBH,MAAM,EAAET,IAAI;MACZF,OAAO,EAAEA,OAAO,KAAKF,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC;MACjFC,IAAI,EAAEA;IACV,CAAC,CAAC;IACFE,OAAO,EAAEA;EACb,CAAC;AACL;;AAEA;AACO,SAASc,YAAYA,CAACC,OAAiB,EAAE;EAC5C,OAAO,OAAOC,OAAoB,EAAEC,OAA0B,KAAgC;IAC1F,IAAI;MACAA,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,OAAO,CAACG,GAAG,CAAC;MAC7C,MAAMC,QAAQ,GAAG,MAAML,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAE;MACnDA,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEE,QAAQ,CAACV,MAAM,CAAC;MAC9C,OAAOU,QAAQ;IACnB,CAAC,CAAC,OAAOC,KAAU,EAAE;MACjBC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvCJ,OAAO,CAACI,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvC,OAAOzB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAEyB,KAAK,CAACtB,OAAO,GAAGsB,KAAK,CAACtB,OAAO,GAAG,8BAA8B,CAAC;IAClG;EACJ,CAAC;AACL","ignoreList":[]}
@@ -1,11 +1,45 @@
1
- // This function generates a standard response with a structured body: { status, message, data }
1
+ var StatusCode = /*#__PURE__*/function (StatusCode) {
2
+ StatusCode["SUCCESS"] = "10000";
3
+ StatusCode["FAILURE"] = "10001";
4
+ StatusCode["RETRY"] = "10002";
5
+ StatusCode["INVALID_ACCESS_TOKEN"] = "10003";
6
+ return StatusCode;
7
+ }(StatusCode || {});
8
+ var ResponseStatus = /*#__PURE__*/function (ResponseStatus) {
9
+ ResponseStatus[ResponseStatus["SUCCESS"] = 200] = "SUCCESS";
10
+ ResponseStatus[ResponseStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
11
+ // FAILURE
12
+ ResponseStatus[ResponseStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
13
+ // INVALID_ACCESS_TOKEN
14
+ ResponseStatus[ResponseStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
15
+ // INVALID_ACCESS_TOKEN
16
+ ResponseStatus[ResponseStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
17
+ // FAILURE
18
+ ResponseStatus[ResponseStatus["INTERNAL_ERROR"] = 500] = "INTERNAL_ERROR"; // FAILURE
19
+ return ResponseStatus;
20
+ }(ResponseStatus || {}); // This function generates a standard response with a structured body: { status, message, data }
2
21
  export function sendResponse(statusCode, data = null, message = '', headers = {
3
22
  'Content-Type': 'application/json'
4
23
  }) {
24
+ let code = StatusCode.FAILURE;
25
+ switch (statusCode) {
26
+ case ResponseStatus.SUCCESS:
27
+ code = StatusCode.SUCCESS;
28
+ break;
29
+ case ResponseStatus.UNAUTHORIZED:
30
+ case ResponseStatus.FORBIDDEN:
31
+ code = StatusCode.INVALID_ACCESS_TOKEN;
32
+ break;
33
+ case ResponseStatus.BAD_REQUEST:
34
+ case ResponseStatus.NOT_FOUND:
35
+ case ResponseStatus.INTERNAL_ERROR:
36
+ code = StatusCode.FAILURE;
37
+ break;
38
+ }
5
39
  return {
6
40
  status: statusCode,
7
41
  body: JSON.stringify({
8
- status: statusCode,
42
+ status: code,
9
43
  message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),
10
44
  data: data
11
45
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","names":["sendResponse","statusCode","data","message","headers","status","body","JSON","stringify","asyncHandler","handler","request","context","log","url","response","error","console"],"sources":["../../../src/utils/response.ts"],"sourcesContent":["import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';\n\n// This function generates a standard response with a structured body: { status, message, data }\nexport function sendResponse(\n statusCode: number,\n data: any = null,\n message: string = '',\n headers: Record<string, string> = { 'Content-Type': 'application/json' }\n): HttpResponseInit {\n return {\n status: statusCode,\n body: JSON.stringify({\n status: statusCode,\n message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),\n data: data,\n }),\n headers: headers,\n };\n}\n\n// Centralized asyncHandler to catch all errors\nexport function asyncHandler(handler: Function) {\n return async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {\n try {\n context.log('Handling request:', request.url);\n const response = await handler(request, context); // Call the actual handler logic\n context.log('Response sent:', response.status);\n return response;\n } catch (error: any) {\n console.error('Error occurred:', error);\n context.error('Error occurred:', error);\n return sendResponse(500, null, error.message ? error.message : 'An unexpected error occurred');\n }\n };\n}"],"mappings":"AAEA;AACA,OAAO,SAASA,YAAYA,CACxBC,UAAkB,EAClBC,IAAS,GAAG,IAAI,EAChBC,OAAe,GAAG,EAAE,EACpBC,OAA+B,GAAG;EAAE,cAAc,EAAE;AAAmB,CAAC,EACxD;EAChB,OAAO;IACHC,MAAM,EAAEJ,UAAU;IAClBK,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACjBH,MAAM,EAAEJ,UAAU;MAClBE,OAAO,EAAEA,OAAO,KAAKF,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC;MACjFC,IAAI,EAAEA;IACV,CAAC,CAAC;IACFE,OAAO,EAAEA;EACb,CAAC;AACL;;AAEA;AACA,OAAO,SAASK,YAAYA,CAACC,OAAiB,EAAE;EAC5C,OAAO,OAAOC,OAAoB,EAAEC,OAA0B,KAAgC;IAC1F,IAAI;MACAA,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,OAAO,CAACG,GAAG,CAAC;MAC7C,MAAMC,QAAQ,GAAG,MAAML,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAE;MACnDA,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEE,QAAQ,CAACV,MAAM,CAAC;MAC9C,OAAOU,QAAQ;IACnB,CAAC,CAAC,OAAOC,KAAU,EAAE;MACjBC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvCJ,OAAO,CAACI,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvC,OAAOhB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAEgB,KAAK,CAACb,OAAO,GAAGa,KAAK,CAACb,OAAO,GAAG,8BAA8B,CAAC;IAClG;EACJ,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"response.js","names":["StatusCode","ResponseStatus","sendResponse","statusCode","data","message","headers","code","FAILURE","SUCCESS","UNAUTHORIZED","FORBIDDEN","INVALID_ACCESS_TOKEN","BAD_REQUEST","NOT_FOUND","INTERNAL_ERROR","status","body","JSON","stringify","asyncHandler","handler","request","context","log","url","response","error","console"],"sources":["../../../src/utils/response.ts"],"sourcesContent":["import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';\n\nenum StatusCode {\n SUCCESS = '10000',\n FAILURE = '10001',\n RETRY = '10002',\n INVALID_ACCESS_TOKEN = '10003',\n}\n\nenum ResponseStatus {\n SUCCESS = 200,\n BAD_REQUEST = 400, // FAILURE\n UNAUTHORIZED = 401, // INVALID_ACCESS_TOKEN\n FORBIDDEN = 403, // INVALID_ACCESS_TOKEN\n NOT_FOUND = 404, // FAILURE\n INTERNAL_ERROR = 500, // FAILURE\n}\n\n// This function generates a standard response with a structured body: { status, message, data }\nexport function sendResponse(\n statusCode: number,\n data: any = null,\n message: string = '',\n headers: Record<string, string> = { 'Content-Type': 'application/json' }\n): HttpResponseInit {\n let code = StatusCode.FAILURE\n switch (statusCode) {\n case ResponseStatus.SUCCESS:\n code = StatusCode.SUCCESS\n break\n case ResponseStatus.UNAUTHORIZED:\n case ResponseStatus.FORBIDDEN:\n code = StatusCode.INVALID_ACCESS_TOKEN\n break\n case ResponseStatus.BAD_REQUEST:\n case ResponseStatus.NOT_FOUND:\n case ResponseStatus.INTERNAL_ERROR:\n code = StatusCode.FAILURE\n break\n }\n return {\n status: statusCode,\n body: JSON.stringify({\n status: code,\n message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),\n data: data,\n }),\n headers: headers,\n };\n}\n\n// Centralized asyncHandler to catch all errors\nexport function asyncHandler(handler: Function) {\n return async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {\n try {\n context.log('Handling request:', request.url);\n const response = await handler(request, context); // Call the actual handler logic\n context.log('Response sent:', response.status);\n return response;\n } catch (error: any) {\n console.error('Error occurred:', error);\n context.error('Error occurred:', error);\n return sendResponse(500, null, error.message ? error.message : 'An unexpected error occurred');\n }\n };\n}"],"mappings":"IAEKA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AAAA,IAOVC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAEI;EAFlBA,cAAc,CAAdA,cAAc;EAGK;EAHnBA,cAAc,CAAdA,cAAc;EAIE;EAJhBA,cAAc,CAAdA,cAAc;EAKE;EALhBA,cAAc,CAAdA,cAAc,8CAMO;EAAA,OANrBA,cAAc;AAAA,EAAdA,cAAc,SASnB;AACA,OAAO,SAASC,YAAYA,CACxBC,UAAkB,EAClBC,IAAS,GAAG,IAAI,EAChBC,OAAe,GAAG,EAAE,EACpBC,OAA+B,GAAG;EAAE,cAAc,EAAE;AAAmB,CAAC,EACxD;EAChB,IAAIC,IAAI,GAAGP,UAAU,CAACQ,OAAO;EAC7B,QAAQL,UAAU;IACd,KAAKF,cAAc,CAACQ,OAAO;MACvBF,IAAI,GAAGP,UAAU,CAACS,OAAO;MACzB;IACJ,KAAKR,cAAc,CAACS,YAAY;IAChC,KAAKT,cAAc,CAACU,SAAS;MACzBJ,IAAI,GAAGP,UAAU,CAACY,oBAAoB;MACtC;IACJ,KAAKX,cAAc,CAACY,WAAW;IAC/B,KAAKZ,cAAc,CAACa,SAAS;IAC7B,KAAKb,cAAc,CAACc,cAAc;MAC9BR,IAAI,GAAGP,UAAU,CAACQ,OAAO;MACzB;EACR;EACA,OAAO;IACHQ,MAAM,EAAEb,UAAU;IAClBc,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACjBH,MAAM,EAAET,IAAI;MACZF,OAAO,EAAEA,OAAO,KAAKF,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC;MACjFC,IAAI,EAAEA;IACV,CAAC,CAAC;IACFE,OAAO,EAAEA;EACb,CAAC;AACL;;AAEA;AACA,OAAO,SAASc,YAAYA,CAACC,OAAiB,EAAE;EAC5C,OAAO,OAAOC,OAAoB,EAAEC,OAA0B,KAAgC;IAC1F,IAAI;MACAA,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,OAAO,CAACG,GAAG,CAAC;MAC7C,MAAMC,QAAQ,GAAG,MAAML,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAE;MACnDA,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEE,QAAQ,CAACV,MAAM,CAAC;MAC9C,OAAOU,QAAQ;IACnB,CAAC,CAAC,OAAOC,KAAU,EAAE;MACjBC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvCJ,OAAO,CAACI,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACvC,OAAOzB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAEyB,KAAK,CAACtB,OAAO,GAAGsB,KAAK,CAACtB,OAAO,GAAG,8BAA8B,CAAC;IAClG;EACJ,CAAC;AACL","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@culturefy/shared",
3
3
  "description": "Shared utilities for culturefy serverless services",
4
- "version": "1.0.22",
4
+ "version": "1.0.24",
5
5
  "main": "build/cjs/index.js",
6
6
  "module": "build/esm/index.js",
7
7
  "types": "build/src/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir build/cjs --source-maps",
15
15
  "build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir build/esm --source-maps",
16
16
  "prepublishOnly": "npm run build",
17
- "publish": "npm run build && npm publish"
17
+ "publish": "npm install && npm run build && npm publish"
18
18
  },
19
19
  "publishConfig": {
20
20
  "registry": "https://registry.npmjs.org/",
@@ -3,12 +3,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sendResponse = sendResponse;
4
4
  exports.asyncHandler = asyncHandler;
5
5
  const tslib_1 = require("tslib");
6
+ var StatusCode;
7
+ (function (StatusCode) {
8
+ StatusCode["SUCCESS"] = "10000";
9
+ StatusCode["FAILURE"] = "10001";
10
+ StatusCode["RETRY"] = "10002";
11
+ StatusCode["INVALID_ACCESS_TOKEN"] = "10003";
12
+ })(StatusCode || (StatusCode = {}));
13
+ var ResponseStatus;
14
+ (function (ResponseStatus) {
15
+ ResponseStatus[ResponseStatus["SUCCESS"] = 200] = "SUCCESS";
16
+ ResponseStatus[ResponseStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
17
+ ResponseStatus[ResponseStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
18
+ ResponseStatus[ResponseStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
19
+ ResponseStatus[ResponseStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
20
+ ResponseStatus[ResponseStatus["INTERNAL_ERROR"] = 500] = "INTERNAL_ERROR";
21
+ })(ResponseStatus || (ResponseStatus = {}));
6
22
  // This function generates a standard response with a structured body: { status, message, data }
7
23
  function sendResponse(statusCode, data = null, message = '', headers = { 'Content-Type': 'application/json' }) {
24
+ let code = StatusCode.FAILURE;
25
+ switch (statusCode) {
26
+ case ResponseStatus.SUCCESS:
27
+ code = StatusCode.SUCCESS;
28
+ break;
29
+ case ResponseStatus.UNAUTHORIZED:
30
+ case ResponseStatus.FORBIDDEN:
31
+ code = StatusCode.INVALID_ACCESS_TOKEN;
32
+ break;
33
+ case ResponseStatus.BAD_REQUEST:
34
+ case ResponseStatus.NOT_FOUND:
35
+ case ResponseStatus.INTERNAL_ERROR:
36
+ code = StatusCode.FAILURE;
37
+ break;
38
+ }
8
39
  return {
9
40
  status: statusCode,
10
41
  body: JSON.stringify({
11
- status: statusCode,
42
+ status: code,
12
43
  message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),
13
44
  data: data,
14
45
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/utils/response.ts"],"names":[],"mappings":";;AAGA,oCAeC;AAGD,oCAaC;;AAhCD,gGAAgG;AAChG,SAAgB,YAAY,CACxB,UAAkB,EAClB,OAAY,IAAI,EAChB,UAAkB,EAAE,EACpB,UAAkC,EAAE,cAAc,EAAE,kBAAkB,EAAE;IAExE,OAAO;QACH,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YACjF,IAAI,EAAE,IAAI;SACb,CAAC;QACF,OAAO,EAAE,OAAO;KACnB,CAAC;AACN,CAAC;AAED,+CAA+C;AAC/C,SAAgB,YAAY,CAAC,OAAiB;IAC1C,OAAO,CAAO,OAAoB,EAAE,OAA0B,EAA6B,EAAE;QACzF,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE,gCAAgC;YACnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACnG,CAAC;IACL,CAAC,CAAA,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/utils/response.ts"],"names":[],"mappings":";;AAmBA,oCA8BC;AAGD,oCAaC;;AA/DD,IAAK,UAKJ;AALD,WAAK,UAAU;IACX,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,4CAA8B,CAAA;AAClC,CAAC,EALI,UAAU,KAAV,UAAU,QAKd;AAED,IAAK,cAOJ;AAPD,WAAK,cAAc;IACf,2DAAa,CAAA;IACb,mEAAiB,CAAA;IACjB,qEAAkB,CAAA;IAClB,+DAAe,CAAA;IACf,+DAAe,CAAA;IACf,yEAAoB,CAAA;AACxB,CAAC,EAPI,cAAc,KAAd,cAAc,QAOlB;AAED,gGAAgG;AAChG,SAAgB,YAAY,CACxB,UAAkB,EAClB,OAAY,IAAI,EAChB,UAAkB,EAAE,EACpB,UAAkC,EAAE,cAAc,EAAE,kBAAkB,EAAE;IAExE,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAA;IAC7B,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,cAAc,CAAC,OAAO;YACvB,IAAI,GAAG,UAAU,CAAC,OAAO,CAAA;YACzB,MAAK;QACT,KAAK,cAAc,CAAC,YAAY,CAAC;QACjC,KAAK,cAAc,CAAC,SAAS;YACzB,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAA;YACtC,MAAK;QACT,KAAK,cAAc,CAAC,WAAW,CAAC;QAChC,KAAK,cAAc,CAAC,SAAS,CAAC;QAC9B,KAAK,cAAc,CAAC,cAAc;YAC9B,IAAI,GAAG,UAAU,CAAC,OAAO,CAAA;YACzB,MAAK;IACb,CAAC;IACD,OAAO;QACH,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YACjF,IAAI,EAAE,IAAI;SACb,CAAC;QACF,OAAO,EAAE,OAAO;KACnB,CAAC;AACN,CAAC;AAED,+CAA+C;AAC/C,SAAgB,YAAY,CAAC,OAAiB;IAC1C,OAAO,CAAO,OAAoB,EAAE,OAA0B,EAA6B,EAAE;QACzF,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAE,gCAAgC;YACnF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACnG,CAAC;IACL,CAAC,CAAA,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@culturefy/shared",
3
3
  "description": "Shared utilities for culturefy serverless services",
4
- "version": "1.0.22",
4
+ "version": "1.0.24",
5
5
  "main": "build/cjs/index.js",
6
6
  "module": "build/esm/index.js",
7
7
  "types": "build/src/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "build:cjs": "NODE_ENV=production BABEL_ENV=cjs babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir build/cjs --source-maps",
15
15
  "build:esm": "NODE_ENV=production BABEL_ENV=esm babel src --presets=./scripts/babel-preset.js --extensions .ts,.tsx --ignore src/**/*.specs.tsx --out-dir build/esm --source-maps",
16
16
  "prepublishOnly": "npm run build",
17
- "publish": "npm run build && npm publish"
17
+ "publish": "npm install && npm run build && npm publish"
18
18
  },
19
19
  "publishConfig": {
20
20
  "registry": "https://registry.npmjs.org/",
@@ -1,5 +1,21 @@
1
1
  import { HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';
2
2
 
3
+ enum StatusCode {
4
+ SUCCESS = '10000',
5
+ FAILURE = '10001',
6
+ RETRY = '10002',
7
+ INVALID_ACCESS_TOKEN = '10003',
8
+ }
9
+
10
+ enum ResponseStatus {
11
+ SUCCESS = 200,
12
+ BAD_REQUEST = 400, // FAILURE
13
+ UNAUTHORIZED = 401, // INVALID_ACCESS_TOKEN
14
+ FORBIDDEN = 403, // INVALID_ACCESS_TOKEN
15
+ NOT_FOUND = 404, // FAILURE
16
+ INTERNAL_ERROR = 500, // FAILURE
17
+ }
18
+
3
19
  // This function generates a standard response with a structured body: { status, message, data }
4
20
  export function sendResponse(
5
21
  statusCode: number,
@@ -7,10 +23,25 @@ export function sendResponse(
7
23
  message: string = '',
8
24
  headers: Record<string, string> = { 'Content-Type': 'application/json' }
9
25
  ): HttpResponseInit {
26
+ let code = StatusCode.FAILURE
27
+ switch (statusCode) {
28
+ case ResponseStatus.SUCCESS:
29
+ code = StatusCode.SUCCESS
30
+ break
31
+ case ResponseStatus.UNAUTHORIZED:
32
+ case ResponseStatus.FORBIDDEN:
33
+ code = StatusCode.INVALID_ACCESS_TOKEN
34
+ break
35
+ case ResponseStatus.BAD_REQUEST:
36
+ case ResponseStatus.NOT_FOUND:
37
+ case ResponseStatus.INTERNAL_ERROR:
38
+ code = StatusCode.FAILURE
39
+ break
40
+ }
10
41
  return {
11
42
  status: statusCode,
12
43
  body: JSON.stringify({
13
- status: statusCode,
44
+ status: code,
14
45
  message: message || (statusCode >= 200 && statusCode < 300 ? 'Success' : 'Error'),
15
46
  data: data,
16
47
  }),