@cyberskill/shared 1.46.0 → 1.48.0
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/README.md +12 -18
- package/dist/_tsup-dts-rollup.d.cts +413 -31
- package/dist/_tsup-dts-rollup.d.ts +413 -31
- package/dist/cli.cjs +2136 -1
- package/dist/cli.d.cts +2 -1
- package/dist/cli.d.ts +2 -1
- package/dist/cli.js +2056 -1
- package/dist/configs/commitlint/base.cjs +64 -1
- package/dist/configs/commitlint/base.js +7 -1
- package/dist/configs/eslint/base.cjs +121 -1
- package/dist/configs/eslint/base.js +52 -1
- package/dist/configs/eslint/nestjs.cjs +155 -1
- package/dist/configs/eslint/nestjs.js +85 -1
- package/dist/configs/eslint/nextjs.cjs +155 -1
- package/dist/configs/eslint/nextjs.js +85 -1
- package/dist/configs/eslint/nodejs.cjs +156 -1
- package/dist/configs/eslint/nodejs.js +86 -1
- package/dist/configs/eslint/vite-react.cjs +159 -1
- package/dist/configs/eslint/vite-react.js +89 -1
- package/dist/configs/graphql/graphql-codegen.cjs +125 -1
- package/dist/configs/graphql/graphql-codegen.js +64 -1
- package/dist/configs/graphql/index.cjs +126 -1
- package/dist/configs/graphql/index.js +64 -1
- package/dist/configs/i18n/react/i18next.cjs +80 -1
- package/dist/configs/i18n/react/i18next.js +7 -1
- package/dist/configs/i18n/react/index.cjs +81 -1
- package/dist/configs/i18n/react/index.js +7 -1
- package/dist/configs/index.cjs +232 -1
- package/dist/configs/index.js +166 -1
- package/dist/configs/lint-staged/base.cjs +64 -1
- package/dist/configs/lint-staged/base.js +7 -1
- package/dist/configs/vitest/react/e2e.cjs +128 -1
- package/dist/configs/vitest/react/e2e.js +59 -1
- package/dist/configs/vitest/react/unit.cjs +305 -1
- package/dist/configs/vitest/react/unit.js +228 -1
- package/dist/configs/vitest/react/unit.setup.cjs +60 -1
- package/dist/configs/vitest/react/unit.setup.js +8 -1
- package/dist/constants/index.cjs +678 -1
- package/dist/constants/index.d.cts +31 -1
- package/dist/constants/index.d.ts +31 -1
- package/dist/constants/index.js +469 -1
- package/dist/constants/path.cjs +423 -1
- package/dist/constants/path.d.cts +31 -1
- package/dist/constants/path.d.ts +31 -1
- package/dist/constants/path.js +218 -1
- package/dist/constants/response-status.cjs +313 -1
- package/dist/constants/response-status.js +252 -1
- package/dist/index.cjs +4546 -1
- package/dist/index.d.cts +51 -6
- package/dist/index.d.ts +51 -6
- package/dist/index.js +4133 -1
- package/dist/nodejs/index.cjs +2138 -1
- package/dist/nodejs/index.js +2054 -1
- package/dist/nodejs/mongo.cjs +2137 -1
- package/dist/nodejs/mongo.js +2054 -1
- package/dist/react/apollo-client.cjs +177 -1
- package/dist/react/apollo-client.js +116 -1
- package/dist/react/index.cjs +990 -1
- package/dist/react/index.js +876 -1
- package/dist/react/loading.cjs +301 -1
- package/dist/react/loading.js +216 -1
- package/dist/react/next-intl.cjs +744 -1
- package/dist/react/next-intl.js +655 -1
- package/dist/react/storage.cjs +631 -1
- package/dist/react/storage.js +558 -1
- package/dist/typescript/api-response.cjs +48 -1
- package/dist/typescript/apollo.cjs +48 -1
- package/dist/typescript/command.cjs +68 -1
- package/dist/typescript/command.d.cts +4 -0
- package/dist/typescript/command.d.ts +4 -0
- package/dist/typescript/command.js +7 -1
- package/dist/typescript/config.cjs +48 -1
- package/dist/typescript/fs.cjs +48 -0
- package/dist/typescript/fs.d.cts +1 -0
- package/dist/typescript/fs.d.ts +1 -0
- package/dist/typescript/fs.js +0 -0
- package/dist/typescript/graphql-codegen.cjs +48 -1
- package/dist/typescript/index.cjs +175 -1
- package/dist/typescript/index.d.cts +5 -0
- package/dist/typescript/index.d.ts +5 -0
- package/dist/typescript/index.js +151 -1
- package/dist/typescript/loading.cjs +48 -1
- package/dist/typescript/log.cjs +48 -1
- package/dist/typescript/mongo.cjs +164 -1
- package/dist/typescript/mongo.js +145 -1
- package/dist/typescript/next-intl.cjs +48 -1
- package/dist/typescript/react.cjs +48 -1
- package/dist/typescript/serializer.cjs +48 -1
- package/dist/typescript/string.cjs +48 -1
- package/dist/utils/command.cjs +1387 -1
- package/dist/utils/command.d.cts +2 -0
- package/dist/utils/command.d.ts +2 -0
- package/dist/utils/command.js +1287 -1
- package/dist/utils/common.cjs +300 -1
- package/dist/utils/common.js +219 -1
- package/dist/utils/config.cjs +146 -1
- package/dist/utils/config.js +89 -1
- package/dist/utils/fs.cjs +118 -1
- package/dist/utils/fs.d.cts +4 -1
- package/dist/utils/fs.d.ts +4 -1
- package/dist/utils/fs.js +37 -1
- package/dist/utils/index-nodejs.cjs +1738 -1
- package/dist/utils/index-nodejs.d.cts +15 -5
- package/dist/utils/index-nodejs.d.ts +15 -5
- package/dist/utils/index-nodejs.js +1571 -1
- package/dist/utils/index.cjs +727 -1
- package/dist/utils/index.js +625 -1
- package/dist/utils/log.cjs +330 -1
- package/dist/utils/log.js +269 -1
- package/dist/utils/package.cjs +941 -0
- package/dist/utils/package.d.cts +3 -0
- package/dist/utils/package.d.ts +3 -0
- package/dist/utils/package.js +857 -0
- package/dist/utils/path.cjs +291 -0
- package/dist/utils/path.d.cts +6 -0
- package/dist/utils/path.d.ts +6 -0
- package/dist/utils/path.js +191 -0
- package/dist/utils/serializer.cjs +91 -1
- package/dist/utils/serializer.js +30 -1
- package/dist/utils/storage-client.cjs +349 -1
- package/dist/utils/storage-client.js +276 -1
- package/dist/utils/storage-server.cjs +636 -1
- package/dist/utils/storage-server.d.cts +1 -1
- package/dist/utils/storage-server.d.ts +1 -1
- package/dist/utils/storage-server.js +550 -1
- package/dist/utils/string.cjs +152 -1
- package/dist/utils/string.js +75 -1
- package/dist/utils/validate.cjs +90 -1
- package/dist/utils/validate.js +33 -1
- package/package.json +19 -16
- package/dist/utils/npm-package.cjs +0 -1
- package/dist/utils/npm-package.d.cts +0 -4
- package/dist/utils/npm-package.d.ts +0 -4
- package/dist/utils/npm-package.js +0 -1
package/dist/nodejs/index.cjs
CHANGED
|
@@ -1 +1,2138 @@
|
|
|
1
|
-
"use strict";function e(e,t,n,r,s,u,a){try{var c=e[u](a);var o=c.value}catch(e){n(e);return}if(c.done){t(o)}else{Promise.resolve(o).then(r,s)}}function t(t){return function(){var n=this,r=arguments;return new Promise(function(s,u){var a=t.apply(n,r);function c(t){e(a,s,u,c,o,"next",t)}function o(t){e(a,s,u,c,o,"throw",t)}c(undefined)})}}function n(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function s(e,t,n){if(t)r(e.prototype,t);if(n)r(e,n);return e}function u(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function c(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){u(e,t,n[t])})}return e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function i(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{o(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e,t){if(e==null)return{};var n=E(e,t);var r,s;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(s=0;s<u.length;s++){r=u[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function E(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,u;for(u=0;u<r.length;u++){s=r[u];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function d(e,t){var n,r,s,u,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return u={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return o([e,t])}}function o(u){if(n)throw new TypeError("Generator is already executing.");while(a)try{if(n=1,r&&(s=u[0]&2?r["return"]:u[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,u[1])).done)return s;if(r=0,s)u=[u[0]&2,s.value];switch(u[0]){case 0:case 1:s=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;r=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){a.label=u[1];break}if(u[0]===6&&a.label<s[1]){a.label=s[1];s=u;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(u);break}if(s[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];r=0}finally{n=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var O=Object.create;var h=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var R=function(e,t){for(var n in t)h(e,n,{get:t[n],enumerable:!0})},y=function(e,t,n,r){var s=true,u=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!m.call(e,s)&&s!==n&&h(e,s,{get:function(){return t[s]},enumerable:!(r=g(t,s))||r.enumerable})};for(var o=S(t)[Symbol.iterator](),i;!(s=(i=o.next()).done);s=true)c()}catch(e){u=true;a=e}finally{try{if(!s&&o.return!=null){o.return()}}finally{if(u){throw a}}}return e};var p=function(e,t,n){return n=e!=null?O(v(e)):{},y(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)},A=function(e){return y(h({},"__esModule",{value:!0}),e)};var D={};R(D,{MongoController:function(){return k},MongooseController:function(){return q},aggregatePaginate:function(){return N.default},mongo:function(){return F},mongoosePaginate:function(){return C.default}});module.exports=A(D);var _=require("date-fns"),T=require("mongoose"),N=p(require("mongoose-aggregate-paginate-v2"),1),C=p(require("mongoose-paginate-v2"),1),M=require("uuid");var b={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var I=p(require("crypto-js"),1),P=p(require("slugify"),1),G=P.default.default||P.default;function w(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,u=n.locale,a=u===void 0?"vi":u,o=l(n,["lower","locale"]);return G(e,c({lower:s,locale:a},o))}function U(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return I.default.SHA256(e).toString(I.default.enc.Hex).slice(0,t)}var L={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":f(e))=="object"?a(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var F={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,_.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?F.getDateTime():new Date;return{id:(0,M.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:M.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,u=e.standalone,a=u===void 0?!1:u;var c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),a||c.add(F.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,u=s===void 0?!1:s,a=e.aggregate,c=a===void 0?!1:a,o=e.virtuals,i=o===void 0?[]:o,l=e.middlewares,E=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var f=F.createSchema({mongoose:t,schema:r,virtuals:i});return F.applyPlugins(f,[u&&C.default,c&&N.default]),F.applyMiddlewares(f,E),t.model(n,f)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return i(c({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=t(function(e){return d(this,function(t){return[2,!L.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var n=t(function(t){var n;return d(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return u({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return n.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var n=t(function(t){return d(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!a(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return n.apply(this,arguments)}}()}}},k=/*#__PURE__*/function(){function e(t,r){n(this,e);this.collection=t.collection(r)}s(e,[{key:"createOne",value:function e(e){var n=this;return t(function(){var t,r,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t=c({},F.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,n.collection.insertOne(t)];case 1:return[2,(r.result=u.sent(),r)];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var n=this;return t(function(){var t,r,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t=e.map(function(e){return c({},F.createGenericFields(),e)});return[4,n.collection.insertMany(t)];case 1:r=u.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,n.collection.findOne(e)];case 1:t=s.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0,message:"Documents retrieved successfully"};return[4,n.collection.find(e).toArray()];case 1:return[2,(t.result=s.sent(),t)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0,message:"Count retrieved successfully"};return[4,n.collection.countDocuments(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,n){var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateOne(e,{$set:n})];case 1:t=u.sent();return[2,t.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:t}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,n){var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateMany(e,{$set:n})];case 1:t=u.sent();return[2,t.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:t}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,n.collection.deleteOne(e)];case 1:t=s.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,n.collection.deleteMany(e)];case 1:t=s.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}(),q=/*#__PURE__*/function(){function e(t){n(this,e);this.model=t}s(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return t(function(){var t,a,c;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);t=u.model.findOne(e,n,r);s&&t.populate(s);return[4,t.exec()];case 1:a=o.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(u.getModelName()," found."),code:b.NOT_FOUND.CODE}];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return t(function(){var t,a,c;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);t=u.model.find(e,n,r);s&&t.populate(s);a={success:!0};return[4,t.exec()];case 1:return[2,(a.result=o.sent(),a)];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,r.model.paginate(e,n)];case 1:return[2,(t.result=u.sent(),t)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,r.model.aggregatePaginate(r.model.aggregate(e),n)];case 1:return[2,(t.result=u.sent(),t)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0};return[4,n.model.countDocuments(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0};return[4,n.model.create(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,r.model.insertMany(e,n)];case 1:return[2,(t.result=u.sent().map(function(e){return a(e,T.Document)?e.toObject():null}).filter(function(e){return e!==null}),t)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return t(function(){var t,u;return d(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,s.model.findOneAndUpdate(e,n,c({new:!0},r)).exec()];case 1:t=a.sent();return[2,t?{success:!0,result:t}:{success:!1,message:"Failed to update ".concat(s.getModelName(),"."),code:b.NOT_FOUND.CODE}];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return t(function(){var t,u;return d(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);t={success:!0};return[4,s.model.updateMany(e,n,r).exec()];case 1:return[2,(t.result=a.sent(),t)];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.findOneAndDelete(e,n).exec()];case 1:t=u.sent();return[2,t?{success:!0,result:t}:{success:!1,message:"No ".concat(r.getModelName()," found to delete."),code:b.NOT_FOUND.CODE}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,s;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.deleteMany(e,n).exec()];case 1:t=u.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents found to delete.",code:b.NOT_FOUND.CODE}:{success:!0,result:t}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var r=this;return t(function(){var t,s,u,a;return d(this,function(c){switch(c.label){case 0:t=new Set;s=0;c.label=1;case 1:if(!(s<10))return[3,5];u=U(e,s+n);a=!t.has(u);if(!a)return[3,3];t.add(u);return[4,r.model.exists({shortId:u})];case 2:a=!c.sent();c.label=3;case 3:if(a)return[2,{success:!0,result:u}];c.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:b.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return t(function(){var u,a,c,o,i,l,E,O,h,g,S;return d(this,function(v){switch(v.label){case 0:v.trys.push([0,8,,9]);u=n[e],a=/*#__PURE__*/function(){var e=t(function(e){var t,u,a;return d(this,function(c){switch(c.label){case 0:return[4,s.model.findOne(F.createSlugQuery(e,r,n.id))];case 1:t=c.sent();if(!t)return[2,e];u=1;c.label=2;case 2:a="".concat(e,"-").concat(u);return[4,s.model.findOne(F.createSlugQuery(a,r,n.id))];case 3:t=c.sent(),u++;c.label=4;case 4:if(t)return[3,2];c.label=5;case 5:return[2,a]}})});return function t(t){return e.apply(this,arguments)}}();if(!((typeof u==="undefined"?"undefined":f(u))=="object"))return[3,5];c={};o=[];for(i in u)o.push(i);l=0;v.label=1;case 1:if(!(l<o.length))return[3,4];E=o[l];O=w(u[E]);return[4,a(O)];case 2:c[E]=v.sent();v.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:c}];case 5:h=w(u);g={success:!0};return[4,a(h)];case 6:return[2,(g.result=v.sent(),g)];case 7:return[3,9];case 8:S=v.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(S.message),code:b.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var n=this;return t(function(){var t,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0};return[4,n.model.aggregate(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:b.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();0&&(module.exports={MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});
|
|
1
|
+
"use strict";
|
|
2
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
3
|
+
try {
|
|
4
|
+
var info = gen[key](arg);
|
|
5
|
+
var value = info.value;
|
|
6
|
+
} catch (error) {
|
|
7
|
+
reject(error);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (info.done) {
|
|
11
|
+
resolve(value);
|
|
12
|
+
} else {
|
|
13
|
+
Promise.resolve(value).then(_next, _throw);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function _async_to_generator(fn) {
|
|
17
|
+
return function() {
|
|
18
|
+
var self = this, args = arguments;
|
|
19
|
+
return new Promise(function(resolve, reject) {
|
|
20
|
+
var gen = fn.apply(self, args);
|
|
21
|
+
function _next(value) {
|
|
22
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
23
|
+
}
|
|
24
|
+
function _throw(err) {
|
|
25
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
26
|
+
}
|
|
27
|
+
_next(undefined);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function _class_call_check(instance, Constructor) {
|
|
32
|
+
if (!(instance instanceof Constructor)) {
|
|
33
|
+
throw new TypeError("Cannot call a class as a function");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function _defineProperties(target, props) {
|
|
37
|
+
for(var i = 0; i < props.length; i++){
|
|
38
|
+
var descriptor = props[i];
|
|
39
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
40
|
+
descriptor.configurable = true;
|
|
41
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
42
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
46
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
47
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
48
|
+
return Constructor;
|
|
49
|
+
}
|
|
50
|
+
function _define_property(obj, key, value) {
|
|
51
|
+
if (key in obj) {
|
|
52
|
+
Object.defineProperty(obj, key, {
|
|
53
|
+
value: value,
|
|
54
|
+
enumerable: true,
|
|
55
|
+
configurable: true,
|
|
56
|
+
writable: true
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
obj[key] = value;
|
|
60
|
+
}
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
63
|
+
function _instanceof(left, right) {
|
|
64
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
65
|
+
return !!right[Symbol.hasInstance](left);
|
|
66
|
+
} else {
|
|
67
|
+
return left instanceof right;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function _object_spread(target) {
|
|
71
|
+
for(var i = 1; i < arguments.length; i++){
|
|
72
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
73
|
+
var ownKeys = Object.keys(source);
|
|
74
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
75
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
76
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
ownKeys.forEach(function(key) {
|
|
80
|
+
_define_property(target, key, source[key]);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return target;
|
|
84
|
+
}
|
|
85
|
+
function ownKeys(object, enumerableOnly) {
|
|
86
|
+
var keys = Object.keys(object);
|
|
87
|
+
if (Object.getOwnPropertySymbols) {
|
|
88
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
89
|
+
if (enumerableOnly) {
|
|
90
|
+
symbols = symbols.filter(function(sym) {
|
|
91
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
keys.push.apply(keys, symbols);
|
|
95
|
+
}
|
|
96
|
+
return keys;
|
|
97
|
+
}
|
|
98
|
+
function _object_spread_props(target, source) {
|
|
99
|
+
source = source != null ? source : {};
|
|
100
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
101
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
102
|
+
} else {
|
|
103
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
104
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return target;
|
|
108
|
+
}
|
|
109
|
+
function _object_without_properties(source, excluded) {
|
|
110
|
+
if (source == null) return {};
|
|
111
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
112
|
+
var key, i;
|
|
113
|
+
if (Object.getOwnPropertySymbols) {
|
|
114
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
115
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
116
|
+
key = sourceSymbolKeys[i];
|
|
117
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
118
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
119
|
+
target[key] = source[key];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return target;
|
|
123
|
+
}
|
|
124
|
+
function _object_without_properties_loose(source, excluded) {
|
|
125
|
+
if (source == null) return {};
|
|
126
|
+
var target = {};
|
|
127
|
+
var sourceKeys = Object.keys(source);
|
|
128
|
+
var key, i;
|
|
129
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
130
|
+
key = sourceKeys[i];
|
|
131
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
132
|
+
target[key] = source[key];
|
|
133
|
+
}
|
|
134
|
+
return target;
|
|
135
|
+
}
|
|
136
|
+
function _type_of(obj) {
|
|
137
|
+
"@swc/helpers - typeof";
|
|
138
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
139
|
+
}
|
|
140
|
+
function _ts_generator(thisArg, body) {
|
|
141
|
+
var f, y, t, g, _ = {
|
|
142
|
+
label: 0,
|
|
143
|
+
sent: function() {
|
|
144
|
+
if (t[0] & 1) throw t[1];
|
|
145
|
+
return t[1];
|
|
146
|
+
},
|
|
147
|
+
trys: [],
|
|
148
|
+
ops: []
|
|
149
|
+
};
|
|
150
|
+
return g = {
|
|
151
|
+
next: verb(0),
|
|
152
|
+
"throw": verb(1),
|
|
153
|
+
"return": verb(2)
|
|
154
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
155
|
+
return this;
|
|
156
|
+
}), g;
|
|
157
|
+
function verb(n) {
|
|
158
|
+
return function(v) {
|
|
159
|
+
return step([
|
|
160
|
+
n,
|
|
161
|
+
v
|
|
162
|
+
]);
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
function step(op) {
|
|
166
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
167
|
+
while(_)try {
|
|
168
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
169
|
+
if (y = 0, t) op = [
|
|
170
|
+
op[0] & 2,
|
|
171
|
+
t.value
|
|
172
|
+
];
|
|
173
|
+
switch(op[0]){
|
|
174
|
+
case 0:
|
|
175
|
+
case 1:
|
|
176
|
+
t = op;
|
|
177
|
+
break;
|
|
178
|
+
case 4:
|
|
179
|
+
_.label++;
|
|
180
|
+
return {
|
|
181
|
+
value: op[1],
|
|
182
|
+
done: false
|
|
183
|
+
};
|
|
184
|
+
case 5:
|
|
185
|
+
_.label++;
|
|
186
|
+
y = op[1];
|
|
187
|
+
op = [
|
|
188
|
+
0
|
|
189
|
+
];
|
|
190
|
+
continue;
|
|
191
|
+
case 7:
|
|
192
|
+
op = _.ops.pop();
|
|
193
|
+
_.trys.pop();
|
|
194
|
+
continue;
|
|
195
|
+
default:
|
|
196
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
197
|
+
_ = 0;
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
201
|
+
_.label = op[1];
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
205
|
+
_.label = t[1];
|
|
206
|
+
t = op;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
if (t && _.label < t[2]) {
|
|
210
|
+
_.label = t[2];
|
|
211
|
+
_.ops.push(op);
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
if (t[2]) _.ops.pop();
|
|
215
|
+
_.trys.pop();
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
op = body.call(thisArg, _);
|
|
219
|
+
} catch (e) {
|
|
220
|
+
op = [
|
|
221
|
+
6,
|
|
222
|
+
e
|
|
223
|
+
];
|
|
224
|
+
y = 0;
|
|
225
|
+
} finally{
|
|
226
|
+
f = t = 0;
|
|
227
|
+
}
|
|
228
|
+
if (op[0] & 5) throw op[1];
|
|
229
|
+
return {
|
|
230
|
+
value: op[0] ? op[1] : void 0,
|
|
231
|
+
done: true
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
var __create = Object.create;
|
|
236
|
+
var __defProp = Object.defineProperty;
|
|
237
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
238
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
239
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
240
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
241
|
+
var __export = function(target, all) {
|
|
242
|
+
for(var name in all)__defProp(target, name, {
|
|
243
|
+
get: all[name],
|
|
244
|
+
enumerable: true
|
|
245
|
+
});
|
|
246
|
+
};
|
|
247
|
+
var __copyProps = function(to, from, except, desc) {
|
|
248
|
+
if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
|
|
249
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
250
|
+
try {
|
|
251
|
+
var _loop = function() {
|
|
252
|
+
var key = _step.value;
|
|
253
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
254
|
+
get: function() {
|
|
255
|
+
return from[key];
|
|
256
|
+
},
|
|
257
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
261
|
+
} catch (err) {
|
|
262
|
+
_didIteratorError = true;
|
|
263
|
+
_iteratorError = err;
|
|
264
|
+
} finally{
|
|
265
|
+
try {
|
|
266
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
267
|
+
_iterator.return();
|
|
268
|
+
}
|
|
269
|
+
} finally{
|
|
270
|
+
if (_didIteratorError) {
|
|
271
|
+
throw _iteratorError;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return to;
|
|
277
|
+
};
|
|
278
|
+
var __toESM = function(mod, isNodeMode, target) {
|
|
279
|
+
return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
|
|
280
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
281
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
282
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
283
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
284
|
+
value: mod,
|
|
285
|
+
enumerable: true
|
|
286
|
+
}) : target, mod);
|
|
287
|
+
};
|
|
288
|
+
var __toCommonJS = function(mod) {
|
|
289
|
+
return __copyProps(__defProp({}, "__esModule", {
|
|
290
|
+
value: true
|
|
291
|
+
}), mod);
|
|
292
|
+
};
|
|
293
|
+
// src/nodejs/index.ts
|
|
294
|
+
var nodejs_exports = {};
|
|
295
|
+
__export(nodejs_exports, {
|
|
296
|
+
MongoController: function() {
|
|
297
|
+
return MongoController;
|
|
298
|
+
},
|
|
299
|
+
MongooseController: function() {
|
|
300
|
+
return MongooseController;
|
|
301
|
+
},
|
|
302
|
+
aggregatePaginate: function() {
|
|
303
|
+
return import_mongoose_aggregate_paginate_v2.default;
|
|
304
|
+
},
|
|
305
|
+
mongo: function() {
|
|
306
|
+
return mongo;
|
|
307
|
+
},
|
|
308
|
+
mongoosePaginate: function() {
|
|
309
|
+
return import_mongoose_paginate_v2.default;
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
module.exports = __toCommonJS(nodejs_exports);
|
|
313
|
+
// src/nodejs/mongo.ts
|
|
314
|
+
var import_date_fns = require("date-fns");
|
|
315
|
+
var import_mongoose = require("mongoose");
|
|
316
|
+
var import_mongoose_aggregate_paginate_v2 = __toESM(require("mongoose-aggregate-paginate-v2"), 1);
|
|
317
|
+
var import_mongoose_paginate_v2 = __toESM(require("mongoose-paginate-v2"), 1);
|
|
318
|
+
var import_uuid = require("uuid");
|
|
319
|
+
// src/constants/response-status.ts
|
|
320
|
+
var RESPONSE_STATUS = {
|
|
321
|
+
GRAPHQL_PARSE_FAILED: {
|
|
322
|
+
CODE: "GRAPHQL_PARSE_FAILED",
|
|
323
|
+
MESSAGE: "The GraphQL operation string contains a syntax error."
|
|
324
|
+
},
|
|
325
|
+
GRAPHQL_VALIDATION_FAILED: {
|
|
326
|
+
CODE: "GRAPHQL_VALIDATION_FAILED",
|
|
327
|
+
MESSAGE: "The GraphQL operation is not valid against the server's schema."
|
|
328
|
+
},
|
|
329
|
+
BAD_USER_INPUT: {
|
|
330
|
+
CODE: "BAD_USER_INPUT",
|
|
331
|
+
MESSAGE: "The GraphQL operation includes an invalid value for a field argument."
|
|
332
|
+
},
|
|
333
|
+
PERSISTED_QUERY_NOT_FOUND: {
|
|
334
|
+
CODE: "PERSISTED_QUERY_NOT_FOUND",
|
|
335
|
+
MESSAGE: "A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."
|
|
336
|
+
},
|
|
337
|
+
PERSISTED_QUERY_NOT_SUPPORTED: {
|
|
338
|
+
CODE: "PERSISTED_QUERY_NOT_SUPPORTED",
|
|
339
|
+
MESSAGE: "A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."
|
|
340
|
+
},
|
|
341
|
+
OPERATION_RESOLUTION_FAILURE: {
|
|
342
|
+
CODE: "OPERATION_RESOLUTION_FAILURE",
|
|
343
|
+
MESSAGE: "The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."
|
|
344
|
+
},
|
|
345
|
+
CONTINUE: {
|
|
346
|
+
CODE: 100,
|
|
347
|
+
MESSAGE: "Continue"
|
|
348
|
+
},
|
|
349
|
+
SWITCHING_PROTOCOLS: {
|
|
350
|
+
CODE: 101,
|
|
351
|
+
MESSAGE: "Switching Protocols"
|
|
352
|
+
},
|
|
353
|
+
PROCESSING: {
|
|
354
|
+
CODE: 102,
|
|
355
|
+
MESSAGE: "Processing"
|
|
356
|
+
},
|
|
357
|
+
OK: {
|
|
358
|
+
CODE: 200,
|
|
359
|
+
MESSAGE: "OK"
|
|
360
|
+
},
|
|
361
|
+
CREATED: {
|
|
362
|
+
CODE: 201,
|
|
363
|
+
MESSAGE: "Created"
|
|
364
|
+
},
|
|
365
|
+
ACCEPTED: {
|
|
366
|
+
CODE: 202,
|
|
367
|
+
MESSAGE: "Accepted"
|
|
368
|
+
},
|
|
369
|
+
NON_AUTHORITATIVE_INFORMATION: {
|
|
370
|
+
CODE: 203,
|
|
371
|
+
MESSAGE: "Non Authoritative Information"
|
|
372
|
+
},
|
|
373
|
+
NO_CONTENT: {
|
|
374
|
+
CODE: 204,
|
|
375
|
+
MESSAGE: "No Content"
|
|
376
|
+
},
|
|
377
|
+
RESET_CONTENT: {
|
|
378
|
+
CODE: 205,
|
|
379
|
+
MESSAGE: "Reset Content"
|
|
380
|
+
},
|
|
381
|
+
PARTIAL_CONTENT: {
|
|
382
|
+
CODE: 206,
|
|
383
|
+
MESSAGE: "Partial Content"
|
|
384
|
+
},
|
|
385
|
+
MULTI_STATUS: {
|
|
386
|
+
CODE: 207,
|
|
387
|
+
MESSAGE: "Multi-Status"
|
|
388
|
+
},
|
|
389
|
+
MULTIPLE_CHOICES: {
|
|
390
|
+
CODE: 300,
|
|
391
|
+
MESSAGE: "Multiple Choices"
|
|
392
|
+
},
|
|
393
|
+
MOVED_PERMANENTLY: {
|
|
394
|
+
CODE: 301,
|
|
395
|
+
MESSAGE: "Moved Permanently"
|
|
396
|
+
},
|
|
397
|
+
MOVED_TEMPORARILY: {
|
|
398
|
+
CODE: 302,
|
|
399
|
+
MESSAGE: "Moved Temporarily"
|
|
400
|
+
},
|
|
401
|
+
SEE_OTHER: {
|
|
402
|
+
CODE: 303,
|
|
403
|
+
MESSAGE: "See Other"
|
|
404
|
+
},
|
|
405
|
+
NOT_MODIFIED: {
|
|
406
|
+
CODE: 304,
|
|
407
|
+
MESSAGE: "Not Modified"
|
|
408
|
+
},
|
|
409
|
+
USE_PROXY: {
|
|
410
|
+
CODE: 305,
|
|
411
|
+
MESSAGE: "Use Proxy"
|
|
412
|
+
},
|
|
413
|
+
TEMPORARY_REDIRECT: {
|
|
414
|
+
CODE: 307,
|
|
415
|
+
MESSAGE: "Temporary Redirect"
|
|
416
|
+
},
|
|
417
|
+
PERMANENT_REDIRECT: {
|
|
418
|
+
CODE: 308,
|
|
419
|
+
MESSAGE: "Permanent Redirect"
|
|
420
|
+
},
|
|
421
|
+
BAD_REQUEST: {
|
|
422
|
+
CODE: 400,
|
|
423
|
+
MESSAGE: "Bad Request"
|
|
424
|
+
},
|
|
425
|
+
UNAUTHORIZED: {
|
|
426
|
+
CODE: 401,
|
|
427
|
+
MESSAGE: "Unauthorized"
|
|
428
|
+
},
|
|
429
|
+
PAYMENT_REQUIRED: {
|
|
430
|
+
CODE: 402,
|
|
431
|
+
MESSAGE: "Payment Required"
|
|
432
|
+
},
|
|
433
|
+
FORBIDDEN: {
|
|
434
|
+
CODE: 403,
|
|
435
|
+
MESSAGE: "Forbidden"
|
|
436
|
+
},
|
|
437
|
+
NOT_FOUND: {
|
|
438
|
+
CODE: 404,
|
|
439
|
+
MESSAGE: "Not Found"
|
|
440
|
+
},
|
|
441
|
+
METHOD_NOT_ALLOWED: {
|
|
442
|
+
CODE: 405,
|
|
443
|
+
MESSAGE: "Method Not Allowed"
|
|
444
|
+
},
|
|
445
|
+
NOT_ACCEPTABLE: {
|
|
446
|
+
CODE: 406,
|
|
447
|
+
MESSAGE: "Not Acceptable"
|
|
448
|
+
},
|
|
449
|
+
PROXY_AUTHENTICATION_REQUIRED: {
|
|
450
|
+
CODE: 407,
|
|
451
|
+
MESSAGE: "Proxy Authentication Required"
|
|
452
|
+
},
|
|
453
|
+
REQUEST_TIMEOUT: {
|
|
454
|
+
CODE: 408,
|
|
455
|
+
MESSAGE: "Request Timeout"
|
|
456
|
+
},
|
|
457
|
+
CONFLICT: {
|
|
458
|
+
CODE: 409,
|
|
459
|
+
MESSAGE: "Conflict"
|
|
460
|
+
},
|
|
461
|
+
GONE: {
|
|
462
|
+
CODE: 410,
|
|
463
|
+
MESSAGE: "Gone"
|
|
464
|
+
},
|
|
465
|
+
LENGTH_REQUIRED: {
|
|
466
|
+
CODE: 411,
|
|
467
|
+
MESSAGE: "Length Required"
|
|
468
|
+
},
|
|
469
|
+
PRECONDITION_FAILED: {
|
|
470
|
+
CODE: 412,
|
|
471
|
+
MESSAGE: "Precondition Failed"
|
|
472
|
+
},
|
|
473
|
+
REQUEST_TOO_LONG: {
|
|
474
|
+
CODE: 413,
|
|
475
|
+
MESSAGE: "Request Entity Too Large"
|
|
476
|
+
},
|
|
477
|
+
REQUEST_URI_TOO_LONG: {
|
|
478
|
+
CODE: 414,
|
|
479
|
+
MESSAGE: "Request-URI Too Long"
|
|
480
|
+
},
|
|
481
|
+
UNSUPPORTED_MEDIA_TYPE: {
|
|
482
|
+
CODE: 415,
|
|
483
|
+
MESSAGE: "Unsupported Media Type"
|
|
484
|
+
},
|
|
485
|
+
REQUESTED_RANGE_NOT_SATISFIABLE: {
|
|
486
|
+
CODE: 416,
|
|
487
|
+
MESSAGE: "Requested Range Not Satisfiable"
|
|
488
|
+
},
|
|
489
|
+
EXPECTATION_FAILED: {
|
|
490
|
+
CODE: 417,
|
|
491
|
+
MESSAGE: "Expectation Failed"
|
|
492
|
+
},
|
|
493
|
+
IM_A_TEAPOT: {
|
|
494
|
+
CODE: 418,
|
|
495
|
+
MESSAGE: "I'm a teapot"
|
|
496
|
+
},
|
|
497
|
+
INSUFFICIENT_SPACE_ON_RESOURCE: {
|
|
498
|
+
CODE: 419,
|
|
499
|
+
MESSAGE: "Insufficient Space on Resource"
|
|
500
|
+
},
|
|
501
|
+
METHOD_FAILURE: {
|
|
502
|
+
CODE: 420,
|
|
503
|
+
MESSAGE: "Method Failure"
|
|
504
|
+
},
|
|
505
|
+
MISDIRECTED_REQUEST: {
|
|
506
|
+
CODE: 421,
|
|
507
|
+
MESSAGE: "Misdirected Request"
|
|
508
|
+
},
|
|
509
|
+
UNPROCESSABLE_ENTITY: {
|
|
510
|
+
CODE: 422,
|
|
511
|
+
MESSAGE: "Unprocessable Entity"
|
|
512
|
+
},
|
|
513
|
+
LOCKED: {
|
|
514
|
+
CODE: 423,
|
|
515
|
+
MESSAGE: "Locked"
|
|
516
|
+
},
|
|
517
|
+
FAILED_DEPENDENCY: {
|
|
518
|
+
CODE: 424,
|
|
519
|
+
MESSAGE: "Failed Dependency"
|
|
520
|
+
},
|
|
521
|
+
PRECONDITION_REQUIRED: {
|
|
522
|
+
CODE: 428,
|
|
523
|
+
MESSAGE: "Precondition Required"
|
|
524
|
+
},
|
|
525
|
+
TOO_MANY_REQUESTS: {
|
|
526
|
+
CODE: 429,
|
|
527
|
+
MESSAGE: "Too Many Requests"
|
|
528
|
+
},
|
|
529
|
+
REQUEST_HEADER_FIELDS_TOO_LARGE: {
|
|
530
|
+
CODE: 431,
|
|
531
|
+
MESSAGE: "Request Header Fields Too Large"
|
|
532
|
+
},
|
|
533
|
+
UNAVAILABLE_FOR_LEGAL_REASONS: {
|
|
534
|
+
CODE: 451,
|
|
535
|
+
MESSAGE: "Unavailable For Legal Reasons"
|
|
536
|
+
},
|
|
537
|
+
INTERNAL_SERVER_ERROR: {
|
|
538
|
+
CODE: 500,
|
|
539
|
+
MESSAGE: "Internal Server Error"
|
|
540
|
+
},
|
|
541
|
+
NOT_IMPLEMENTED: {
|
|
542
|
+
CODE: 501,
|
|
543
|
+
MESSAGE: "Not Implemented"
|
|
544
|
+
},
|
|
545
|
+
BAD_GATEWAY: {
|
|
546
|
+
CODE: 502,
|
|
547
|
+
MESSAGE: "Bad Gateway"
|
|
548
|
+
},
|
|
549
|
+
SERVICE_UNAVAILABLE: {
|
|
550
|
+
CODE: 503,
|
|
551
|
+
MESSAGE: "Service Unavailable"
|
|
552
|
+
},
|
|
553
|
+
GATEWAY_TIMEOUT: {
|
|
554
|
+
CODE: 504,
|
|
555
|
+
MESSAGE: "Gateway Timeout"
|
|
556
|
+
},
|
|
557
|
+
HTTP_VERSION_NOT_SUPPORTED: {
|
|
558
|
+
CODE: 505,
|
|
559
|
+
MESSAGE: "HTTP Version Not Supported"
|
|
560
|
+
},
|
|
561
|
+
INSUFFICIENT_STORAGE: {
|
|
562
|
+
CODE: 507,
|
|
563
|
+
MESSAGE: "Insufficient Storage"
|
|
564
|
+
},
|
|
565
|
+
NETWORK_AUTHENTICATION_REQUIRED: {
|
|
566
|
+
CODE: 511,
|
|
567
|
+
MESSAGE: "Network Authentication Required"
|
|
568
|
+
}
|
|
569
|
+
};
|
|
570
|
+
// src/utils/string.ts
|
|
571
|
+
var import_crypto_js = __toESM(require("crypto-js"), 1);
|
|
572
|
+
var import_slugify = __toESM(require("slugify"), 1);
|
|
573
|
+
var slugify = import_slugify.default.default || import_slugify.default;
|
|
574
|
+
function generateSlug() {
|
|
575
|
+
var str = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", options = arguments.length > 1 ? arguments[1] : void 0;
|
|
576
|
+
var _ref = options || {}, _ref_lower = _ref.lower, lower = _ref_lower === void 0 ? true : _ref_lower, _ref_locale = _ref.locale, locale = _ref_locale === void 0 ? "vi" : _ref_locale, rest = _object_without_properties(_ref, [
|
|
577
|
+
"lower",
|
|
578
|
+
"locale"
|
|
579
|
+
]);
|
|
580
|
+
return slugify(str, _object_spread({
|
|
581
|
+
lower: lower,
|
|
582
|
+
locale: locale
|
|
583
|
+
}, rest));
|
|
584
|
+
}
|
|
585
|
+
function generateShortId(uuid) {
|
|
586
|
+
var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 4;
|
|
587
|
+
return import_crypto_js.default.SHA256(uuid).toString(import_crypto_js.default.enc.Hex).slice(0, length);
|
|
588
|
+
}
|
|
589
|
+
// src/utils/validate.ts
|
|
590
|
+
var validate = {
|
|
591
|
+
isEmpty: function isEmpty(value) {
|
|
592
|
+
if (value === null || value === void 0) {
|
|
593
|
+
return true;
|
|
594
|
+
}
|
|
595
|
+
if (Array.isArray(value)) {
|
|
596
|
+
return value.length === 0;
|
|
597
|
+
}
|
|
598
|
+
if ((typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
|
|
599
|
+
if (_instanceof(value, Date)) {
|
|
600
|
+
return false;
|
|
601
|
+
}
|
|
602
|
+
return Object.keys(value).length === 0;
|
|
603
|
+
}
|
|
604
|
+
if (typeof value === "string") {
|
|
605
|
+
return value.trim().length === 0;
|
|
606
|
+
}
|
|
607
|
+
return false;
|
|
608
|
+
}
|
|
609
|
+
};
|
|
610
|
+
// src/nodejs/mongo.ts
|
|
611
|
+
var mongo = {
|
|
612
|
+
getDateTime: function getDateTime() {
|
|
613
|
+
var now = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : /* @__PURE__ */ new Date();
|
|
614
|
+
return (0, import_date_fns.format)(now, "yyyy-MM-dd HH:mm:ss.SSS");
|
|
615
|
+
},
|
|
616
|
+
createGenericFields: function createGenericFields() {
|
|
617
|
+
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_returnDateAs = _ref.returnDateAs, returnDateAs = _ref_returnDateAs === void 0 ? "string" : _ref_returnDateAs;
|
|
618
|
+
var now = returnDateAs === "string" ? mongo.getDateTime() : /* @__PURE__ */ new Date();
|
|
619
|
+
return {
|
|
620
|
+
id: (0, import_uuid.v4)(),
|
|
621
|
+
isDel: false,
|
|
622
|
+
createdAt: now,
|
|
623
|
+
updatedAt: now
|
|
624
|
+
};
|
|
625
|
+
},
|
|
626
|
+
applyPlugins: function applyPlugins(schema, plugins) {
|
|
627
|
+
plugins.filter(function(plugin) {
|
|
628
|
+
return typeof plugin === "function";
|
|
629
|
+
}).forEach(function(plugin) {
|
|
630
|
+
return schema.plugin(plugin);
|
|
631
|
+
});
|
|
632
|
+
},
|
|
633
|
+
applyMiddlewares: function applyMiddlewares(schema, middlewares) {
|
|
634
|
+
middlewares.forEach(function(param) {
|
|
635
|
+
var method = param.method, pre = param.pre, post = param.post;
|
|
636
|
+
if (method && pre) {
|
|
637
|
+
schema.pre(method, pre);
|
|
638
|
+
}
|
|
639
|
+
if (method && post) {
|
|
640
|
+
schema.post(method, post);
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
},
|
|
644
|
+
createGenericSchema: function createGenericSchema(mongoose) {
|
|
645
|
+
return new mongoose.Schema({
|
|
646
|
+
id: {
|
|
647
|
+
type: String,
|
|
648
|
+
default: import_uuid.v4,
|
|
649
|
+
required: true,
|
|
650
|
+
unique: true
|
|
651
|
+
},
|
|
652
|
+
isDel: {
|
|
653
|
+
type: Boolean,
|
|
654
|
+
default: false,
|
|
655
|
+
required: true
|
|
656
|
+
}
|
|
657
|
+
}, {
|
|
658
|
+
timestamps: true
|
|
659
|
+
});
|
|
660
|
+
},
|
|
661
|
+
createSchema: function createSchema(param) {
|
|
662
|
+
var mongoose = param.mongoose, schema = param.schema, _param_virtuals = param.virtuals, virtuals = _param_virtuals === void 0 ? [] : _param_virtuals, _param_standalone = param.standalone, standalone = _param_standalone === void 0 ? false : _param_standalone;
|
|
663
|
+
var createdSchema = new mongoose.Schema(schema, {
|
|
664
|
+
strict: true
|
|
665
|
+
});
|
|
666
|
+
virtuals.forEach(function(param) {
|
|
667
|
+
var name = param.name, options = param.options, get = param.get;
|
|
668
|
+
var virtualInstance = createdSchema.virtual(name, options);
|
|
669
|
+
if (get) virtualInstance.get(get);
|
|
670
|
+
});
|
|
671
|
+
if (!standalone) {
|
|
672
|
+
createdSchema.add(mongo.createGenericSchema(mongoose));
|
|
673
|
+
}
|
|
674
|
+
return createdSchema;
|
|
675
|
+
},
|
|
676
|
+
createModel: function createModel(param) {
|
|
677
|
+
var currentMongooseInstance = param.mongoose, name = param.name, schema = param.schema, _param_pagination = param.pagination, pagination = _param_pagination === void 0 ? false : _param_pagination, _param_aggregate = param.aggregate, aggregate = _param_aggregate === void 0 ? false : _param_aggregate, _param_virtuals = param.virtuals, virtuals = _param_virtuals === void 0 ? [] : _param_virtuals, _param_middlewares = param.middlewares, middlewares = _param_middlewares === void 0 ? [] : _param_middlewares;
|
|
678
|
+
if (!name) {
|
|
679
|
+
throw new Error("Model name is required.");
|
|
680
|
+
}
|
|
681
|
+
if (currentMongooseInstance.models[name]) {
|
|
682
|
+
return currentMongooseInstance.models[name];
|
|
683
|
+
}
|
|
684
|
+
var createdSchema = mongo.createSchema({
|
|
685
|
+
mongoose: currentMongooseInstance,
|
|
686
|
+
schema: schema,
|
|
687
|
+
virtuals: virtuals
|
|
688
|
+
});
|
|
689
|
+
mongo.applyPlugins(createdSchema, [
|
|
690
|
+
pagination && import_mongoose_paginate_v2.default,
|
|
691
|
+
aggregate && import_mongoose_aggregate_paginate_v2.default
|
|
692
|
+
]);
|
|
693
|
+
mongo.applyMiddlewares(createdSchema, middlewares);
|
|
694
|
+
return currentMongooseInstance.model(name, createdSchema);
|
|
695
|
+
},
|
|
696
|
+
createSlugQuery: function createSlugQuery(slug) {
|
|
697
|
+
var filters = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, id = arguments.length > 2 ? arguments[2] : void 0;
|
|
698
|
+
return _object_spread_props(_object_spread({}, filters, id && {
|
|
699
|
+
id: {
|
|
700
|
+
$ne: id
|
|
701
|
+
}
|
|
702
|
+
}), {
|
|
703
|
+
$or: [
|
|
704
|
+
{
|
|
705
|
+
slug: slug
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
slugHistory: slug
|
|
709
|
+
}
|
|
710
|
+
]
|
|
711
|
+
});
|
|
712
|
+
},
|
|
713
|
+
validator: {
|
|
714
|
+
isEmpty: function isEmpty() {
|
|
715
|
+
return /*#__PURE__*/ function() {
|
|
716
|
+
var _ref = _async_to_generator(function(value) {
|
|
717
|
+
return _ts_generator(this, function(_state) {
|
|
718
|
+
return [
|
|
719
|
+
2,
|
|
720
|
+
!validate.isEmpty(value)
|
|
721
|
+
];
|
|
722
|
+
});
|
|
723
|
+
});
|
|
724
|
+
return function(value) {
|
|
725
|
+
return _ref.apply(this, arguments);
|
|
726
|
+
};
|
|
727
|
+
}();
|
|
728
|
+
},
|
|
729
|
+
isUnique: function isUnique(fields) {
|
|
730
|
+
return /*#__PURE__*/ function() {
|
|
731
|
+
var _ref = _async_to_generator(function(value) {
|
|
732
|
+
var query, existingDocument;
|
|
733
|
+
return _ts_generator(this, function(_state) {
|
|
734
|
+
switch(_state.label){
|
|
735
|
+
case 0:
|
|
736
|
+
if (!Array.isArray(fields) || fields.length === 0) {
|
|
737
|
+
throw new Error("Fields must be a non-empty array of strings.");
|
|
738
|
+
}
|
|
739
|
+
query = {
|
|
740
|
+
$or: fields.map(function(field) {
|
|
741
|
+
return _define_property({}, field, value);
|
|
742
|
+
})
|
|
743
|
+
};
|
|
744
|
+
return [
|
|
745
|
+
4,
|
|
746
|
+
this.constructor.findOne(query)
|
|
747
|
+
];
|
|
748
|
+
case 1:
|
|
749
|
+
existingDocument = _state.sent();
|
|
750
|
+
return [
|
|
751
|
+
2,
|
|
752
|
+
!existingDocument
|
|
753
|
+
];
|
|
754
|
+
}
|
|
755
|
+
});
|
|
756
|
+
});
|
|
757
|
+
return function(value) {
|
|
758
|
+
return _ref.apply(this, arguments);
|
|
759
|
+
};
|
|
760
|
+
}();
|
|
761
|
+
},
|
|
762
|
+
matchesRegex: function matchesRegex(regexArray) {
|
|
763
|
+
return /*#__PURE__*/ function() {
|
|
764
|
+
var _ref = _async_to_generator(function(value) {
|
|
765
|
+
return _ts_generator(this, function(_state) {
|
|
766
|
+
if (!Array.isArray(regexArray) || regexArray.some(function(r) {
|
|
767
|
+
return !_instanceof(r, RegExp);
|
|
768
|
+
})) {
|
|
769
|
+
throw new Error("regexArray must be an array of valid RegExp objects.");
|
|
770
|
+
}
|
|
771
|
+
return [
|
|
772
|
+
2,
|
|
773
|
+
regexArray.every(function(regex) {
|
|
774
|
+
return regex.test(value);
|
|
775
|
+
})
|
|
776
|
+
];
|
|
777
|
+
});
|
|
778
|
+
});
|
|
779
|
+
return function(value) {
|
|
780
|
+
return _ref.apply(this, arguments);
|
|
781
|
+
};
|
|
782
|
+
}();
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
};
|
|
786
|
+
var MongoController = /*#__PURE__*/ function() {
|
|
787
|
+
function MongoController(db, collectionName) {
|
|
788
|
+
_class_call_check(this, MongoController);
|
|
789
|
+
this.collection = db.collection(collectionName);
|
|
790
|
+
}
|
|
791
|
+
_create_class(MongoController, [
|
|
792
|
+
{
|
|
793
|
+
key: "createOne",
|
|
794
|
+
value: function createOne(document) {
|
|
795
|
+
var _this = this;
|
|
796
|
+
return _async_to_generator(function() {
|
|
797
|
+
var finalDocument, result, error;
|
|
798
|
+
return _ts_generator(this, function(_state) {
|
|
799
|
+
switch(_state.label){
|
|
800
|
+
case 0:
|
|
801
|
+
_state.trys.push([
|
|
802
|
+
0,
|
|
803
|
+
2,
|
|
804
|
+
,
|
|
805
|
+
3
|
|
806
|
+
]);
|
|
807
|
+
finalDocument = _object_spread({}, mongo.createGenericFields(), document);
|
|
808
|
+
return [
|
|
809
|
+
4,
|
|
810
|
+
_this.collection.insertOne(finalDocument)
|
|
811
|
+
];
|
|
812
|
+
case 1:
|
|
813
|
+
result = _state.sent();
|
|
814
|
+
return [
|
|
815
|
+
2,
|
|
816
|
+
{
|
|
817
|
+
success: true,
|
|
818
|
+
message: "Document created successfully",
|
|
819
|
+
result: result
|
|
820
|
+
}
|
|
821
|
+
];
|
|
822
|
+
case 2:
|
|
823
|
+
error = _state.sent();
|
|
824
|
+
return [
|
|
825
|
+
2,
|
|
826
|
+
{
|
|
827
|
+
success: false,
|
|
828
|
+
message: error.message
|
|
829
|
+
}
|
|
830
|
+
];
|
|
831
|
+
case 3:
|
|
832
|
+
return [
|
|
833
|
+
2
|
|
834
|
+
];
|
|
835
|
+
}
|
|
836
|
+
});
|
|
837
|
+
})();
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
key: "createMany",
|
|
842
|
+
value: function createMany(documents) {
|
|
843
|
+
var _this = this;
|
|
844
|
+
return _async_to_generator(function() {
|
|
845
|
+
var finalDocuments, result, error;
|
|
846
|
+
return _ts_generator(this, function(_state) {
|
|
847
|
+
switch(_state.label){
|
|
848
|
+
case 0:
|
|
849
|
+
_state.trys.push([
|
|
850
|
+
0,
|
|
851
|
+
2,
|
|
852
|
+
,
|
|
853
|
+
3
|
|
854
|
+
]);
|
|
855
|
+
finalDocuments = documents.map(function(document) {
|
|
856
|
+
return _object_spread({}, mongo.createGenericFields(), document);
|
|
857
|
+
});
|
|
858
|
+
return [
|
|
859
|
+
4,
|
|
860
|
+
_this.collection.insertMany(finalDocuments)
|
|
861
|
+
];
|
|
862
|
+
case 1:
|
|
863
|
+
result = _state.sent();
|
|
864
|
+
if (result.insertedCount === 0) {
|
|
865
|
+
return [
|
|
866
|
+
2,
|
|
867
|
+
{
|
|
868
|
+
success: false,
|
|
869
|
+
message: "No documents were inserted"
|
|
870
|
+
}
|
|
871
|
+
];
|
|
872
|
+
}
|
|
873
|
+
return [
|
|
874
|
+
2,
|
|
875
|
+
{
|
|
876
|
+
success: true,
|
|
877
|
+
message: "".concat(result.insertedCount, " documents created successfully"),
|
|
878
|
+
result: result
|
|
879
|
+
}
|
|
880
|
+
];
|
|
881
|
+
case 2:
|
|
882
|
+
error = _state.sent();
|
|
883
|
+
return [
|
|
884
|
+
2,
|
|
885
|
+
{
|
|
886
|
+
success: false,
|
|
887
|
+
message: error.message
|
|
888
|
+
}
|
|
889
|
+
];
|
|
890
|
+
case 3:
|
|
891
|
+
return [
|
|
892
|
+
2
|
|
893
|
+
];
|
|
894
|
+
}
|
|
895
|
+
});
|
|
896
|
+
})();
|
|
897
|
+
}
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
key: "findOne",
|
|
901
|
+
value: function findOne(filter) {
|
|
902
|
+
var _this = this;
|
|
903
|
+
return _async_to_generator(function() {
|
|
904
|
+
var result, error;
|
|
905
|
+
return _ts_generator(this, function(_state) {
|
|
906
|
+
switch(_state.label){
|
|
907
|
+
case 0:
|
|
908
|
+
_state.trys.push([
|
|
909
|
+
0,
|
|
910
|
+
2,
|
|
911
|
+
,
|
|
912
|
+
3
|
|
913
|
+
]);
|
|
914
|
+
return [
|
|
915
|
+
4,
|
|
916
|
+
_this.collection.findOne(filter)
|
|
917
|
+
];
|
|
918
|
+
case 1:
|
|
919
|
+
result = _state.sent();
|
|
920
|
+
if (!result) {
|
|
921
|
+
return [
|
|
922
|
+
2,
|
|
923
|
+
{
|
|
924
|
+
success: false,
|
|
925
|
+
message: "Document not found"
|
|
926
|
+
}
|
|
927
|
+
];
|
|
928
|
+
}
|
|
929
|
+
return [
|
|
930
|
+
2,
|
|
931
|
+
{
|
|
932
|
+
success: true,
|
|
933
|
+
message: "Document found",
|
|
934
|
+
result: result
|
|
935
|
+
}
|
|
936
|
+
];
|
|
937
|
+
case 2:
|
|
938
|
+
error = _state.sent();
|
|
939
|
+
return [
|
|
940
|
+
2,
|
|
941
|
+
{
|
|
942
|
+
success: false,
|
|
943
|
+
message: error.message
|
|
944
|
+
}
|
|
945
|
+
];
|
|
946
|
+
case 3:
|
|
947
|
+
return [
|
|
948
|
+
2
|
|
949
|
+
];
|
|
950
|
+
}
|
|
951
|
+
});
|
|
952
|
+
})();
|
|
953
|
+
}
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
key: "findAll",
|
|
957
|
+
value: function findAll() {
|
|
958
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
959
|
+
var _this = this;
|
|
960
|
+
return _async_to_generator(function() {
|
|
961
|
+
var result, error;
|
|
962
|
+
return _ts_generator(this, function(_state) {
|
|
963
|
+
switch(_state.label){
|
|
964
|
+
case 0:
|
|
965
|
+
_state.trys.push([
|
|
966
|
+
0,
|
|
967
|
+
2,
|
|
968
|
+
,
|
|
969
|
+
3
|
|
970
|
+
]);
|
|
971
|
+
return [
|
|
972
|
+
4,
|
|
973
|
+
_this.collection.find(filter).toArray()
|
|
974
|
+
];
|
|
975
|
+
case 1:
|
|
976
|
+
result = _state.sent();
|
|
977
|
+
return [
|
|
978
|
+
2,
|
|
979
|
+
{
|
|
980
|
+
success: true,
|
|
981
|
+
message: "Documents retrieved successfully",
|
|
982
|
+
result: result
|
|
983
|
+
}
|
|
984
|
+
];
|
|
985
|
+
case 2:
|
|
986
|
+
error = _state.sent();
|
|
987
|
+
return [
|
|
988
|
+
2,
|
|
989
|
+
{
|
|
990
|
+
success: false,
|
|
991
|
+
message: error.message
|
|
992
|
+
}
|
|
993
|
+
];
|
|
994
|
+
case 3:
|
|
995
|
+
return [
|
|
996
|
+
2
|
|
997
|
+
];
|
|
998
|
+
}
|
|
999
|
+
});
|
|
1000
|
+
})();
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
key: "count",
|
|
1005
|
+
value: function count() {
|
|
1006
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1007
|
+
var _this = this;
|
|
1008
|
+
return _async_to_generator(function() {
|
|
1009
|
+
var result, error;
|
|
1010
|
+
return _ts_generator(this, function(_state) {
|
|
1011
|
+
switch(_state.label){
|
|
1012
|
+
case 0:
|
|
1013
|
+
_state.trys.push([
|
|
1014
|
+
0,
|
|
1015
|
+
2,
|
|
1016
|
+
,
|
|
1017
|
+
3
|
|
1018
|
+
]);
|
|
1019
|
+
return [
|
|
1020
|
+
4,
|
|
1021
|
+
_this.collection.countDocuments(filter)
|
|
1022
|
+
];
|
|
1023
|
+
case 1:
|
|
1024
|
+
result = _state.sent();
|
|
1025
|
+
return [
|
|
1026
|
+
2,
|
|
1027
|
+
{
|
|
1028
|
+
success: true,
|
|
1029
|
+
message: "Count retrieved successfully",
|
|
1030
|
+
result: result
|
|
1031
|
+
}
|
|
1032
|
+
];
|
|
1033
|
+
case 2:
|
|
1034
|
+
error = _state.sent();
|
|
1035
|
+
return [
|
|
1036
|
+
2,
|
|
1037
|
+
{
|
|
1038
|
+
success: false,
|
|
1039
|
+
message: error.message
|
|
1040
|
+
}
|
|
1041
|
+
];
|
|
1042
|
+
case 3:
|
|
1043
|
+
return [
|
|
1044
|
+
2
|
|
1045
|
+
];
|
|
1046
|
+
}
|
|
1047
|
+
});
|
|
1048
|
+
})();
|
|
1049
|
+
}
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
key: "updateOne",
|
|
1053
|
+
value: function updateOne(filter, update) {
|
|
1054
|
+
var _this = this;
|
|
1055
|
+
return _async_to_generator(function() {
|
|
1056
|
+
var result, error;
|
|
1057
|
+
return _ts_generator(this, function(_state) {
|
|
1058
|
+
switch(_state.label){
|
|
1059
|
+
case 0:
|
|
1060
|
+
_state.trys.push([
|
|
1061
|
+
0,
|
|
1062
|
+
2,
|
|
1063
|
+
,
|
|
1064
|
+
3
|
|
1065
|
+
]);
|
|
1066
|
+
return [
|
|
1067
|
+
4,
|
|
1068
|
+
_this.collection.updateOne(filter, {
|
|
1069
|
+
$set: update
|
|
1070
|
+
})
|
|
1071
|
+
];
|
|
1072
|
+
case 1:
|
|
1073
|
+
result = _state.sent();
|
|
1074
|
+
if (result.matchedCount === 0) {
|
|
1075
|
+
return [
|
|
1076
|
+
2,
|
|
1077
|
+
{
|
|
1078
|
+
success: false,
|
|
1079
|
+
message: "No documents matched the filter"
|
|
1080
|
+
}
|
|
1081
|
+
];
|
|
1082
|
+
}
|
|
1083
|
+
return [
|
|
1084
|
+
2,
|
|
1085
|
+
{
|
|
1086
|
+
success: true,
|
|
1087
|
+
message: "Document updated successfully",
|
|
1088
|
+
result: result
|
|
1089
|
+
}
|
|
1090
|
+
];
|
|
1091
|
+
case 2:
|
|
1092
|
+
error = _state.sent();
|
|
1093
|
+
return [
|
|
1094
|
+
2,
|
|
1095
|
+
{
|
|
1096
|
+
success: false,
|
|
1097
|
+
message: error.message
|
|
1098
|
+
}
|
|
1099
|
+
];
|
|
1100
|
+
case 3:
|
|
1101
|
+
return [
|
|
1102
|
+
2
|
|
1103
|
+
];
|
|
1104
|
+
}
|
|
1105
|
+
});
|
|
1106
|
+
})();
|
|
1107
|
+
}
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
key: "updateMany",
|
|
1111
|
+
value: function updateMany(filter, update) {
|
|
1112
|
+
var _this = this;
|
|
1113
|
+
return _async_to_generator(function() {
|
|
1114
|
+
var result, error;
|
|
1115
|
+
return _ts_generator(this, function(_state) {
|
|
1116
|
+
switch(_state.label){
|
|
1117
|
+
case 0:
|
|
1118
|
+
_state.trys.push([
|
|
1119
|
+
0,
|
|
1120
|
+
2,
|
|
1121
|
+
,
|
|
1122
|
+
3
|
|
1123
|
+
]);
|
|
1124
|
+
return [
|
|
1125
|
+
4,
|
|
1126
|
+
_this.collection.updateMany(filter, {
|
|
1127
|
+
$set: update
|
|
1128
|
+
})
|
|
1129
|
+
];
|
|
1130
|
+
case 1:
|
|
1131
|
+
result = _state.sent();
|
|
1132
|
+
if (result.matchedCount === 0) {
|
|
1133
|
+
return [
|
|
1134
|
+
2,
|
|
1135
|
+
{
|
|
1136
|
+
success: false,
|
|
1137
|
+
message: "No documents matched the filter"
|
|
1138
|
+
}
|
|
1139
|
+
];
|
|
1140
|
+
}
|
|
1141
|
+
return [
|
|
1142
|
+
2,
|
|
1143
|
+
{
|
|
1144
|
+
success: true,
|
|
1145
|
+
message: "Documents updated successfully",
|
|
1146
|
+
result: result
|
|
1147
|
+
}
|
|
1148
|
+
];
|
|
1149
|
+
case 2:
|
|
1150
|
+
error = _state.sent();
|
|
1151
|
+
return [
|
|
1152
|
+
2,
|
|
1153
|
+
{
|
|
1154
|
+
success: false,
|
|
1155
|
+
message: error.message
|
|
1156
|
+
}
|
|
1157
|
+
];
|
|
1158
|
+
case 3:
|
|
1159
|
+
return [
|
|
1160
|
+
2
|
|
1161
|
+
];
|
|
1162
|
+
}
|
|
1163
|
+
});
|
|
1164
|
+
})();
|
|
1165
|
+
}
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
key: "deleteOne",
|
|
1169
|
+
value: function deleteOne(filter) {
|
|
1170
|
+
var _this = this;
|
|
1171
|
+
return _async_to_generator(function() {
|
|
1172
|
+
var result, error;
|
|
1173
|
+
return _ts_generator(this, function(_state) {
|
|
1174
|
+
switch(_state.label){
|
|
1175
|
+
case 0:
|
|
1176
|
+
_state.trys.push([
|
|
1177
|
+
0,
|
|
1178
|
+
2,
|
|
1179
|
+
,
|
|
1180
|
+
3
|
|
1181
|
+
]);
|
|
1182
|
+
return [
|
|
1183
|
+
4,
|
|
1184
|
+
_this.collection.deleteOne(filter)
|
|
1185
|
+
];
|
|
1186
|
+
case 1:
|
|
1187
|
+
result = _state.sent();
|
|
1188
|
+
if (result.deletedCount === 0) {
|
|
1189
|
+
return [
|
|
1190
|
+
2,
|
|
1191
|
+
{
|
|
1192
|
+
success: false,
|
|
1193
|
+
message: "No documents matched the filter"
|
|
1194
|
+
}
|
|
1195
|
+
];
|
|
1196
|
+
}
|
|
1197
|
+
return [
|
|
1198
|
+
2,
|
|
1199
|
+
{
|
|
1200
|
+
success: true,
|
|
1201
|
+
message: "Document deleted successfully",
|
|
1202
|
+
result: result
|
|
1203
|
+
}
|
|
1204
|
+
];
|
|
1205
|
+
case 2:
|
|
1206
|
+
error = _state.sent();
|
|
1207
|
+
return [
|
|
1208
|
+
2,
|
|
1209
|
+
{
|
|
1210
|
+
success: false,
|
|
1211
|
+
message: error.message
|
|
1212
|
+
}
|
|
1213
|
+
];
|
|
1214
|
+
case 3:
|
|
1215
|
+
return [
|
|
1216
|
+
2
|
|
1217
|
+
];
|
|
1218
|
+
}
|
|
1219
|
+
});
|
|
1220
|
+
})();
|
|
1221
|
+
}
|
|
1222
|
+
},
|
|
1223
|
+
{
|
|
1224
|
+
key: "deleteMany",
|
|
1225
|
+
value: function deleteMany(filter) {
|
|
1226
|
+
var _this = this;
|
|
1227
|
+
return _async_to_generator(function() {
|
|
1228
|
+
var result, error;
|
|
1229
|
+
return _ts_generator(this, function(_state) {
|
|
1230
|
+
switch(_state.label){
|
|
1231
|
+
case 0:
|
|
1232
|
+
_state.trys.push([
|
|
1233
|
+
0,
|
|
1234
|
+
2,
|
|
1235
|
+
,
|
|
1236
|
+
3
|
|
1237
|
+
]);
|
|
1238
|
+
return [
|
|
1239
|
+
4,
|
|
1240
|
+
_this.collection.deleteMany(filter)
|
|
1241
|
+
];
|
|
1242
|
+
case 1:
|
|
1243
|
+
result = _state.sent();
|
|
1244
|
+
if (result.deletedCount === 0) {
|
|
1245
|
+
return [
|
|
1246
|
+
2,
|
|
1247
|
+
{
|
|
1248
|
+
success: false,
|
|
1249
|
+
message: "No documents matched the filter"
|
|
1250
|
+
}
|
|
1251
|
+
];
|
|
1252
|
+
}
|
|
1253
|
+
return [
|
|
1254
|
+
2,
|
|
1255
|
+
{
|
|
1256
|
+
success: true,
|
|
1257
|
+
message: "Documents deleted successfully",
|
|
1258
|
+
result: result
|
|
1259
|
+
}
|
|
1260
|
+
];
|
|
1261
|
+
case 2:
|
|
1262
|
+
error = _state.sent();
|
|
1263
|
+
return [
|
|
1264
|
+
2,
|
|
1265
|
+
{
|
|
1266
|
+
success: false,
|
|
1267
|
+
message: error.message
|
|
1268
|
+
}
|
|
1269
|
+
];
|
|
1270
|
+
case 3:
|
|
1271
|
+
return [
|
|
1272
|
+
2
|
|
1273
|
+
];
|
|
1274
|
+
}
|
|
1275
|
+
});
|
|
1276
|
+
})();
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
]);
|
|
1280
|
+
return MongoController;
|
|
1281
|
+
}();
|
|
1282
|
+
var MongooseController = /*#__PURE__*/ function() {
|
|
1283
|
+
function MongooseController(model) {
|
|
1284
|
+
_class_call_check(this, MongooseController);
|
|
1285
|
+
this.model = model;
|
|
1286
|
+
}
|
|
1287
|
+
_create_class(MongooseController, [
|
|
1288
|
+
{
|
|
1289
|
+
key: "getModelName",
|
|
1290
|
+
value: function getModelName() {
|
|
1291
|
+
return this.model.modelName;
|
|
1292
|
+
}
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
key: "findOne",
|
|
1296
|
+
value: function findOne() {
|
|
1297
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, projection = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, populate = arguments.length > 3 ? arguments[3] : void 0;
|
|
1298
|
+
var _this = this;
|
|
1299
|
+
return _async_to_generator(function() {
|
|
1300
|
+
var query, result, error;
|
|
1301
|
+
return _ts_generator(this, function(_state) {
|
|
1302
|
+
switch(_state.label){
|
|
1303
|
+
case 0:
|
|
1304
|
+
_state.trys.push([
|
|
1305
|
+
0,
|
|
1306
|
+
2,
|
|
1307
|
+
,
|
|
1308
|
+
3
|
|
1309
|
+
]);
|
|
1310
|
+
query = _this.model.findOne(filter, projection, options);
|
|
1311
|
+
if (populate) {
|
|
1312
|
+
query.populate(populate);
|
|
1313
|
+
}
|
|
1314
|
+
return [
|
|
1315
|
+
4,
|
|
1316
|
+
query.exec()
|
|
1317
|
+
];
|
|
1318
|
+
case 1:
|
|
1319
|
+
result = _state.sent();
|
|
1320
|
+
if (!result) {
|
|
1321
|
+
return [
|
|
1322
|
+
2,
|
|
1323
|
+
{
|
|
1324
|
+
success: false,
|
|
1325
|
+
message: "No ".concat(_this.getModelName(), " found."),
|
|
1326
|
+
code: RESPONSE_STATUS.NOT_FOUND.CODE
|
|
1327
|
+
}
|
|
1328
|
+
];
|
|
1329
|
+
}
|
|
1330
|
+
return [
|
|
1331
|
+
2,
|
|
1332
|
+
{
|
|
1333
|
+
success: true,
|
|
1334
|
+
result: result
|
|
1335
|
+
}
|
|
1336
|
+
];
|
|
1337
|
+
case 2:
|
|
1338
|
+
error = _state.sent();
|
|
1339
|
+
return [
|
|
1340
|
+
2,
|
|
1341
|
+
{
|
|
1342
|
+
success: false,
|
|
1343
|
+
message: error.message,
|
|
1344
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1345
|
+
}
|
|
1346
|
+
];
|
|
1347
|
+
case 3:
|
|
1348
|
+
return [
|
|
1349
|
+
2
|
|
1350
|
+
];
|
|
1351
|
+
}
|
|
1352
|
+
});
|
|
1353
|
+
})();
|
|
1354
|
+
}
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
key: "findAll",
|
|
1358
|
+
value: function findAll() {
|
|
1359
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, projection = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, populate = arguments.length > 3 ? arguments[3] : void 0;
|
|
1360
|
+
var _this = this;
|
|
1361
|
+
return _async_to_generator(function() {
|
|
1362
|
+
var query, result, error;
|
|
1363
|
+
return _ts_generator(this, function(_state) {
|
|
1364
|
+
switch(_state.label){
|
|
1365
|
+
case 0:
|
|
1366
|
+
_state.trys.push([
|
|
1367
|
+
0,
|
|
1368
|
+
2,
|
|
1369
|
+
,
|
|
1370
|
+
3
|
|
1371
|
+
]);
|
|
1372
|
+
query = _this.model.find(filter, projection, options);
|
|
1373
|
+
if (populate) {
|
|
1374
|
+
query.populate(populate);
|
|
1375
|
+
}
|
|
1376
|
+
return [
|
|
1377
|
+
4,
|
|
1378
|
+
query.exec()
|
|
1379
|
+
];
|
|
1380
|
+
case 1:
|
|
1381
|
+
result = _state.sent();
|
|
1382
|
+
return [
|
|
1383
|
+
2,
|
|
1384
|
+
{
|
|
1385
|
+
success: true,
|
|
1386
|
+
result: result
|
|
1387
|
+
}
|
|
1388
|
+
];
|
|
1389
|
+
case 2:
|
|
1390
|
+
error = _state.sent();
|
|
1391
|
+
return [
|
|
1392
|
+
2,
|
|
1393
|
+
{
|
|
1394
|
+
success: false,
|
|
1395
|
+
message: error.message,
|
|
1396
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1397
|
+
}
|
|
1398
|
+
];
|
|
1399
|
+
case 3:
|
|
1400
|
+
return [
|
|
1401
|
+
2
|
|
1402
|
+
];
|
|
1403
|
+
}
|
|
1404
|
+
});
|
|
1405
|
+
})();
|
|
1406
|
+
}
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
key: "findPaging",
|
|
1410
|
+
value: function findPaging() {
|
|
1411
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1412
|
+
var _this = this;
|
|
1413
|
+
return _async_to_generator(function() {
|
|
1414
|
+
var result, error;
|
|
1415
|
+
return _ts_generator(this, function(_state) {
|
|
1416
|
+
switch(_state.label){
|
|
1417
|
+
case 0:
|
|
1418
|
+
_state.trys.push([
|
|
1419
|
+
0,
|
|
1420
|
+
2,
|
|
1421
|
+
,
|
|
1422
|
+
3
|
|
1423
|
+
]);
|
|
1424
|
+
return [
|
|
1425
|
+
4,
|
|
1426
|
+
_this.model.paginate(filter, options)
|
|
1427
|
+
];
|
|
1428
|
+
case 1:
|
|
1429
|
+
result = _state.sent();
|
|
1430
|
+
return [
|
|
1431
|
+
2,
|
|
1432
|
+
{
|
|
1433
|
+
success: true,
|
|
1434
|
+
result: result
|
|
1435
|
+
}
|
|
1436
|
+
];
|
|
1437
|
+
case 2:
|
|
1438
|
+
error = _state.sent();
|
|
1439
|
+
return [
|
|
1440
|
+
2,
|
|
1441
|
+
{
|
|
1442
|
+
success: false,
|
|
1443
|
+
message: error.message,
|
|
1444
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1445
|
+
}
|
|
1446
|
+
];
|
|
1447
|
+
case 3:
|
|
1448
|
+
return [
|
|
1449
|
+
2
|
|
1450
|
+
];
|
|
1451
|
+
}
|
|
1452
|
+
});
|
|
1453
|
+
})();
|
|
1454
|
+
}
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
key: "findPagingAggregate",
|
|
1458
|
+
value: function findPagingAggregate(pipeline) {
|
|
1459
|
+
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1460
|
+
var _this = this;
|
|
1461
|
+
return _async_to_generator(function() {
|
|
1462
|
+
var result, error;
|
|
1463
|
+
return _ts_generator(this, function(_state) {
|
|
1464
|
+
switch(_state.label){
|
|
1465
|
+
case 0:
|
|
1466
|
+
_state.trys.push([
|
|
1467
|
+
0,
|
|
1468
|
+
2,
|
|
1469
|
+
,
|
|
1470
|
+
3
|
|
1471
|
+
]);
|
|
1472
|
+
return [
|
|
1473
|
+
4,
|
|
1474
|
+
_this.model.aggregatePaginate(_this.model.aggregate(pipeline), options)
|
|
1475
|
+
];
|
|
1476
|
+
case 1:
|
|
1477
|
+
result = _state.sent();
|
|
1478
|
+
return [
|
|
1479
|
+
2,
|
|
1480
|
+
{
|
|
1481
|
+
success: true,
|
|
1482
|
+
result: result
|
|
1483
|
+
}
|
|
1484
|
+
];
|
|
1485
|
+
case 2:
|
|
1486
|
+
error = _state.sent();
|
|
1487
|
+
return [
|
|
1488
|
+
2,
|
|
1489
|
+
{
|
|
1490
|
+
success: false,
|
|
1491
|
+
message: error.message,
|
|
1492
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1493
|
+
}
|
|
1494
|
+
];
|
|
1495
|
+
case 3:
|
|
1496
|
+
return [
|
|
1497
|
+
2
|
|
1498
|
+
];
|
|
1499
|
+
}
|
|
1500
|
+
});
|
|
1501
|
+
})();
|
|
1502
|
+
}
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
key: "count",
|
|
1506
|
+
value: function count() {
|
|
1507
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1508
|
+
var _this = this;
|
|
1509
|
+
return _async_to_generator(function() {
|
|
1510
|
+
var result, error;
|
|
1511
|
+
return _ts_generator(this, function(_state) {
|
|
1512
|
+
switch(_state.label){
|
|
1513
|
+
case 0:
|
|
1514
|
+
_state.trys.push([
|
|
1515
|
+
0,
|
|
1516
|
+
2,
|
|
1517
|
+
,
|
|
1518
|
+
3
|
|
1519
|
+
]);
|
|
1520
|
+
return [
|
|
1521
|
+
4,
|
|
1522
|
+
_this.model.countDocuments(filter)
|
|
1523
|
+
];
|
|
1524
|
+
case 1:
|
|
1525
|
+
result = _state.sent();
|
|
1526
|
+
return [
|
|
1527
|
+
2,
|
|
1528
|
+
{
|
|
1529
|
+
success: true,
|
|
1530
|
+
result: result
|
|
1531
|
+
}
|
|
1532
|
+
];
|
|
1533
|
+
case 2:
|
|
1534
|
+
error = _state.sent();
|
|
1535
|
+
return [
|
|
1536
|
+
2,
|
|
1537
|
+
{
|
|
1538
|
+
success: false,
|
|
1539
|
+
message: error.message,
|
|
1540
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1541
|
+
}
|
|
1542
|
+
];
|
|
1543
|
+
case 3:
|
|
1544
|
+
return [
|
|
1545
|
+
2
|
|
1546
|
+
];
|
|
1547
|
+
}
|
|
1548
|
+
});
|
|
1549
|
+
})();
|
|
1550
|
+
}
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
key: "createOne",
|
|
1554
|
+
value: function createOne(doc) {
|
|
1555
|
+
var _this = this;
|
|
1556
|
+
return _async_to_generator(function() {
|
|
1557
|
+
var result, error;
|
|
1558
|
+
return _ts_generator(this, function(_state) {
|
|
1559
|
+
switch(_state.label){
|
|
1560
|
+
case 0:
|
|
1561
|
+
_state.trys.push([
|
|
1562
|
+
0,
|
|
1563
|
+
2,
|
|
1564
|
+
,
|
|
1565
|
+
3
|
|
1566
|
+
]);
|
|
1567
|
+
return [
|
|
1568
|
+
4,
|
|
1569
|
+
_this.model.create(doc)
|
|
1570
|
+
];
|
|
1571
|
+
case 1:
|
|
1572
|
+
result = _state.sent();
|
|
1573
|
+
return [
|
|
1574
|
+
2,
|
|
1575
|
+
{
|
|
1576
|
+
success: true,
|
|
1577
|
+
result: result
|
|
1578
|
+
}
|
|
1579
|
+
];
|
|
1580
|
+
case 2:
|
|
1581
|
+
error = _state.sent();
|
|
1582
|
+
return [
|
|
1583
|
+
2,
|
|
1584
|
+
{
|
|
1585
|
+
success: false,
|
|
1586
|
+
message: error.message,
|
|
1587
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1588
|
+
}
|
|
1589
|
+
];
|
|
1590
|
+
case 3:
|
|
1591
|
+
return [
|
|
1592
|
+
2
|
|
1593
|
+
];
|
|
1594
|
+
}
|
|
1595
|
+
});
|
|
1596
|
+
})();
|
|
1597
|
+
}
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
key: "createMany",
|
|
1601
|
+
value: function createMany(docs) {
|
|
1602
|
+
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1603
|
+
var _this = this;
|
|
1604
|
+
return _async_to_generator(function() {
|
|
1605
|
+
var createdDocuments, result, error;
|
|
1606
|
+
return _ts_generator(this, function(_state) {
|
|
1607
|
+
switch(_state.label){
|
|
1608
|
+
case 0:
|
|
1609
|
+
_state.trys.push([
|
|
1610
|
+
0,
|
|
1611
|
+
2,
|
|
1612
|
+
,
|
|
1613
|
+
3
|
|
1614
|
+
]);
|
|
1615
|
+
return [
|
|
1616
|
+
4,
|
|
1617
|
+
_this.model.insertMany(docs, options)
|
|
1618
|
+
];
|
|
1619
|
+
case 1:
|
|
1620
|
+
createdDocuments = _state.sent();
|
|
1621
|
+
result = createdDocuments.map(function(doc) {
|
|
1622
|
+
if (_instanceof(doc, import_mongoose.Document)) {
|
|
1623
|
+
return doc.toObject();
|
|
1624
|
+
}
|
|
1625
|
+
return null;
|
|
1626
|
+
}).filter(function(doc) {
|
|
1627
|
+
return doc !== null;
|
|
1628
|
+
});
|
|
1629
|
+
return [
|
|
1630
|
+
2,
|
|
1631
|
+
{
|
|
1632
|
+
success: true,
|
|
1633
|
+
result: result
|
|
1634
|
+
}
|
|
1635
|
+
];
|
|
1636
|
+
case 2:
|
|
1637
|
+
error = _state.sent();
|
|
1638
|
+
return [
|
|
1639
|
+
2,
|
|
1640
|
+
{
|
|
1641
|
+
success: false,
|
|
1642
|
+
message: error.message,
|
|
1643
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1644
|
+
}
|
|
1645
|
+
];
|
|
1646
|
+
case 3:
|
|
1647
|
+
return [
|
|
1648
|
+
2
|
|
1649
|
+
];
|
|
1650
|
+
}
|
|
1651
|
+
});
|
|
1652
|
+
})();
|
|
1653
|
+
}
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
key: "updateOne",
|
|
1657
|
+
value: function updateOne() {
|
|
1658
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, update = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
1659
|
+
var _this = this;
|
|
1660
|
+
return _async_to_generator(function() {
|
|
1661
|
+
var result, error;
|
|
1662
|
+
return _ts_generator(this, function(_state) {
|
|
1663
|
+
switch(_state.label){
|
|
1664
|
+
case 0:
|
|
1665
|
+
_state.trys.push([
|
|
1666
|
+
0,
|
|
1667
|
+
2,
|
|
1668
|
+
,
|
|
1669
|
+
3
|
|
1670
|
+
]);
|
|
1671
|
+
return [
|
|
1672
|
+
4,
|
|
1673
|
+
_this.model.findOneAndUpdate(filter, update, _object_spread({
|
|
1674
|
+
new: true
|
|
1675
|
+
}, options)).exec()
|
|
1676
|
+
];
|
|
1677
|
+
case 1:
|
|
1678
|
+
result = _state.sent();
|
|
1679
|
+
if (!result) {
|
|
1680
|
+
return [
|
|
1681
|
+
2,
|
|
1682
|
+
{
|
|
1683
|
+
success: false,
|
|
1684
|
+
message: "Failed to update ".concat(_this.getModelName(), "."),
|
|
1685
|
+
code: RESPONSE_STATUS.NOT_FOUND.CODE
|
|
1686
|
+
}
|
|
1687
|
+
];
|
|
1688
|
+
}
|
|
1689
|
+
return [
|
|
1690
|
+
2,
|
|
1691
|
+
{
|
|
1692
|
+
success: true,
|
|
1693
|
+
result: result
|
|
1694
|
+
}
|
|
1695
|
+
];
|
|
1696
|
+
case 2:
|
|
1697
|
+
error = _state.sent();
|
|
1698
|
+
return [
|
|
1699
|
+
2,
|
|
1700
|
+
{
|
|
1701
|
+
success: false,
|
|
1702
|
+
message: error.message,
|
|
1703
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1704
|
+
}
|
|
1705
|
+
];
|
|
1706
|
+
case 3:
|
|
1707
|
+
return [
|
|
1708
|
+
2
|
|
1709
|
+
];
|
|
1710
|
+
}
|
|
1711
|
+
});
|
|
1712
|
+
})();
|
|
1713
|
+
}
|
|
1714
|
+
},
|
|
1715
|
+
{
|
|
1716
|
+
key: "updateMany",
|
|
1717
|
+
value: function updateMany() {
|
|
1718
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, update = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
1719
|
+
var _this = this;
|
|
1720
|
+
return _async_to_generator(function() {
|
|
1721
|
+
var result, error;
|
|
1722
|
+
return _ts_generator(this, function(_state) {
|
|
1723
|
+
switch(_state.label){
|
|
1724
|
+
case 0:
|
|
1725
|
+
_state.trys.push([
|
|
1726
|
+
0,
|
|
1727
|
+
2,
|
|
1728
|
+
,
|
|
1729
|
+
3
|
|
1730
|
+
]);
|
|
1731
|
+
return [
|
|
1732
|
+
4,
|
|
1733
|
+
_this.model.updateMany(filter, update, options).exec()
|
|
1734
|
+
];
|
|
1735
|
+
case 1:
|
|
1736
|
+
result = _state.sent();
|
|
1737
|
+
return [
|
|
1738
|
+
2,
|
|
1739
|
+
{
|
|
1740
|
+
success: true,
|
|
1741
|
+
result: result
|
|
1742
|
+
}
|
|
1743
|
+
];
|
|
1744
|
+
case 2:
|
|
1745
|
+
error = _state.sent();
|
|
1746
|
+
return [
|
|
1747
|
+
2,
|
|
1748
|
+
{
|
|
1749
|
+
success: false,
|
|
1750
|
+
message: error.message,
|
|
1751
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1752
|
+
}
|
|
1753
|
+
];
|
|
1754
|
+
case 3:
|
|
1755
|
+
return [
|
|
1756
|
+
2
|
|
1757
|
+
];
|
|
1758
|
+
}
|
|
1759
|
+
});
|
|
1760
|
+
})();
|
|
1761
|
+
}
|
|
1762
|
+
},
|
|
1763
|
+
{
|
|
1764
|
+
key: "deleteOne",
|
|
1765
|
+
value: function deleteOne() {
|
|
1766
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1767
|
+
var _this = this;
|
|
1768
|
+
return _async_to_generator(function() {
|
|
1769
|
+
var result, error;
|
|
1770
|
+
return _ts_generator(this, function(_state) {
|
|
1771
|
+
switch(_state.label){
|
|
1772
|
+
case 0:
|
|
1773
|
+
_state.trys.push([
|
|
1774
|
+
0,
|
|
1775
|
+
2,
|
|
1776
|
+
,
|
|
1777
|
+
3
|
|
1778
|
+
]);
|
|
1779
|
+
return [
|
|
1780
|
+
4,
|
|
1781
|
+
_this.model.findOneAndDelete(filter, options).exec()
|
|
1782
|
+
];
|
|
1783
|
+
case 1:
|
|
1784
|
+
result = _state.sent();
|
|
1785
|
+
if (!result) {
|
|
1786
|
+
return [
|
|
1787
|
+
2,
|
|
1788
|
+
{
|
|
1789
|
+
success: false,
|
|
1790
|
+
message: "No ".concat(_this.getModelName(), " found to delete."),
|
|
1791
|
+
code: RESPONSE_STATUS.NOT_FOUND.CODE
|
|
1792
|
+
}
|
|
1793
|
+
];
|
|
1794
|
+
}
|
|
1795
|
+
return [
|
|
1796
|
+
2,
|
|
1797
|
+
{
|
|
1798
|
+
success: true,
|
|
1799
|
+
result: result
|
|
1800
|
+
}
|
|
1801
|
+
];
|
|
1802
|
+
case 2:
|
|
1803
|
+
error = _state.sent();
|
|
1804
|
+
return [
|
|
1805
|
+
2,
|
|
1806
|
+
{
|
|
1807
|
+
success: false,
|
|
1808
|
+
message: error.message,
|
|
1809
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1810
|
+
}
|
|
1811
|
+
];
|
|
1812
|
+
case 3:
|
|
1813
|
+
return [
|
|
1814
|
+
2
|
|
1815
|
+
];
|
|
1816
|
+
}
|
|
1817
|
+
});
|
|
1818
|
+
})();
|
|
1819
|
+
}
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
key: "deleteMany",
|
|
1823
|
+
value: function deleteMany() {
|
|
1824
|
+
var filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1825
|
+
var _this = this;
|
|
1826
|
+
return _async_to_generator(function() {
|
|
1827
|
+
var result, error;
|
|
1828
|
+
return _ts_generator(this, function(_state) {
|
|
1829
|
+
switch(_state.label){
|
|
1830
|
+
case 0:
|
|
1831
|
+
_state.trys.push([
|
|
1832
|
+
0,
|
|
1833
|
+
2,
|
|
1834
|
+
,
|
|
1835
|
+
3
|
|
1836
|
+
]);
|
|
1837
|
+
return [
|
|
1838
|
+
4,
|
|
1839
|
+
_this.model.deleteMany(filter, options).exec()
|
|
1840
|
+
];
|
|
1841
|
+
case 1:
|
|
1842
|
+
result = _state.sent();
|
|
1843
|
+
if (result.deletedCount === 0) {
|
|
1844
|
+
return [
|
|
1845
|
+
2,
|
|
1846
|
+
{
|
|
1847
|
+
success: false,
|
|
1848
|
+
message: "No documents found to delete.",
|
|
1849
|
+
code: RESPONSE_STATUS.NOT_FOUND.CODE
|
|
1850
|
+
}
|
|
1851
|
+
];
|
|
1852
|
+
}
|
|
1853
|
+
return [
|
|
1854
|
+
2,
|
|
1855
|
+
{
|
|
1856
|
+
success: true,
|
|
1857
|
+
result: result
|
|
1858
|
+
}
|
|
1859
|
+
];
|
|
1860
|
+
case 2:
|
|
1861
|
+
error = _state.sent();
|
|
1862
|
+
return [
|
|
1863
|
+
2,
|
|
1864
|
+
{
|
|
1865
|
+
success: false,
|
|
1866
|
+
message: error.message,
|
|
1867
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1868
|
+
}
|
|
1869
|
+
];
|
|
1870
|
+
case 3:
|
|
1871
|
+
return [
|
|
1872
|
+
2
|
|
1873
|
+
];
|
|
1874
|
+
}
|
|
1875
|
+
});
|
|
1876
|
+
})();
|
|
1877
|
+
}
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
key: "createShortId",
|
|
1881
|
+
value: function createShortId(id) {
|
|
1882
|
+
var length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 4;
|
|
1883
|
+
var _this = this;
|
|
1884
|
+
return _async_to_generator(function() {
|
|
1885
|
+
var maxRetries, existingShortIds, retries, shortId, shortIdExists;
|
|
1886
|
+
return _ts_generator(this, function(_state) {
|
|
1887
|
+
switch(_state.label){
|
|
1888
|
+
case 0:
|
|
1889
|
+
maxRetries = 10;
|
|
1890
|
+
existingShortIds = /* @__PURE__ */ new Set();
|
|
1891
|
+
retries = 0;
|
|
1892
|
+
_state.label = 1;
|
|
1893
|
+
case 1:
|
|
1894
|
+
if (!(retries < maxRetries)) return [
|
|
1895
|
+
3,
|
|
1896
|
+
4
|
|
1897
|
+
];
|
|
1898
|
+
shortId = generateShortId(id, retries + length);
|
|
1899
|
+
if (!!existingShortIds.has(shortId)) return [
|
|
1900
|
+
3,
|
|
1901
|
+
3
|
|
1902
|
+
];
|
|
1903
|
+
existingShortIds.add(shortId);
|
|
1904
|
+
return [
|
|
1905
|
+
4,
|
|
1906
|
+
_this.model.exists({
|
|
1907
|
+
shortId: shortId
|
|
1908
|
+
})
|
|
1909
|
+
];
|
|
1910
|
+
case 2:
|
|
1911
|
+
shortIdExists = _state.sent();
|
|
1912
|
+
if (!shortIdExists) {
|
|
1913
|
+
return [
|
|
1914
|
+
2,
|
|
1915
|
+
{
|
|
1916
|
+
success: true,
|
|
1917
|
+
result: shortId
|
|
1918
|
+
}
|
|
1919
|
+
];
|
|
1920
|
+
}
|
|
1921
|
+
_state.label = 3;
|
|
1922
|
+
case 3:
|
|
1923
|
+
retries++;
|
|
1924
|
+
return [
|
|
1925
|
+
3,
|
|
1926
|
+
1
|
|
1927
|
+
];
|
|
1928
|
+
case 4:
|
|
1929
|
+
return [
|
|
1930
|
+
2,
|
|
1931
|
+
{
|
|
1932
|
+
success: false,
|
|
1933
|
+
message: "Failed to create a unique shortId",
|
|
1934
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
1935
|
+
}
|
|
1936
|
+
];
|
|
1937
|
+
}
|
|
1938
|
+
});
|
|
1939
|
+
})();
|
|
1940
|
+
}
|
|
1941
|
+
},
|
|
1942
|
+
{
|
|
1943
|
+
key: "createSlug",
|
|
1944
|
+
value: function createSlug(fieldName, fields) {
|
|
1945
|
+
var filters = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
1946
|
+
var _this = this;
|
|
1947
|
+
return _async_to_generator(function() {
|
|
1948
|
+
var fieldValue, createUniqueSlug, slugResults, _tmp, _tmp1, _i, lang, slug, slug1, uniqueSlug, error;
|
|
1949
|
+
return _ts_generator(this, function(_state) {
|
|
1950
|
+
switch(_state.label){
|
|
1951
|
+
case 0:
|
|
1952
|
+
_state.trys.push([
|
|
1953
|
+
0,
|
|
1954
|
+
8,
|
|
1955
|
+
,
|
|
1956
|
+
9
|
|
1957
|
+
]);
|
|
1958
|
+
fieldValue = fields[fieldName];
|
|
1959
|
+
createUniqueSlug = /*#__PURE__*/ function() {
|
|
1960
|
+
var _ref = _async_to_generator(function(slug) {
|
|
1961
|
+
var existingDoc, suffix, uniqueSlug;
|
|
1962
|
+
return _ts_generator(this, function(_state) {
|
|
1963
|
+
switch(_state.label){
|
|
1964
|
+
case 0:
|
|
1965
|
+
return [
|
|
1966
|
+
4,
|
|
1967
|
+
_this.model.findOne(mongo.createSlugQuery(slug, filters, fields.id))
|
|
1968
|
+
];
|
|
1969
|
+
case 1:
|
|
1970
|
+
existingDoc = _state.sent();
|
|
1971
|
+
if (!existingDoc) return [
|
|
1972
|
+
2,
|
|
1973
|
+
slug
|
|
1974
|
+
];
|
|
1975
|
+
suffix = 1;
|
|
1976
|
+
_state.label = 2;
|
|
1977
|
+
case 2:
|
|
1978
|
+
uniqueSlug = "".concat(slug, "-").concat(suffix);
|
|
1979
|
+
return [
|
|
1980
|
+
4,
|
|
1981
|
+
_this.model.findOne(mongo.createSlugQuery(uniqueSlug, filters, fields.id))
|
|
1982
|
+
];
|
|
1983
|
+
case 3:
|
|
1984
|
+
existingDoc = _state.sent();
|
|
1985
|
+
suffix++;
|
|
1986
|
+
_state.label = 4;
|
|
1987
|
+
case 4:
|
|
1988
|
+
if (existingDoc) return [
|
|
1989
|
+
3,
|
|
1990
|
+
2
|
|
1991
|
+
];
|
|
1992
|
+
_state.label = 5;
|
|
1993
|
+
case 5:
|
|
1994
|
+
return [
|
|
1995
|
+
2,
|
|
1996
|
+
uniqueSlug
|
|
1997
|
+
];
|
|
1998
|
+
}
|
|
1999
|
+
});
|
|
2000
|
+
});
|
|
2001
|
+
return function createUniqueSlug(slug) {
|
|
2002
|
+
return _ref.apply(this, arguments);
|
|
2003
|
+
};
|
|
2004
|
+
}();
|
|
2005
|
+
if (!((typeof fieldValue === "undefined" ? "undefined" : _type_of(fieldValue)) === "object")) return [
|
|
2006
|
+
3,
|
|
2007
|
+
5
|
|
2008
|
+
];
|
|
2009
|
+
slugResults = {};
|
|
2010
|
+
_tmp = [];
|
|
2011
|
+
for(_tmp1 in fieldValue)_tmp.push(_tmp1);
|
|
2012
|
+
_i = 0;
|
|
2013
|
+
_state.label = 1;
|
|
2014
|
+
case 1:
|
|
2015
|
+
if (!(_i < _tmp.length)) return [
|
|
2016
|
+
3,
|
|
2017
|
+
4
|
|
2018
|
+
];
|
|
2019
|
+
lang = _tmp[_i];
|
|
2020
|
+
slug = generateSlug(fieldValue[lang]);
|
|
2021
|
+
return [
|
|
2022
|
+
4,
|
|
2023
|
+
createUniqueSlug(slug)
|
|
2024
|
+
];
|
|
2025
|
+
case 2:
|
|
2026
|
+
slugResults[lang] = _state.sent();
|
|
2027
|
+
_state.label = 3;
|
|
2028
|
+
case 3:
|
|
2029
|
+
_i++;
|
|
2030
|
+
return [
|
|
2031
|
+
3,
|
|
2032
|
+
1
|
|
2033
|
+
];
|
|
2034
|
+
case 4:
|
|
2035
|
+
return [
|
|
2036
|
+
2,
|
|
2037
|
+
{
|
|
2038
|
+
success: true,
|
|
2039
|
+
result: slugResults
|
|
2040
|
+
}
|
|
2041
|
+
];
|
|
2042
|
+
case 5:
|
|
2043
|
+
slug1 = generateSlug(fieldValue);
|
|
2044
|
+
return [
|
|
2045
|
+
4,
|
|
2046
|
+
createUniqueSlug(slug1)
|
|
2047
|
+
];
|
|
2048
|
+
case 6:
|
|
2049
|
+
uniqueSlug = _state.sent();
|
|
2050
|
+
return [
|
|
2051
|
+
2,
|
|
2052
|
+
{
|
|
2053
|
+
success: true,
|
|
2054
|
+
result: uniqueSlug
|
|
2055
|
+
}
|
|
2056
|
+
];
|
|
2057
|
+
case 7:
|
|
2058
|
+
return [
|
|
2059
|
+
3,
|
|
2060
|
+
9
|
|
2061
|
+
];
|
|
2062
|
+
case 8:
|
|
2063
|
+
error = _state.sent();
|
|
2064
|
+
return [
|
|
2065
|
+
2,
|
|
2066
|
+
{
|
|
2067
|
+
success: false,
|
|
2068
|
+
message: "Failed to create a unique slug: ".concat(error.message),
|
|
2069
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
2070
|
+
}
|
|
2071
|
+
];
|
|
2072
|
+
case 9:
|
|
2073
|
+
return [
|
|
2074
|
+
2
|
|
2075
|
+
];
|
|
2076
|
+
}
|
|
2077
|
+
});
|
|
2078
|
+
})();
|
|
2079
|
+
}
|
|
2080
|
+
},
|
|
2081
|
+
{
|
|
2082
|
+
key: "aggregate",
|
|
2083
|
+
value: function aggregate(pipeline) {
|
|
2084
|
+
var _this = this;
|
|
2085
|
+
return _async_to_generator(function() {
|
|
2086
|
+
var result, error;
|
|
2087
|
+
return _ts_generator(this, function(_state) {
|
|
2088
|
+
switch(_state.label){
|
|
2089
|
+
case 0:
|
|
2090
|
+
_state.trys.push([
|
|
2091
|
+
0,
|
|
2092
|
+
2,
|
|
2093
|
+
,
|
|
2094
|
+
3
|
|
2095
|
+
]);
|
|
2096
|
+
return [
|
|
2097
|
+
4,
|
|
2098
|
+
_this.model.aggregate(pipeline)
|
|
2099
|
+
];
|
|
2100
|
+
case 1:
|
|
2101
|
+
result = _state.sent();
|
|
2102
|
+
return [
|
|
2103
|
+
2,
|
|
2104
|
+
{
|
|
2105
|
+
success: true,
|
|
2106
|
+
result: result
|
|
2107
|
+
}
|
|
2108
|
+
];
|
|
2109
|
+
case 2:
|
|
2110
|
+
error = _state.sent();
|
|
2111
|
+
return [
|
|
2112
|
+
2,
|
|
2113
|
+
{
|
|
2114
|
+
success: false,
|
|
2115
|
+
message: error.message,
|
|
2116
|
+
code: RESPONSE_STATUS.INTERNAL_SERVER_ERROR.CODE
|
|
2117
|
+
}
|
|
2118
|
+
];
|
|
2119
|
+
case 3:
|
|
2120
|
+
return [
|
|
2121
|
+
2
|
|
2122
|
+
];
|
|
2123
|
+
}
|
|
2124
|
+
});
|
|
2125
|
+
})();
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
]);
|
|
2129
|
+
return MongooseController;
|
|
2130
|
+
}();
|
|
2131
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
2132
|
+
0 && (module.exports = {
|
|
2133
|
+
MongoController: MongoController,
|
|
2134
|
+
MongooseController: MongooseController,
|
|
2135
|
+
aggregatePaginate: aggregatePaginate,
|
|
2136
|
+
mongo: mongo,
|
|
2137
|
+
mongoosePaginate: mongoosePaginate
|
|
2138
|
+
});
|