my-q-format-response-aws-lambda
Advanced tools
Comparing version 1.0.40 to 1.0.41
82
index.js
@@ -7,7 +7,7 @@ "use strict"; | ||
exports.StatusResult = StatusResult; | ||
StatusResult.ok = 'Ok'; | ||
StatusResult.error = 'Error'; | ||
StatusResult.notFound = 'NotFound'; | ||
StatusResult.unauthorized = 'Unauthorized'; | ||
StatusResult.needRedirect = 'NeedRedirect'; | ||
StatusResult.ok = "Ok"; | ||
StatusResult.error = "Error"; | ||
StatusResult.notFound = "NotFound"; | ||
StatusResult.unauthorized = "Unauthorized"; | ||
StatusResult.needRedirect = "NeedRedirect"; | ||
class StatusCode { | ||
@@ -68,3 +68,3 @@ } | ||
this.statusResult = StatusResult.ok; | ||
this.message = ''; | ||
this.message = ""; | ||
this.data = null; | ||
@@ -80,3 +80,3 @@ this.count = null; | ||
this.statusCode = StatusCode.OK; | ||
this.body = ''; | ||
this.body = ""; | ||
} | ||
@@ -89,3 +89,3 @@ } | ||
this.statusResult = statusResult; | ||
this.message = !message ? '' : message; | ||
this.message = !message ? "" : message; | ||
this.count = count; | ||
@@ -102,3 +102,7 @@ this.data = data; | ||
bodyToString() { | ||
let _err = this.error && this.error.message ? this.error.message : !this.error ? null : JSON.stringify(this.error); | ||
let _err = this.error && this.error.message | ||
? this.error.message | ||
: !this.error | ||
? null | ||
: JSON.stringify(this.error); | ||
const valueBody = { | ||
@@ -128,3 +132,3 @@ statusResult: this.statusResult, | ||
*/ | ||
static success({ data = null, count = null, message = 'success', bodyWrap = true, }) { | ||
static success({ data = null, count = null, message = "success", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -146,3 +150,3 @@ statusCode: StatusCode.OK, | ||
*/ | ||
static created({ data, message = 'created', bodyWrap = true, }) { | ||
static created({ data, message = "created", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -163,3 +167,3 @@ statusCode: StatusCode.Created, | ||
*/ | ||
static updated({ data, message = 'updated', bodyWrap = true, }) { | ||
static updated({ data, message = "updated", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -180,3 +184,3 @@ statusCode: StatusCode.OK, | ||
*/ | ||
static updateOrCreate({ data, message = 'update_or_create', bodyWrap = true, }) { | ||
static updateOrCreate({ data, message = "update_or_create", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -197,3 +201,3 @@ statusCode: StatusCode.OK, | ||
*/ | ||
static notFound({ error = null, message = '', bodyWrap = true, }) { | ||
static notFound({ error = null, message = "", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -216,3 +220,3 @@ statusCode: StatusCode.NotFound, | ||
*/ | ||
static error({ error = null, statusCode = StatusCode.BadRequest, message = 'Error', bodyWrap = true, }) { | ||
static error({ error = null, statusCode = StatusCode.BadRequest, message = "Error", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -235,3 +239,3 @@ statusCode, | ||
*/ | ||
static unauthorized({ error = null, statusCode = StatusCode.Unauthorized, message = 'Unauthorized', bodyWrap = true, }) { | ||
static unauthorized({ error = null, statusCode = StatusCode.Unauthorized, message = "Unauthorized", bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -254,3 +258,3 @@ statusCode, | ||
*/ | ||
static redirect({ statusCode = StatusCode.MovedTemporarily, message = '', bodyWrap = true, redirectTo = '' }) { | ||
static redirect({ statusCode = StatusCode.MovedTemporarily, message = "", bodyWrap = true, redirectTo = "", }) { | ||
const result = new Result({ | ||
@@ -277,3 +281,3 @@ statusCode, | ||
*/ | ||
static custom({ statusCode = StatusCode.OK, statusResult = StatusResult.ok, message = '', error = null, data = null, count = null, bodyWrap = true, }) { | ||
static custom({ statusCode = StatusCode.OK, statusResult = StatusResult.ok, message = "", error = null, data = null, count = null, bodyWrap = true, }) { | ||
const result = new Result({ | ||
@@ -292,3 +296,3 @@ statusCode, | ||
exports.CreateResponse = CreateResponse; | ||
const messagesREST = (prefix, suffix = '') => { | ||
const messagesREST = (prefix, suffix = "") => { | ||
return { | ||
@@ -379,3 +383,3 @@ TOTAL: `${prefix}_TOTAL${suffix}`, | ||
exports.messagesREST = messagesREST; | ||
exports.optionsPaginationParams = ['limit', 'skip', 'count']; | ||
exports.optionsPaginationParams = ["limit", "skip", "count"]; | ||
/** | ||
@@ -389,11 +393,15 @@ * Normalise filter for mongoose | ||
const _filter = {}; | ||
const excludeParams = excludeFields && Array.isArray(excludeFields) && excludeFields.length > 0 ? excludeFields : | ||
exports.optionsPaginationParams; | ||
const excludeParams = excludeFields && Array.isArray(excludeFields) && excludeFields.length > 0 | ||
? excludeFields | ||
: exports.optionsPaginationParams; | ||
Object.keys(filter).forEach((f) => { | ||
const v = filter[f]; | ||
if (!(v === null || (typeof v === 'number' && isNaN(v)) || v === Infinity || v === undefined || | ||
if (!(v === null || | ||
(typeof v === "number" && isNaN(v)) || | ||
v === Infinity || | ||
v === undefined || | ||
excludeParams.includes(f))) { | ||
_filter[f] = filter[f]; | ||
if (regexFields.includes(f)) | ||
_filter[f] = { $regex: new RegExp(_filter[f], 'gi') }; | ||
_filter[f] = { $regex: new RegExp(_filter[f], "gi") }; | ||
} | ||
@@ -421,3 +429,3 @@ }); | ||
if (data) { | ||
if (okResultOf === 'create') { | ||
if (okResultOf === "create") { | ||
result = CreateResponse.created({ | ||
@@ -429,3 +437,3 @@ data, | ||
} | ||
if (okResultOf === 'update') { | ||
if (okResultOf === "update") { | ||
result = CreateResponse.updated({ | ||
@@ -437,3 +445,3 @@ data, | ||
} | ||
if (okResultOf === 'update_or_create') { | ||
if (okResultOf === "update_or_create") { | ||
result = CreateResponse.updateOrCreate({ | ||
@@ -445,3 +453,3 @@ data, | ||
} | ||
if (okResultOf === 'update_many') { | ||
if (okResultOf === "update_many") { | ||
result = CreateResponse.updated({ | ||
@@ -453,3 +461,3 @@ data, | ||
} | ||
if (okResultOf === 'increment') { | ||
if (okResultOf === "increment") { | ||
result = CreateResponse.updated({ | ||
@@ -461,3 +469,3 @@ data, | ||
} | ||
if (okResultOf === 'decrement') { | ||
if (okResultOf === "decrement") { | ||
result = CreateResponse.updated({ | ||
@@ -471,14 +479,14 @@ data, | ||
else { | ||
let messageErr = ''; | ||
if (okResultOf === 'create') | ||
let messageErr = ""; | ||
if (okResultOf === "create") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_CREATE; | ||
if (okResultOf === 'update') | ||
if (okResultOf === "update") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_UPDATE; | ||
if (okResultOf === 'update_or_create') | ||
if (okResultOf === "update_or_create") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_UPDATE_OR_CREATE; | ||
if (okResultOf === 'update_many') | ||
if (okResultOf === "update_many") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_UPDATE_MANY; | ||
if (okResultOf === 'increment') | ||
if (okResultOf === "increment") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_INCREMENT; | ||
if (okResultOf === 'decrement') | ||
if (okResultOf === "decrement") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_DECREMENT; | ||
@@ -485,0 +493,0 @@ result = CreateResponse.error({ |
252
index.ts
export class StatusResult { | ||
static ok = 'Ok'; | ||
static error = 'Error'; | ||
static notFound = 'NotFound'; | ||
static unauthorized = 'Unauthorized'; | ||
static needRedirect = 'NeedRedirect'; | ||
static ok = "Ok"; | ||
static error = "Error"; | ||
static notFound = "NotFound"; | ||
static unauthorized = "Unauthorized"; | ||
static needRedirect = "NeedRedirect"; | ||
} | ||
@@ -23,3 +23,2 @@ | ||
static MultipleChoices = 300; | ||
@@ -34,3 +33,2 @@ static MovedPermanently = 301; | ||
static BadRequest = 400; | ||
@@ -94,8 +92,8 @@ static Unauthorized = 401; | ||
interface TFuncParams { | ||
statusCode?: StatusCode, | ||
statusResult?: StatusResult, | ||
message?: string, | ||
error?: TError, | ||
data?: TData, | ||
count?: TCount, | ||
statusCode?: StatusCode; | ||
statusResult?: StatusResult; | ||
message?: string; | ||
error?: TError; | ||
data?: TData; | ||
count?: TCount; | ||
redirectTo?: TRedirectTo; | ||
@@ -107,3 +105,3 @@ bodyWrap?: boolean; | ||
statusResult: StatusResult = StatusResult.ok; | ||
message: string = ''; | ||
message: string = ""; | ||
data: TData = null; | ||
@@ -117,8 +115,7 @@ count: TCount = null; | ||
statusCode: StatusCode = StatusCode.OK; | ||
body: string = ''; | ||
body: string = ""; | ||
} | ||
export type ResponseVoAWS = ResponseVO | ResponseBodyVO | ||
export type ResponseVoAWS = ResponseVO | ResponseBodyVO; | ||
class Result { | ||
@@ -135,14 +132,14 @@ private statusCode: StatusCode; | ||
constructor({ | ||
statusCode = StatusCode.OK, | ||
statusResult = StatusResult.ok, | ||
message, | ||
data = null, | ||
count = null, | ||
error = null, | ||
redirectTo = undefined, | ||
bodyWrap = true, | ||
}: TResultIn) { | ||
statusCode = StatusCode.OK, | ||
statusResult = StatusResult.ok, | ||
message, | ||
data = null, | ||
count = null, | ||
error = null, | ||
redirectTo = undefined, | ||
bodyWrap = true, | ||
}: TResultIn) { | ||
this.statusCode = statusCode; | ||
this.statusResult = statusResult; | ||
this.message = !message ? '' : message; | ||
this.message = !message ? "" : message; | ||
this.count = count; | ||
@@ -160,3 +157,8 @@ this.data = data; | ||
bodyToString(): ResponseVoAWS { | ||
let _err = this.error && this.error.message ? this.error.message : !this.error ? null : JSON.stringify(this.error); | ||
let _err = | ||
this.error && this.error.message | ||
? this.error.message | ||
: !this.error | ||
? null | ||
: JSON.stringify(this.error); | ||
@@ -181,3 +183,2 @@ const valueBody: ResponseBodyVO = { | ||
export class CreateResponse { | ||
/** | ||
@@ -191,7 +192,7 @@ * Success | ||
static success({ | ||
data = null, | ||
count = null, | ||
message = 'success', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
data = null, | ||
count = null, | ||
message = "success", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -215,6 +216,6 @@ statusCode: StatusCode.OK, | ||
static created({ | ||
data, | ||
message = 'created', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
data, | ||
message = "created", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -237,6 +238,6 @@ statusCode: StatusCode.Created, | ||
static updated({ | ||
data, | ||
message = 'updated', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
data, | ||
message = "updated", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -259,6 +260,6 @@ statusCode: StatusCode.OK, | ||
static updateOrCreate({ | ||
data, | ||
message = 'update_or_create', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
data, | ||
message = "update_or_create", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -281,6 +282,6 @@ statusCode: StatusCode.OK, | ||
static notFound({ | ||
error = null, | ||
message = '', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
error = null, | ||
message = "", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -305,7 +306,7 @@ statusCode: StatusCode.NotFound, | ||
static error({ | ||
error = null, | ||
statusCode = StatusCode.BadRequest, | ||
message = 'Error', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
error = null, | ||
statusCode = StatusCode.BadRequest, | ||
message = "Error", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -322,3 +323,2 @@ statusCode, | ||
/** | ||
@@ -332,7 +332,7 @@ * Unauthorized | ||
static unauthorized({ | ||
error = null, | ||
statusCode = StatusCode.Unauthorized, | ||
message = 'Unauthorized', | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
error = null, | ||
statusCode = StatusCode.Unauthorized, | ||
message = "Unauthorized", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -349,3 +349,2 @@ statusCode, | ||
/** | ||
@@ -359,7 +358,7 @@ * Redirect | ||
static redirect({ | ||
statusCode = StatusCode.MovedTemporarily, | ||
message = '', | ||
bodyWrap = true, | ||
redirectTo = '' | ||
}: TFuncParams): ResponseVoAWS { | ||
statusCode = StatusCode.MovedTemporarily, | ||
message = "", | ||
bodyWrap = true, | ||
redirectTo = "", | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -388,10 +387,10 @@ statusCode, | ||
static custom({ | ||
statusCode = StatusCode.OK, | ||
statusResult = StatusResult.ok, | ||
message = '', | ||
error = null, | ||
data = null, | ||
count = null, | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
statusCode = StatusCode.OK, | ||
statusResult = StatusResult.ok, | ||
message = "", | ||
error = null, | ||
data = null, | ||
count = null, | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
@@ -410,3 +409,3 @@ statusCode, | ||
export const messagesREST = (prefix: string, suffix: string = '') => { | ||
export const messagesREST = (prefix: string, suffix: string = "") => { | ||
return { | ||
@@ -525,5 +524,5 @@ TOTAL: `${prefix}_TOTAL${suffix}`, | ||
export const optionsPaginationParams = ['limit', 'skip', 'count']; | ||
export const optionsPaginationParams = ["limit", "skip", "count"]; | ||
export type TMongoFilterNormalise = { [fieldName: string]: any } | ||
export type TMongoFilterNormalise = { [fieldName: string]: any }; | ||
@@ -536,14 +535,28 @@ /** | ||
*/ | ||
export const normaliseMongoFilter = (filter: TMongoFilterNormalise, regexFields: string[], excludeFields?: string[]) => { | ||
export const normaliseMongoFilter = ( | ||
filter: TMongoFilterNormalise, | ||
regexFields: string[], | ||
excludeFields?: string[] | ||
) => { | ||
const _filter: TMongoFilterNormalise = {}; | ||
const excludeParams = excludeFields && Array.isArray(excludeFields) && excludeFields.length > 0 ? excludeFields : | ||
optionsPaginationParams; | ||
const excludeParams = | ||
excludeFields && Array.isArray(excludeFields) && excludeFields.length > 0 | ||
? excludeFields | ||
: optionsPaginationParams; | ||
Object.keys(filter).forEach((f) => { | ||
const v = filter[f]; | ||
if (!(v === null || (typeof v === 'number' && isNaN(v)) || v === Infinity || v === undefined || | ||
excludeParams.includes(f))) { | ||
if ( | ||
!( | ||
v === null || | ||
(typeof v === "number" && isNaN(v)) || | ||
v === Infinity || | ||
v === undefined || | ||
excludeParams.includes(f) | ||
) | ||
) { | ||
_filter[f] = filter[f]; | ||
if (regexFields.includes(f)) _filter[f] = {$regex: new RegExp(_filter[f], 'gi')}; | ||
if (regexFields.includes(f)) | ||
_filter[f] = { $regex: new RegExp(_filter[f], "gi") }; | ||
} | ||
@@ -560,2 +573,25 @@ }); | ||
export type TFieldsGQL = | ||
| "create" | ||
| "count" | ||
| "find" | ||
| "findOne" | ||
| "findMany" | ||
| "findOneByID" | ||
| "findManyByIDs" | ||
| "update" | ||
| "updateOneByID" | ||
| "updateManyByIDs" | ||
| "deleteOne" | ||
| "deleteOneByID" | ||
| "deleteManyByIDs" | ||
| "actionMark" | ||
| "init"; | ||
/** | ||
@@ -565,3 +601,5 @@ * Normalise Mongo Paginate params | ||
*/ | ||
export const normaliseMongoPaginate = (filter: TMongoFilterNormalise): TMongoPaginate => { | ||
export const normaliseMongoPaginate = ( | ||
filter: TMongoFilterNormalise | ||
): TMongoPaginate => { | ||
let res: TMongoPaginate = { | ||
@@ -578,7 +616,18 @@ skip: 0, | ||
export const controlResponseNull = (data: object, okResultOf: 'create' | 'update'| 'update_or_create' | 'update_many' | 'increment' | 'decrement', prefix: string, bodyWrap: boolean = true) => { | ||
export const controlResponseNull = ( | ||
data: object, | ||
okResultOf: | ||
| "create" | ||
| "update" | ||
| "update_or_create" | ||
| "update_many" | ||
| "increment" | ||
| "decrement", | ||
prefix: string, | ||
bodyWrap: boolean = true | ||
) => { | ||
let result; | ||
if (data) { | ||
if (okResultOf === 'create') { | ||
if (okResultOf === "create") { | ||
result = CreateResponse.created({ | ||
@@ -591,3 +640,3 @@ data, | ||
if (okResultOf === 'update') { | ||
if (okResultOf === "update") { | ||
result = CreateResponse.updated({ | ||
@@ -600,3 +649,3 @@ data, | ||
if (okResultOf === 'update_or_create') { | ||
if (okResultOf === "update_or_create") { | ||
result = CreateResponse.updateOrCreate({ | ||
@@ -609,3 +658,3 @@ data, | ||
if (okResultOf === 'update_many') { | ||
if (okResultOf === "update_many") { | ||
result = CreateResponse.updated({ | ||
@@ -618,3 +667,3 @@ data, | ||
if (okResultOf === 'increment') { | ||
if (okResultOf === "increment") { | ||
result = CreateResponse.updated({ | ||
@@ -627,3 +676,3 @@ data, | ||
if (okResultOf === 'decrement') { | ||
if (okResultOf === "decrement") { | ||
result = CreateResponse.updated({ | ||
@@ -635,11 +684,14 @@ data, | ||
} | ||
} else { | ||
let messageErr = ''; | ||
if (okResultOf === 'create') messageErr = messagesREST(prefix).NOT_CREATE; | ||
if (okResultOf === 'update') messageErr = messagesREST(prefix).NOT_UPDATE; | ||
if (okResultOf === 'update_or_create') messageErr = messagesREST(prefix).NOT_UPDATE_OR_CREATE; | ||
if (okResultOf === 'update_many') messageErr = messagesREST(prefix).NOT_UPDATE_MANY; | ||
if (okResultOf === 'increment') messageErr = messagesREST(prefix).NOT_INCREMENT; | ||
if (okResultOf === 'decrement') messageErr = messagesREST(prefix).NOT_DECREMENT; | ||
let messageErr = ""; | ||
if (okResultOf === "create") messageErr = messagesREST(prefix).NOT_CREATE; | ||
if (okResultOf === "update") messageErr = messagesREST(prefix).NOT_UPDATE; | ||
if (okResultOf === "update_or_create") | ||
messageErr = messagesREST(prefix).NOT_UPDATE_OR_CREATE; | ||
if (okResultOf === "update_many") | ||
messageErr = messagesREST(prefix).NOT_UPDATE_MANY; | ||
if (okResultOf === "increment") | ||
messageErr = messagesREST(prefix).NOT_INCREMENT; | ||
if (okResultOf === "decrement") | ||
messageErr = messagesREST(prefix).NOT_DECREMENT; | ||
@@ -646,0 +698,0 @@ result = CreateResponse.error({ |
{ | ||
"name": "my-q-format-response-aws-lambda", | ||
"version": "1.0.40", | ||
"version": "1.0.41", | ||
"homepage": "https://github.com/zhukyuri/my-q-format-response-aws-lambda", | ||
@@ -5,0 +5,0 @@ "description": "my-q-format-response-aws-lambda", |
1176
46556