my-q-format-response-aws-lambda
Advanced tools
Comparing version 1.0.1 to 1.0.4
261
index.js
@@ -7,5 +7,7 @@ "use strict"; | ||
exports.StatusResult = StatusResult; | ||
StatusResult.ok = 'Ok'; | ||
StatusResult.error = 'Error'; | ||
StatusResult.notFound = 'NotFound'; | ||
StatusResult.ok = "Ok"; | ||
StatusResult.error = "Error"; | ||
StatusResult.notFound = "NotFound"; | ||
StatusResult.unauthorized = "Unauthorized"; | ||
StatusResult.needRedirect = "NeedRedirect"; | ||
class StatusCode { | ||
@@ -25,9 +27,10 @@ } | ||
// static MultiStatus = 207; | ||
// static MultipleChoices = 300; | ||
// static MovedPermanently = 301; | ||
// static MovedTemporarily = 302; | ||
// static SeeOther = 303; | ||
StatusCode.MultipleChoices = 300; | ||
StatusCode.MovedPermanently = 301; | ||
StatusCode.MovedTemporarily = 302; | ||
StatusCode.SeeOther = 303; | ||
// static UseProxy = 305; | ||
// static NotModified = 304; | ||
// static TemporaryRedirect = 307; | ||
StatusCode.TemporaryRedirect = 307; | ||
// static PermanentRedirect = 308; | ||
StatusCode.BadRequest = 400; | ||
@@ -66,6 +69,7 @@ StatusCode.Unauthorized = 401; | ||
this.statusResult = StatusResult.ok; | ||
this.message = ''; | ||
this.message = ""; | ||
this.data = null; | ||
this.count = null; | ||
this.error = null; | ||
this.redirectTo = undefined; | ||
} | ||
@@ -77,3 +81,3 @@ } | ||
this.statusCode = StatusCode.OK; | ||
this.body = ''; | ||
this.body = ""; | ||
} | ||
@@ -83,9 +87,10 @@ } | ||
class Result { | ||
constructor({ statusCode = StatusCode.OK, statusResult = StatusResult.ok, message, data = null, count = null, error = null, bodyWrap = true, }) { | ||
constructor({ statusCode = StatusCode.OK, statusResult = StatusResult.ok, message, data = null, count = null, error = null, redirectTo = undefined, bodyWrap = true, }) { | ||
this.statusCode = statusCode; | ||
this.statusResult = statusResult; | ||
this.message = !message ? '' : message; | ||
this.message = !message ? "" : message; | ||
this.count = count; | ||
this.data = data; | ||
this.error = error; | ||
this.redirectTo = redirectTo; | ||
this.bodyWrap = bodyWrap; | ||
@@ -98,8 +103,19 @@ } | ||
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 = { | ||
statusResult: this.statusResult, message: this.message, data: this.data, count: this.count, error: _err, | ||
statusResult: this.statusResult, | ||
message: this.message, | ||
data: this.data, | ||
count: this.count, | ||
error: _err, | ||
}; | ||
if (this.redirectTo) | ||
valueBody.redirectTo = this.redirectTo; | ||
const valueBodyWrap = { | ||
statusCode: this.statusCode, body: JSON.stringify(valueBody), | ||
statusCode: this.statusCode, | ||
body: JSON.stringify(valueBody), | ||
}; | ||
@@ -117,5 +133,10 @@ return this.bodyWrap ? valueBodyWrap : valueBody; | ||
*/ | ||
static success({ data = null, count = null, message = 'success', bodyWrap = true }) { | ||
static success({ data = null, count = null, message = "success", bodyWrap = true, }) { | ||
const result = new Result({ | ||
statusCode: StatusCode.OK, statusResult: StatusResult.ok, message, data, count, bodyWrap, | ||
statusCode: StatusCode.OK, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
count, | ||
bodyWrap, | ||
}); | ||
@@ -130,5 +151,9 @@ return result.bodyToString(); | ||
*/ | ||
static created({ data, message = 'created', bodyWrap = true }) { | ||
static created({ data, message = "created", bodyWrap = true, }) { | ||
const result = new Result({ | ||
statusCode: StatusCode.Created, statusResult: StatusResult.ok, message, data, bodyWrap, | ||
statusCode: StatusCode.Created, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
bodyWrap, | ||
}); | ||
@@ -143,5 +168,9 @@ return result.bodyToString(); | ||
*/ | ||
static updated({ data, message = 'updated', bodyWrap = true }) { | ||
static updated({ data, message = "updated", bodyWrap = true, }) { | ||
const result = new Result({ | ||
statusCode: StatusCode.OK, statusResult: StatusResult.ok, message, data, bodyWrap, | ||
statusCode: StatusCode.OK, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
bodyWrap, | ||
}); | ||
@@ -151,2 +180,18 @@ return result.bodyToString(); | ||
/** | ||
* Update or Create | ||
* @param data | ||
* @param message | ||
* @param bodyWrap | ||
*/ | ||
static updateOrCreate({ data, message = "update_or_create", bodyWrap = true, }) { | ||
const result = new Result({ | ||
statusCode: StatusCode.OK, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
bodyWrap, | ||
}); | ||
return result.bodyToString(); | ||
} | ||
/** | ||
* Not Found | ||
@@ -157,5 +202,10 @@ * @param error | ||
*/ | ||
static notFound({ error = null, message = '', bodyWrap = true }) { | ||
static notFound({ error = null, message = "", bodyWrap = true, }) { | ||
const result = new Result({ | ||
statusCode: StatusCode.NotFound, statusResult: StatusResult.notFound, message, error, bodyWrap, | ||
statusCode: StatusCode.NotFound, | ||
statusResult: StatusResult.notFound, | ||
message, | ||
data: null, | ||
error, | ||
bodyWrap, | ||
}); | ||
@@ -171,5 +221,10 @@ return result.bodyToString(); | ||
*/ | ||
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({ | ||
statusCode, statusResult: StatusResult.error, error, message, bodyWrap, | ||
statusCode, | ||
statusResult: StatusResult.error, | ||
data: null, | ||
error, | ||
message, | ||
bodyWrap, | ||
}); | ||
@@ -179,2 +234,39 @@ return result.bodyToString(); | ||
/** | ||
* Unauthorized | ||
* @param error | ||
* @param statusCode | ||
* @param message | ||
* @param bodyWrap | ||
*/ | ||
static unauthorized({ error = null, statusCode = StatusCode.Unauthorized, message = "Unauthorized", bodyWrap = true, }) { | ||
const result = new Result({ | ||
statusCode, | ||
statusResult: StatusResult.unauthorized, | ||
data: null, | ||
error, | ||
message, | ||
bodyWrap, | ||
}); | ||
return result.bodyToString(); | ||
} | ||
/** | ||
* Redirect | ||
* @param error | ||
* @param statusCode | ||
* @param message | ||
* @param bodyWrap | ||
*/ | ||
static redirect({ statusCode = StatusCode.MovedTemporarily, message = "", bodyWrap = true, redirectTo = "", }) { | ||
const result = new Result({ | ||
statusCode, | ||
statusResult: StatusResult.needRedirect, | ||
data: null, | ||
error: null, | ||
message, | ||
redirectTo, | ||
bodyWrap, | ||
}); | ||
return result.bodyToString(); | ||
} | ||
/** | ||
* Custom | ||
@@ -189,5 +281,11 @@ * @param 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({ | ||
statusCode, statusResult, message, error, data, count, bodyWrap, | ||
statusCode, | ||
statusResult, | ||
message, | ||
error, | ||
data, | ||
count, | ||
bodyWrap, | ||
}); | ||
@@ -198,5 +296,16 @@ return result.bodyToString(); | ||
exports.CreateResponse = CreateResponse; | ||
const messagesREST = (prefix, suffix = '') => { | ||
const messagesREST = (prefix, suffix = "") => { | ||
return { | ||
TOTAL: `${prefix}_TOTAL${suffix}`, | ||
NOT_FOUND: `${prefix}_NOT_FOUND${suffix}`, | ||
TOKEN_EXPIRED_ERROR: `${prefix}_TOKEN_EXPIRED_ERROR${suffix}`, | ||
AUTHORISED: `${prefix}_AUTHORISED${suffix}`, | ||
UNAUTHORISED: `${prefix}_UNAUTHORISED${suffix}`, | ||
ERROR_AUTHORISED: `${prefix}_ERROR_AUTHORISED${suffix}`, | ||
EXIST: `${prefix}_EXIST${suffix}`, | ||
NOT_EXIST: `${prefix}_NOT_EXIST${suffix}`, | ||
ERROR_EXIST: `${prefix}_ERROR_EXIST${suffix}`, | ||
IDENTIFIER: `${prefix}_IDENTIFIER${suffix}`, | ||
NOT_IDENTIFIER: `${prefix}_NOT_IDENTIFIER${suffix}`, | ||
ERROR_IDENTIFIER: `${prefix}_ERROR_IDENTIFIER${suffix}`, | ||
CREATE: `${prefix}_ITEM_CREATE${suffix}`, | ||
@@ -206,7 +315,13 @@ NOT_CREATE: `${prefix}_ITEM_NOT_CREATE${suffix}`, | ||
UPDATE: `${prefix}_ITEM_UPDATE${suffix}`, | ||
ERROR_UPDATE: `${prefix}_ITEM_ERROR_UPDATE${suffix}`, | ||
NOT_UPDATE: `${prefix}_ITEM_NOT_UPDATE${suffix}`, | ||
UPDATE_OR_CREATE: `${prefix}_ITEM_UPDATE_OR_CREATE${suffix}`, | ||
ERROR_UPDATE_OR_CREATE: `${prefix}_ITEM_UPDATE_OR_CREATE${suffix}`, | ||
NOT_UPDATE_OR_CREATE: `${prefix}_ITEM_NOT_UPDATE_OR_CREATE${suffix}`, | ||
UPDATE_MANY: `${prefix}_ITEM_UPDATE_MANY${suffix}`, | ||
NOT_UPDATE: `${prefix}_ITEM_NOT_UPDATE${suffix}`, | ||
NOT_UPDATE_MANY: `${prefix}_ITEM_NOT_UPDATE_MANY${suffix}`, | ||
ERROR_UPDATE: `${prefix}_ITEM_ERROR_UPDATE${suffix}`, | ||
ERROR_UPDATE_MANY: `${prefix}_ITEM_ERROR_UPDATE_MANY${suffix}`, | ||
GET_ONE_AND_CHILDREN: `${prefix}_GET_ONE_AND_CHILDREN${suffix}`, | ||
NOT_GET_ONE_AND_CHILDREN: `${prefix}_NOT_GET_ONE_AND_CHILDREN${suffix}`, | ||
ERROR_GET_ONE_AND_CHILDREN: `${prefix}_ERROR_GET_ONE_AND_CHILDREN${suffix}`, | ||
GET: `${prefix}_ITEM_GET${suffix}`, | ||
@@ -230,3 +345,2 @@ NOT_GET: `${prefix}_ITEM_NOT_GET${suffix}`, | ||
ERROR_DELETE_MANY: `${prefix}_ERROR_DELETE_MANY${suffix}`, | ||
NOT_FOUND: `${prefix}_NOT_FOUND${suffix}`, | ||
INITIALISE: `${prefix}_INITIALISE${suffix}`, | ||
@@ -249,2 +363,3 @@ NOT_INITIALISE: `${prefix}_NOT_INITIALISE${suffix}`, | ||
NOT_COUNTER_YEAR: `${prefix}_NOT_COUNTER_YEAR${suffix}`, | ||
ERROR_COUNTER_YEAR: `${prefix}_ERROR_COUNTER_YEAR${suffix}`, | ||
TEST: `${prefix}_TEST${suffix}`, | ||
@@ -256,6 +371,18 @@ NOT_TEST: `${prefix}_NOT_TEST${suffix}`, | ||
ERROR_AGGREGATION: `${prefix}_ERROR_AGGREGATION${suffix}`, | ||
USER_REGISTRATION: `${prefix}_USER_REGISTRATION${suffix}`, | ||
NOT_USER_REGISTRATION: `${prefix}_NOT_USER_REGISTRATION${suffix}`, | ||
ERROR_USER_REGISTRATION: `${prefix}_ERROR_USER_REGISTRATION${suffix}`, | ||
USER_LOGIN: `${prefix}_USER_LOGIN${suffix}`, | ||
NOT_USER_LOGIN: `${prefix}_NOT_USER_LOGIN${suffix}`, | ||
ERROR_USER_LOGIN: `${prefix}_ERROR_USER_LOGIN${suffix}`, | ||
USER_LOGOUT: `${prefix}_USER_LOGOUT${suffix}`, | ||
NOT_USER_LOGOUT: `${prefix}_NOT_USER_LOGOUT${suffix}`, | ||
ERROR_USER_LOGOUT: `${prefix}_ERROR_USER_LOGOUT${suffix}`, | ||
USER_AUTHENTICATION_REFRESH: `${prefix}_USER_AUTHENTICATION_REFRESH${suffix}`, | ||
NOT_USER_AUTHENTICATION_REFRESH: `${prefix}_NOT_USER_AUTHENTICATION_REFRESH${suffix}`, | ||
ERROR_USER_AUTHENTICATION_REFRESH: `${prefix}_ERROR_USER_AUTHENTICATION_REFRESH${suffix}`, | ||
}; | ||
}; | ||
exports.messagesREST = messagesREST; | ||
exports.optionsPaginationParams = ['limit', 'skip', 'count']; | ||
exports.optionsPaginationParams = ["limit", "skip", "count"]; | ||
/** | ||
@@ -269,9 +396,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 || 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: filter[f] }; | ||
_filter[f] = { $regex: new RegExp(_filter[f], "gi") }; | ||
} | ||
@@ -288,3 +421,4 @@ }); | ||
let res = { | ||
skip: 0, limit: 50, | ||
skip: 0, | ||
limit: 50, | ||
}; | ||
@@ -299,25 +433,42 @@ res.skip = filter && filter.skip ? parseInt(filter.skip, 10) || 0 : 0; | ||
if (data) { | ||
if (okResultOf === 'create') { | ||
if (okResultOf === "create") { | ||
result = CreateResponse.created({ | ||
data, message: (0, exports.messagesREST)(prefix).CREATE, bodyWrap, | ||
data, | ||
message: (0, exports.messagesREST)(prefix).CREATE, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'update') { | ||
if (okResultOf === "update") { | ||
result = CreateResponse.updated({ | ||
data, message: (0, exports.messagesREST)(prefix).UPDATE, bodyWrap, | ||
data, | ||
message: (0, exports.messagesREST)(prefix).UPDATE, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'update_many') { | ||
if (okResultOf === "update_or_create") { | ||
result = CreateResponse.updateOrCreate({ | ||
data, | ||
message: (0, exports.messagesREST)(prefix).UPDATE_OR_CREATE, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === "update_many") { | ||
result = CreateResponse.updated({ | ||
data, message: (0, exports.messagesREST)(prefix).UPDATE_MANY, bodyWrap, | ||
data, | ||
message: (0, exports.messagesREST)(prefix).UPDATE_MANY, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'increment') { | ||
if (okResultOf === "increment") { | ||
result = CreateResponse.updated({ | ||
data, message: (0, exports.messagesREST)(prefix).INCREMENT, bodyWrap, | ||
data, | ||
message: (0, exports.messagesREST)(prefix).INCREMENT, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'decrement') { | ||
if (okResultOf === "decrement") { | ||
result = CreateResponse.updated({ | ||
data, message: (0, exports.messagesREST)(prefix).DECREMENT, bodyWrap, | ||
data, | ||
message: (0, exports.messagesREST)(prefix).DECREMENT, | ||
bodyWrap, | ||
}); | ||
@@ -327,15 +478,19 @@ } | ||
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_many') | ||
if (okResultOf === "update_or_create") | ||
messageErr = (0, exports.messagesREST)(prefix).NOT_UPDATE_OR_CREATE; | ||
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; | ||
result = CreateResponse.error({ | ||
data: data, message: messageErr, bodyWrap, | ||
data: data, | ||
message: messageErr, | ||
bodyWrap, | ||
}); | ||
@@ -342,0 +497,0 @@ } |
408
index.ts
export class StatusResult { | ||
static ok = 'Ok'; | ||
static error = 'Error'; | ||
static notFound = 'NotFound'; | ||
static ok = "Ok"; | ||
static error = "Error"; | ||
static notFound = "NotFound"; | ||
static unauthorized = "Unauthorized"; | ||
static needRedirect = "NeedRedirect"; | ||
} | ||
@@ -21,12 +23,11 @@ | ||
// static MultipleChoices = 300; | ||
// static MovedPermanently = 301; | ||
// static MovedTemporarily = 302; | ||
// static SeeOther = 303; | ||
static MultipleChoices = 300; | ||
static MovedPermanently = 301; | ||
static MovedTemporarily = 302; | ||
static SeeOther = 303; | ||
// static UseProxy = 305; | ||
// static NotModified = 304; | ||
// static TemporaryRedirect = 307; | ||
static TemporaryRedirect = 307; | ||
// static PermanentRedirect = 308; | ||
static BadRequest = 400; | ||
@@ -76,2 +77,3 @@ static Unauthorized = 401; | ||
type TError = any | null; | ||
type TRedirectTo = string | undefined; | ||
@@ -85,2 +87,3 @@ interface TResultIn { | ||
error?: TError; | ||
redirectTo?: TRedirectTo; | ||
bodyWrap: boolean; | ||
@@ -90,8 +93,9 @@ } | ||
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; | ||
bodyWrap?: boolean; | ||
@@ -102,6 +106,7 @@ } | ||
statusResult: StatusResult = StatusResult.ok; | ||
message: string = ''; | ||
message: string = ""; | ||
data: TData = null; | ||
count: TCount = null; | ||
error: TError = null; | ||
redirectTo?: TRedirectTo = undefined; | ||
} | ||
@@ -111,8 +116,7 @@ | ||
statusCode: StatusCode = StatusCode.OK; | ||
body: string = ''; | ||
body: string = ""; | ||
} | ||
export type ResponseVoAWS = ResponseVO | ResponseBodyVO | ||
export type ResponseVoAWS = ResponseVO | ResponseBodyVO; | ||
class Result { | ||
@@ -125,2 +129,3 @@ private statusCode: StatusCode; | ||
private error: any; | ||
private redirectTo: TRedirectTo; | ||
private bodyWrap: boolean; | ||
@@ -135,2 +140,3 @@ | ||
error = null, | ||
redirectTo = undefined, | ||
bodyWrap = true, | ||
@@ -140,6 +146,7 @@ }: TResultIn) { | ||
this.statusResult = statusResult; | ||
this.message = !message ? '' : message; | ||
this.message = !message ? "" : message; | ||
this.count = count; | ||
this.data = data; | ||
this.error = error; | ||
this.redirectTo = redirectTo; | ||
this.bodyWrap = bodyWrap; | ||
@@ -153,9 +160,20 @@ } | ||
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); | ||
const valueBody: ResponseBodyVO = { | ||
statusResult: this.statusResult, message: this.message, data: this.data, count: this.count, error: _err, | ||
statusResult: this.statusResult, | ||
message: this.message, | ||
data: this.data, | ||
count: this.count, | ||
error: _err, | ||
}; | ||
if (this.redirectTo) valueBody.redirectTo = this.redirectTo; | ||
const valueBodyWrap: ResponseVO = { | ||
statusCode: this.statusCode, body: JSON.stringify(valueBody), | ||
statusCode: this.statusCode, | ||
body: JSON.stringify(valueBody), | ||
}; | ||
@@ -168,3 +186,2 @@ | ||
export class CreateResponse { | ||
/** | ||
@@ -177,5 +194,15 @@ * Success | ||
*/ | ||
static success({ data = null, count = null, message = 'success', bodyWrap = true }: TFuncParams): ResponseVoAWS { | ||
static success({ | ||
data = null, | ||
count = null, | ||
message = "success", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode: StatusCode.OK, statusResult: StatusResult.ok, message, data, count, bodyWrap, | ||
statusCode: StatusCode.OK, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
count, | ||
bodyWrap, | ||
}); | ||
@@ -191,5 +218,13 @@ return result.bodyToString(); | ||
*/ | ||
static created({ data, message = 'created', bodyWrap = true }: TFuncParams): ResponseVoAWS { | ||
static created({ | ||
data, | ||
message = "created", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode: StatusCode.Created, statusResult: StatusResult.ok, message, data, bodyWrap, | ||
statusCode: StatusCode.Created, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
bodyWrap, | ||
}); | ||
@@ -205,5 +240,13 @@ return result.bodyToString(); | ||
*/ | ||
static updated({ data, message = 'updated', bodyWrap = true }: TFuncParams): ResponseVoAWS { | ||
static updated({ | ||
data, | ||
message = "updated", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode: StatusCode.OK, statusResult: StatusResult.ok, message, data, bodyWrap, | ||
statusCode: StatusCode.OK, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
bodyWrap, | ||
}); | ||
@@ -214,2 +257,23 @@ return result.bodyToString(); | ||
/** | ||
* Update or Create | ||
* @param data | ||
* @param message | ||
* @param bodyWrap | ||
*/ | ||
static updateOrCreate({ | ||
data, | ||
message = "update_or_create", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode: StatusCode.OK, | ||
statusResult: StatusResult.ok, | ||
message, | ||
data, | ||
bodyWrap, | ||
}); | ||
return result.bodyToString(); | ||
} | ||
/** | ||
* Not Found | ||
@@ -220,5 +284,14 @@ * @param error | ||
*/ | ||
static notFound({ error = null, message = '', bodyWrap = true }: TFuncParams): ResponseVoAWS { | ||
static notFound({ | ||
error = null, | ||
message = "", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode: StatusCode.NotFound, statusResult: StatusResult.notFound, message, error, bodyWrap, | ||
statusCode: StatusCode.NotFound, | ||
statusResult: StatusResult.notFound, | ||
message, | ||
data: null, | ||
error, | ||
bodyWrap, | ||
}); | ||
@@ -236,6 +309,14 @@ return result.bodyToString(); | ||
static error({ | ||
error = null, statusCode = StatusCode.BadRequest, message = 'Error', bodyWrap = true, | ||
error = null, | ||
statusCode = StatusCode.BadRequest, | ||
message = "Error", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode, statusResult: StatusResult.error, error, message, bodyWrap, | ||
statusCode, | ||
statusResult: StatusResult.error, | ||
data: null, | ||
error, | ||
message, | ||
bodyWrap, | ||
}); | ||
@@ -246,2 +327,51 @@ return result.bodyToString(); | ||
/** | ||
* Unauthorized | ||
* @param error | ||
* @param statusCode | ||
* @param message | ||
* @param bodyWrap | ||
*/ | ||
static unauthorized({ | ||
error = null, | ||
statusCode = StatusCode.Unauthorized, | ||
message = "Unauthorized", | ||
bodyWrap = true, | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode, | ||
statusResult: StatusResult.unauthorized, | ||
data: null, | ||
error, | ||
message, | ||
bodyWrap, | ||
}); | ||
return result.bodyToString(); | ||
} | ||
/** | ||
* Redirect | ||
* @param error | ||
* @param statusCode | ||
* @param message | ||
* @param bodyWrap | ||
*/ | ||
static redirect({ | ||
statusCode = StatusCode.MovedTemporarily, | ||
message = "", | ||
bodyWrap = true, | ||
redirectTo = "", | ||
}: TFuncParams): ResponseVoAWS { | ||
const result = new Result({ | ||
statusCode, | ||
statusResult: StatusResult.needRedirect, | ||
data: null, | ||
error: null, | ||
message, | ||
redirectTo, | ||
bodyWrap, | ||
}); | ||
return result.bodyToString(); | ||
} | ||
/** | ||
* Custom | ||
@@ -259,3 +389,3 @@ * @param statusCode | ||
statusResult = StatusResult.ok, | ||
message = '', | ||
message = "", | ||
error = null, | ||
@@ -267,3 +397,9 @@ data = null, | ||
const result = new Result({ | ||
statusCode, statusResult, message, error, data, count, bodyWrap, | ||
statusCode, | ||
statusResult, | ||
message, | ||
error, | ||
data, | ||
count, | ||
bodyWrap, | ||
}); | ||
@@ -274,62 +410,119 @@ return result.bodyToString(); | ||
export const messagesREST = (prefix: string, suffix: string = '') => { | ||
export const messagesREST = (prefix: string, suffix: string = "") => { | ||
return { | ||
TOTAL: `${prefix}_TOTAL${suffix}`, | ||
NOT_FOUND: `${prefix}_NOT_FOUND${suffix}`, | ||
TOKEN_EXPIRED_ERROR: `${prefix}_TOKEN_EXPIRED_ERROR${suffix}`, | ||
AUTHORISED: `${prefix}_AUTHORISED${suffix}`, | ||
UNAUTHORISED: `${prefix}_UNAUTHORISED${suffix}`, | ||
ERROR_AUTHORISED: `${prefix}_ERROR_AUTHORISED${suffix}`, | ||
EXIST: `${prefix}_EXIST${suffix}`, | ||
NOT_EXIST: `${prefix}_NOT_EXIST${suffix}`, | ||
ERROR_EXIST: `${prefix}_ERROR_EXIST${suffix}`, | ||
IDENTIFIER: `${prefix}_IDENTIFIER${suffix}`, | ||
NOT_IDENTIFIER: `${prefix}_NOT_IDENTIFIER${suffix}`, | ||
ERROR_IDENTIFIER: `${prefix}_ERROR_IDENTIFIER${suffix}`, | ||
CREATE: `${prefix}_ITEM_CREATE${suffix}`, | ||
NOT_CREATE: `${prefix}_ITEM_NOT_CREATE${suffix}`, | ||
ERROR_CREATE: `${prefix}_ITEM_ERROR_CREATE${suffix}`, | ||
UPDATE: `${prefix}_ITEM_UPDATE${suffix}`, | ||
ERROR_UPDATE: `${prefix}_ITEM_ERROR_UPDATE${suffix}`, | ||
NOT_UPDATE: `${prefix}_ITEM_NOT_UPDATE${suffix}`, | ||
UPDATE_OR_CREATE: `${prefix}_ITEM_UPDATE_OR_CREATE${suffix}`, | ||
ERROR_UPDATE_OR_CREATE: `${prefix}_ITEM_UPDATE_OR_CREATE${suffix}`, | ||
NOT_UPDATE_OR_CREATE: `${prefix}_ITEM_NOT_UPDATE_OR_CREATE${suffix}`, | ||
UPDATE_MANY: `${prefix}_ITEM_UPDATE_MANY${suffix}`, | ||
NOT_UPDATE: `${prefix}_ITEM_NOT_UPDATE${suffix}`, | ||
NOT_UPDATE_MANY: `${prefix}_ITEM_NOT_UPDATE_MANY${suffix}`, | ||
ERROR_UPDATE: `${prefix}_ITEM_ERROR_UPDATE${suffix}`, | ||
ERROR_UPDATE_MANY: `${prefix}_ITEM_ERROR_UPDATE_MANY${suffix}`, | ||
GET_ONE_AND_CHILDREN: `${prefix}_GET_ONE_AND_CHILDREN${suffix}`, | ||
NOT_GET_ONE_AND_CHILDREN: `${prefix}_NOT_GET_ONE_AND_CHILDREN${suffix}`, | ||
ERROR_GET_ONE_AND_CHILDREN: `${prefix}_ERROR_GET_ONE_AND_CHILDREN${suffix}`, | ||
GET: `${prefix}_ITEM_GET${suffix}`, | ||
NOT_GET: `${prefix}_ITEM_NOT_GET${suffix}`, | ||
ERROR_GET: `${prefix}_ITEM_ERROR_GET${suffix}`, | ||
GET_MANY: `${prefix}_GET_MANY${suffix}`, | ||
NOT_GET_MANY: `${prefix}_NOT_GET_MANY${suffix}`, | ||
ERROR_GET_MANY: `${prefix}_ERROR_GET_MANY${suffix}`, | ||
GET_MANY_AND_COUNT: `${prefix}_GET_MANY_AND_COUNT${suffix}`, | ||
NOT_GET_MANY_AND_COUNT: `${prefix}_NOT_GET_MANY_AND_COUNT${suffix}`, | ||
ERROR_GET_MANY_AND_COUNT: `${prefix}_ERROR_GET_MANY_AND_COUNT${suffix}`, | ||
GET_COUNT: `${prefix}_GET_COUNT${suffix}`, | ||
NOT_GET_COUNT: `${prefix}_NOT_GET_COUNT${suffix}`, | ||
ERROR_GET_COUNT: `${prefix}_ERROR_GET_COUNT${suffix}`, | ||
DELETE: `${prefix}_ITEM_DELETE${suffix}`, | ||
NOT_DELETE: `${prefix}_ITEM_NOT_DELETE${suffix}`, | ||
ERROR_DELETE: `${prefix}_ITEM_ERROR_DELETE${suffix}`, | ||
DELETE_MANY: `${prefix}_DELETE_MANY${suffix}`, | ||
NOT_DELETE_MANY: `${prefix}_NOT_DELETE_MANY${suffix}`, | ||
ERROR_DELETE_MANY: `${prefix}_ERROR_DELETE_MANY${suffix}`, | ||
NOT_FOUND: `${prefix}_NOT_FOUND${suffix}`, | ||
INITIALISE: `${prefix}_INITIALISE${suffix}`, | ||
NOT_INITIALISE: `${prefix}_NOT_INITIALISE${suffix}`, | ||
ERROR_INITIALISE: `${prefix}_ERROR_INITIALISE${suffix}`, | ||
INCREMENT: `${prefix}_INCREMENT${suffix}`, | ||
NOT_INCREMENT: `${prefix}_NOT_INCREMENT${suffix}`, | ||
ERROR_INCREMENT: `${prefix}_ERROR_INCREMENT${suffix}`, | ||
DECREMENT: `${prefix}_DECREMENT${suffix}`, | ||
NOT_DECREMENT: `${prefix}_NOT_DECREMENT${suffix}`, | ||
ERROR_DECREMENT: `${prefix}_ERROR_DECREMENT${suffix}`, | ||
COUNTER_DAY: `${prefix}_COUNTER_DAY${suffix}`, | ||
NOT_COUNTER_DAY: `${prefix}_NOT_COUNTER_DAY${suffix}`, | ||
ERROR_COUNTER_DAY: `${prefix}_ERROR_COUNTER_DAY${suffix}`, | ||
COUNTER_MONTH: `${prefix}_COUNTER_MONTH${suffix}`, | ||
NOT_COUNTER_MONTH: `${prefix}_NOT_COUNTER_MONTH${suffix}`, | ||
ERROR_COUNTER_MONTH: `${prefix}_ERROR_COUNTER_MONTH${suffix}`, | ||
COUNTER_YEAR: `${prefix}_COUNTER_YEAR${suffix}`, | ||
NOT_COUNTER_YEAR: `${prefix}_NOT_COUNTER_YEAR${suffix}`, | ||
ERROR_COUNTER_YEAR: `${prefix}_ERROR_COUNTER_YEAR${suffix}`, | ||
TEST: `${prefix}_TEST${suffix}`, | ||
NOT_TEST: `${prefix}_NOT_TEST${suffix}`, | ||
ERROR_TEST: `${prefix}_ERROR_TEST${suffix}`, | ||
AGGREGATION: `${prefix}_AGGREGATION${suffix}`, | ||
NOT_AGGREGATION: `${prefix}_NOT_AGGREGATION${suffix}`, | ||
ERROR_AGGREGATION: `${prefix}_ERROR_AGGREGATION${suffix}`, | ||
USER_REGISTRATION: `${prefix}_USER_REGISTRATION${suffix}`, | ||
NOT_USER_REGISTRATION: `${prefix}_NOT_USER_REGISTRATION${suffix}`, | ||
ERROR_USER_REGISTRATION: `${prefix}_ERROR_USER_REGISTRATION${suffix}`, | ||
USER_LOGIN: `${prefix}_USER_LOGIN${suffix}`, | ||
NOT_USER_LOGIN: `${prefix}_NOT_USER_LOGIN${suffix}`, | ||
ERROR_USER_LOGIN: `${prefix}_ERROR_USER_LOGIN${suffix}`, | ||
USER_LOGOUT: `${prefix}_USER_LOGOUT${suffix}`, | ||
NOT_USER_LOGOUT: `${prefix}_NOT_USER_LOGOUT${suffix}`, | ||
ERROR_USER_LOGOUT: `${prefix}_ERROR_USER_LOGOUT${suffix}`, | ||
USER_AUTHENTICATION_REFRESH: `${prefix}_USER_AUTHENTICATION_REFRESH${suffix}`, | ||
NOT_USER_AUTHENTICATION_REFRESH: `${prefix}_NOT_USER_AUTHENTICATION_REFRESH${suffix}`, | ||
ERROR_USER_AUTHENTICATION_REFRESH: `${prefix}_ERROR_USER_AUTHENTICATION_REFRESH${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 }; | ||
@@ -342,12 +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: filter[f] }; | ||
if (regexFields.includes(f)) | ||
_filter[f] = { $regex: new RegExp(_filter[f], "gi") }; | ||
} | ||
@@ -364,2 +573,27 @@ }); | ||
export type TFieldsGQL = | ||
| "create" | ||
| "count" | ||
| "find" | ||
| "findOne" | ||
| "findMany" | ||
| "findOneByID" | ||
| "findManyByIDs" | ||
| "update" | ||
| "updateOneByID" | ||
| "updateManyByIDs" | ||
| "deleteOne" | ||
| "deleteOneByID" | ||
| "deleteManyByIDs" | ||
| "activeMarkByIDs" | ||
| "deleteMarkByIDs" | ||
| "systemMarkByIDs" | ||
| "init"; | ||
/** | ||
@@ -369,5 +603,8 @@ * Normalise Mongo Paginate params | ||
*/ | ||
export const normaliseMongoPaginate = (filter: TMongoFilterNormalise): TMongoPaginate => { | ||
export const normaliseMongoPaginate = ( | ||
filter: TMongoFilterNormalise | ||
): TMongoPaginate => { | ||
let res: TMongoPaginate = { | ||
skip: 0, limit: 50, | ||
skip: 0, | ||
limit: 50, | ||
}; | ||
@@ -381,46 +618,81 @@ | ||
export const controlResponseNull = (data: object, okResultOf: 'create' | 'update' | '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({ | ||
data, message: messagesREST(prefix).CREATE, bodyWrap, | ||
data, | ||
message: messagesREST(prefix).CREATE, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'update') { | ||
if (okResultOf === "update") { | ||
result = CreateResponse.updated({ | ||
data, message: messagesREST(prefix).UPDATE, bodyWrap, | ||
data, | ||
message: messagesREST(prefix).UPDATE, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'update_many') { | ||
if (okResultOf === "update_or_create") { | ||
result = CreateResponse.updateOrCreate({ | ||
data, | ||
message: messagesREST(prefix).UPDATE_OR_CREATE, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === "update_many") { | ||
result = CreateResponse.updated({ | ||
data, message: messagesREST(prefix).UPDATE_MANY, bodyWrap, | ||
data, | ||
message: messagesREST(prefix).UPDATE_MANY, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'increment') { | ||
if (okResultOf === "increment") { | ||
result = CreateResponse.updated({ | ||
data, message: messagesREST(prefix).INCREMENT, bodyWrap, | ||
data, | ||
message: messagesREST(prefix).INCREMENT, | ||
bodyWrap, | ||
}); | ||
} | ||
if (okResultOf === 'decrement') { | ||
if (okResultOf === "decrement") { | ||
result = CreateResponse.updated({ | ||
data, message: messagesREST(prefix).DECREMENT, bodyWrap, | ||
data, | ||
message: messagesREST(prefix).DECREMENT, | ||
bodyWrap, | ||
}); | ||
} | ||
} else { | ||
let messageErr = ''; | ||
if (okResultOf === 'create') messageErr = messagesREST(prefix).NOT_CREATE; | ||
if (okResultOf === 'update') messageErr = messagesREST(prefix).NOT_UPDATE; | ||
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; | ||
result = CreateResponse.error({ | ||
data: data, message: messageErr, bodyWrap, | ||
data: data, | ||
message: messageErr, | ||
bodyWrap, | ||
}); | ||
@@ -427,0 +699,0 @@ } |
{ | ||
"name": "my-q-format-response-aws-lambda", | ||
"version": "1.0.1", | ||
"version": "1.0.4", | ||
"homepage": "https://github.com/zhukyuri/my-q-format-response-aws-lambda", | ||
@@ -5,0 +5,0 @@ "description": "my-q-format-response-aws-lambda", |
46604
6
1178