@cyberskill/shared 1.191.0 → 1.192.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/dist/_tsup-dts-rollup.d.cts +54 -0
- package/dist/_tsup-dts-rollup.d.ts +54 -0
- package/dist/config/config.util.cjs +1 -1
- package/dist/config/config.util.js +1 -1
- package/dist/config/index.cjs +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/vitest/index.cjs +1 -1
- package/dist/config/vitest/index.js +1 -1
- package/dist/config/vitest/vitest.unit.cjs +1 -1
- package/dist/config/vitest/vitest.unit.js +1 -1
- package/dist/node/cli/cli.util.cjs +1 -1
- package/dist/node/cli/cli.util.js +1 -1
- package/dist/node/cli/index.cjs +1 -1
- package/dist/node/cli/index.js +1 -1
- package/dist/node/command/command.util.cjs +1 -1
- package/dist/node/command/command.util.js +1 -1
- package/dist/node/command/index.cjs +1 -1
- package/dist/node/command/index.js +1 -1
- package/dist/node/fs/fs.util.cjs +1 -1
- package/dist/node/fs/fs.util.d.cts +1 -0
- package/dist/node/fs/fs.util.d.ts +1 -0
- package/dist/node/fs/fs.util.js +1 -1
- package/dist/node/fs/index.cjs +1 -1
- package/dist/node/fs/index.d.cts +1 -0
- package/dist/node/fs/index.d.ts +1 -0
- package/dist/node/fs/index.js +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.cts +7 -0
- package/dist/node/index.d.ts +7 -0
- package/dist/node/index.js +1 -1
- package/dist/node/mongo/index.cjs +1 -1
- package/dist/node/mongo/index.js +1 -1
- package/dist/node/mongo/mongo.util.cjs +1 -1
- package/dist/node/mongo/mongo.util.js +1 -1
- package/dist/node/package/index.cjs +1 -1
- package/dist/node/package/index.js +1 -1
- package/dist/node/package/package.util.cjs +1 -1
- package/dist/node/package/package.util.js +1 -1
- package/dist/node/path/index.cjs +1 -1
- package/dist/node/path/index.d.cts +1 -0
- package/dist/node/path/index.d.ts +1 -0
- package/dist/node/path/index.js +1 -1
- package/dist/node/path/path.constant.cjs +1 -1
- package/dist/node/path/path.constant.js +1 -1
- package/dist/node/path/path.util.cjs +1 -1
- package/dist/node/path/path.util.d.cts +1 -0
- package/dist/node/path/path.util.d.ts +1 -0
- package/dist/node/path/path.util.js +1 -1
- package/dist/node/upload/index.cjs +1 -0
- package/dist/node/upload/index.d.cts +5 -0
- package/dist/node/upload/index.d.ts +5 -0
- package/dist/node/upload/index.js +1 -0
- package/dist/node/upload/upload.type.cjs +1 -0
- package/dist/node/upload/upload.type.d.cts +4 -0
- package/dist/node/upload/upload.type.d.ts +4 -0
- package/dist/node/upload/upload.type.js +0 -0
- package/dist/node/upload/upload.util.cjs +1 -0
- package/dist/node/upload/upload.util.d.cts +1 -0
- package/dist/node/upload/upload.util.d.ts +1 -0
- package/dist/node/upload/upload.util.js +1 -0
- package/package.json +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,a,s,u){try{var c=e[s](u);var i=c.value}catch(e){n(e);return}if(c.done){t(i)}else{Promise.resolve(i).then(r,a)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,s){var u=e.apply(t,n);function c(e){r(u,a,s,c,i,"next",e)}function i(e){r(u,a,s,c,i,"throw",e)}c(undefined)})}}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(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 c(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function i(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 o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function l(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function f(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var s=false;var u,c;try{for(n=n.call(e);!(a=(u=n.next()).done);a=true){r.push(u.value);if(t&&r.length===t)break}}catch(e){s=true;c=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(s)throw c}}return r}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(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){i(e,t,n[t])})}return e}function h(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 v(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{h(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function m(e,n){return t(e)||f(e,n)||S(e,n)||d()}function y(e){return t(e)||l(e)||S(e)||d()}function g(e){return n(e)||l(e)||S(e)||E()}function O(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function S(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function D(e,t){var n,r,a,s={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},u=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return u.next=c(0),u["throw"]=c(1),u["return"]=c(2),typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return i([e,t])}}function i(c){if(n)throw new TypeError("Generator is already executing.");while(u&&(u=0,c[0]&&(s=0)),s)try{if(n=1,r&&(a=c[0]&2?r["return"]:c[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;if(r=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:s.label++;return{value:c[1],done:false};case 5:s.label++;r=c[1];c=[0];continue;case 7:c=s.ops.pop();s.trys.pop();continue;default:if(!(a=s.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){s=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){s.label=c[1];break}if(c[0]===6&&s.label<a[1]){s.label=a[1];a=c;break}if(a&&s.label<a[2]){s.label=a[2];s.ops.push(c);break}if(a[2])s.ops.pop();s.trys.pop();continue}c=t.call(e,s)}catch(e){c=[6,e];r=0}finally{n=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var C=Object.create;var N=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var R=function(e,t,n){return t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var _=function(e,t){return N(e,"name",{value:t,configurable:!0})};var G=function(e,t){for(var n in t)N(e,n,{get:t[n],enumerable:!0})},P=function(e,t,n,r){var a=true,s=false,u=undefined;if(t&&(typeof t==="undefined"?"undefined":O(t))=="object"||typeof t=="function")try{var c=function(){var a=o.value;!A.call(e,a)&&a!==n&&N(e,a,{get:function(){return t[a]},enumerable:!(r=I(t,a))||r.enumerable})};for(var i=T(t)[Symbol.iterator](),o;!(a=(o=i.next()).done);a=true)c()}catch(e){s=true;u=e}finally{try{if(!a&&i.return!=null){i.return()}}finally{if(s){throw u}}}return e};var M=function(e,t,n){return n=e!=null?C(b(e)):{},P(t||!e||!e.__esModule?N(n,"default",{value:e,enumerable:!0}):n,e)},w=function(e){return P(N({},"__esModule",{value:!0}),e)};var L=function(e,t,n){return R(e,(typeof t==="undefined"?"undefined":O(t))!="symbol"?t+"":t,n)};var U={};G(U,{MongoController:function(){return t$},MongooseController:function(){return tz},aggregatePaginate:function(){return x.default},mongo:function(){return tW},mongoosePaginate:function(){return V.default}});module.exports=w(U);var k=require("date-fns"),j=M(require("migrate-mongo"),1),F=require("mongoose"),x=M(require("mongoose-aggregate-paginate-v2"),1),V=M(require("mongoose-paginate-v2"),1),Y=require("uuid");var q={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 B=M(require("unorm"),1);var K=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var Q={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},H=Object.entries(Q).reduce(function(e,t){var n=m(t,2),r=n[0],a=n[1];return e[r.toUpperCase()]=a.map(function(e){return e.toUpperCase()}),e},{});function W(e){e=B.default.nfkc(e);var t=p({},Q,H);var n=true,r=false,a=undefined;try{for(var s=Object.entries(t)[Symbol.iterator](),u;!(n=(u=s.next()).done);n=true){var c=m(u.value,2),i=c[0],o=c[1];var l="[".concat(i).concat(o.join(""),"]"),f="(".concat([i].concat(g(o)).join("|"),")");e=e.replace(new RegExp(l,"g"),f)}}catch(e){r=true;a=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw a}}}return e}_(W,"regexSearchMapper");function J(e){return(typeof e==="undefined"?"undefined":O(e))=="object"&&e!==null&&!Array.isArray(e)}_(J,"isObject");function $(e){return JSON.parse(JSON.stringify(e))}_($,"deepClone");function X(e,t){return t.reduce(function(e,t){if(e&&(typeof e==="undefined"?"undefined":O(e))=="object"&&t in e)return e[t]},e)}_(X,"getNestedValue");function z(e,t,n){if(t.length===0)return e;var r=y(t),a=r[0],s=r.slice(1);if(s.length===0)return v(p({},e),i({},a,n));var u=e[a];return v(p({},e),i({},a,z((typeof u==="undefined"?"undefined":O(u))=="object"&&u!==null?u:{},s,n)))}_(z,"setNestedValue");var Z=M(require("crypto-js"),1),ee=M(require("slugify"),1);var et=ee.default.default||ee.default;function en(e,t){var n=_(function(e){var n,r;return et(e!==null&&e!==void 0?e:"",p({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(J(e)){var r={};var a=true,s=false,u=undefined;try{for(var c=Object.entries(e)[Symbol.iterator](),i;!(a=(i=c.next()).done);a=true){var o=m(i.value,2),l=o[0],f=o[1];r[l]=n(f)}}catch(e){s=true;u=e}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(s){throw u}}}return r}return n(e)}_(en,"generateSlug");function er(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return Z.default.SHA256(e).toString(Z.default.enc.Hex).slice(0,t)}_(er,"generateShortId");var ea={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":O(e))=="object"?o(e,Date)?!1:o(e,Map)||o(e,Set)?e.size===0:o(e,WeakMap)||o(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var es=M(require("fs-extra"),1),eu=M(require("path"),1);var ec=es.default,ei=ec.lstatSync,eo=ec.readdirSync,el=ec.mkdirSync,ef=ec.readFileSync,ed=ec.unlinkSync,eE=ec.statSync,ep=es.default.readJsonSync;function eh(e,t,n){es.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}_(eh,"writeFileSync");function ev(e,t,n){es.default.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}_(ev,"appendFileSync");function em(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return es.default.pathExistsSync(e)})}_(em,"pathExistsSync");var ey=function(e){return e.Error="error",e.Warning="warning",e}({});var eg=M(require("chalk"),1),eO=M(require("consola"),1),eS=require("graphql");var eD=".cyberskill-storage";var eC=M(require("@dotenvx/dotenvx"),1),eN=require("envalid"),eI=M(require("os"),1),eT=M(require("path"),1),eb=M(require("process"),1);var eA=!1;function eR(){eb.default.env.NODE_ENV!==K.PRODUCTION&&!eA&&(eC.default.config(),eA=!0)}_(eR,"loadEnvFile");function e_(){eR();var e=(0,eN.cleanEnv)(eb.default.env,{CWD:(0,eN.str)({default:eb.default.cwd()}),DEBUG:(0,eN.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,eN.str)({default:eT.default.join(eI.default.homedir(),eD)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}_(e_,"getEnv");var eG=e_();eG.DEBUG||(eO.default.level=4);function eP(e){var t=eg.default[e];return typeof t=="function"?t:eg.default.green}_(eP,"chalkKeyword");var eM={silent:eO.default.silent,level:eO.default.level,fatal:eO.default.fatal,error:eO.default.error,warn:eO.default.warn,log:eO.default.log,info:eO.default.info,success:eO.default.success,ready:eO.default.ready,start:eO.default.start,box:eO.default.box,debug:eO.default.debug,trace:eO.default.trace,verbose:eO.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){eO.default.box(eg.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,s=e.message;eO.default.log("".concat(eg.default.gray("File:")," ").concat(eg.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&eO.default.log(" ".concat(eP(n)("Rule:")," ").concat(a)),eO.default.log(" ".concat(eP(n)("Message:")," ").concat(s))}),eO.default.box(eP(n)("".concat(e," : ").concat(t.length))),eO.default.log(eg.default.gray("─".repeat(40)))}};function ew(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,a=r===void 0?!0:r,s=n.returnValue,u=n.callback,c=o(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return a&&eM.error(c.message),u&&typeof u=="function"&&u(c),s||{success:!1,message:c.message,code:q.INTERNAL_SERVER_ERROR.CODE}}_(ew,"catchError");var eL=M(require("fs-extra"),1);var eU=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ek=require("child_process"),ej=M(require("process"),1),eF=M(require("util"),1);var ex=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var eV=M(require("node-fetch"),1);var eY=e_();function eq(e){return a(function(){var t,n,r,a;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,(0,eV.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=s.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=s.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:a=s.sent();return[2,ew(a)];case 4:return[2]}})})()}_(eq,"getLatestPackageVersion");function eB(e){return a(function(){var t,n,r,a,s,u,c,i,o,l,f,d,E,p,h,v,m,y,g,O,S,C,N,I;return D(this,function(D){switch(D.label){case 0:D.trys.push([0,2,,3]);if(!e){if(em(tK.PACKAGE_JSON)){t=ep(tK.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,a=t.version,s=a===void 0?"":a;return[2,{success:!0,result:{name:r,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:tK.PACKAGE_JSON,file:t}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!em(tK.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===ex.DEPENDENCY,isDevDependency:e.type===ex.DEV_DEPENDENCY,installedPath:"",file:{}}}];u=ep(tK.PACKAGE_JSON),c=u.name,i=u.version,o=i===void 0?"":i,l=u.dependencies,f=l===void 0?{}:l,d=u.devDependencies,E=d===void 0?{}:d;if(e.name===c)return[2,{success:!0,result:{name:c,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===ex.DEPENDENCY,isDevDependency:e.type===ex.DEV_DEPENDENCY,installedPath:tK.PACKAGE_JSON,file:u}}];p=e.name in f,h=e.name in E;return[4,eq(e.name)];case 1:v=D.sent();if(!v.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:h,installedPath:"",file:{}}}];if(!p&&!h)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:v.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===ex.DEPENDENCY,isDevDependency:e.type===ex.DEV_DEPENDENCY,installedPath:"",file:{}}}];g=(y=(m=f[e.name])!==null&&m!==void 0?m:E[e.name])!==null&&y!==void 0?y:"",O=tr(eY.CWD,tc,e.name,tl);if(!em(O))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:v.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:h,installedPath:"",file:{}}}];S=ep(O),C=S.version,N=C===void 0?"":C;return[2,g!==N?{success:!0,result:{name:e.name,currentVersion:N||g,latestVersion:v.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:p,isDevDependency:h,installedPath:O,file:S}}:{success:!0,result:{name:e.name,currentVersion:g,latestVersion:v.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:g===v.result,isDependency:p,isDevDependency:h,installedPath:O,file:S}}];case 2:I=D.sent();return[2,ew(I)];case 3:return[2]}})})()}_(eB,"getPackage");function eK(e){return a(function(){var t,n,r,a,s;return D(this,function(u){try{;r=ep(tK.PACKAGE_JSON),a=(t=r.dependencies)!==null&&t!==void 0?t:{},s=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(s[e.name]=e.latestVersion),eh(tK.PACKAGE_JSON,JSON.stringify(r,null,4)),eM.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){ew(e)}return[2]})})()}_(eK,"updatePackage");function eQ(){return a(function(){var e,t,n,r,a,s,u,c,i,o,l,f,d;return D(this,function(E){switch(E.label){case 0:E.trys.push([0,12,,13]);e=[{command:_(function(){return tH.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:_(function(){return tH.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:_(function(){return tH.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;E.label=1;case 1:E.trys.push([1,9,10,11]);a=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(s=a.next()).done))return[3,8];u=s.value,c=u.command,i=u.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,c()];case 4:o=E.sent();return[4,e8("".concat(i," using: ").concat(o),o)];case 5:E.sent();return[2];case 6:l=E.sent();ew(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=E.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:d=E.sent();ew(d);return[3,13];case 13:return[2]}})})()}_(eQ,"installDependencies");function eH(e,t){return a(function(){var n,r,a,s,u,c,i,o,l,f,d,E,p,h,v,m,y;return D(this,function(O){switch(O.label){case 0:O.trys.push([0,15,,16]);if(!em(tK.PACKAGE_JSON)){eM.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(eB))];case 1:a=O.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),s=a.filter(function(e){return!e.isInstalled}),u=a.filter(function(e){return!e.isUpToDate}),c=[];(t===null||t===void 0?void 0:t.install)&&s.length>0&&(n=c).push.apply(n,g(s.map(eK))),(t===null||t===void 0?void 0:t.update)&&u.length>0&&(r=c).push.apply(r,g(u.map(eK)));i=c.length>0;if(!i)return[3,6];return[4,Promise.all(c)];case 2:O.sent();return[4,eQ()];case 3:O.sent();o=["Running ESLint with auto-fix"];return[4,tH.eslintFix()];case 4:return[4,e8.apply(void 0,o.concat([O.sent()]))];case 5:i=O.sent();O.label=6;case 6:i;f=true,d=false,E=undefined;O.label=7;case 7:O.trys.push([7,12,13,14]);p=((l=t===null||t===void 0?void 0:t.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();O.label=8;case 8:if(!!(f=(h=p.next()).done))return[3,11];v=h.value;return[4,v()];case 9:O.sent();O.label=10;case 10:f=true;return[3,8];case 11:return[3,14];case 12:m=O.sent();d=true;E=m;return[3,14];case 13:try{if(!f&&p.return!=null){p.return()}}finally{if(d){throw E}}return[7];case 14:return[3,16];case 15:y=O.sent();ew(y);return[3,16];case 16:return[2]}})})()}_(eH,"setupPackages");var eW=M(require("node-persist"),1);var eJ=e_();function e$(){return a(function(){var e;return D(this,function(t){switch(t.label){case 0:e=eW.default.defaultInstance;if(e)return[3,2];return[4,eW.default.init({dir:eJ.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}_(e$,"initNodePersist");var eX={get:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e$()];case 1:r.sent();return[4,eW.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,ew(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e$()];case 1:r.sent();return[4,eW.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ew(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e$()];case 1:n.sent();return[4,eW.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ew(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e$()];case 1:n.sent();return[4,eW.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eM.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,ew(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return D(this,function(t){try{return[2,"".concat(eJ.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,ew(e,{returnValue:null})]}return[2]})})()}};var ez=e_(),eZ=eF.promisify(ek.exec);function e0(){return a(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,eB()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}_(e0,"getPackageName");function e1(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,e0()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,eX.set(t,e)];case 3:r.sent(),setTimeout(function(){return a(function(){var e;return D(this,function(n){switch(n.label){case 0:return[4,eX.getLogLink(t)];case 1:e=n.sent();e&&eM.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();ew(n);return[3,5];case 5:return[2]}})})()}_(e1,"saveErrorListToStorage");function e2(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,s=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,u=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,i,o,l,f;var d=a.exec(e)||[],E=s.exec(e)||[],p=u.exec(e)||[];var h,v,m,y,g,O;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===ey.Error?ey.Error:ey.Warning,message:(h=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:"",rule:(v=d===null||d===void 0?void 0:(i=d[5])===null||i===void 0?void 0:i.trim())!==null&&v!==void 0?v:""}):E.length?t.push({file:(m=E===null||E===void 0?void 0:E[1])!==null&&m!==void 0?m:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===ey.Error?ey.Error:ey.Warning,message:(y=E===null||E===void 0?void 0:(o=E[5])===null||o===void 0?void 0:o.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:"commitlint",type:ey.Error,message:(g=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&g!==void 0?g:"",rule:(O=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&O!==void 0?O:""}):n.push(e.trim())}}),t.length&&e1(t),ez.DEBUG&&n.length&&(eM.warn("Unmatched lines:"),n.forEach(function(e){return eM.info(" ".concat(e))}))}_(e2,"parseTextErrors");function e4(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,s=e.column,u=e.ruleId,c=e.message;n.push({type:r===2?ey.Error:ey.Warning,file:t,position:"".concat(a,":").concat(s),rule:u,message:c})})}),n.length&&e1(n)}catch(t){e2(e)}}_(e4,"parseCommandOutput");function e3(e){return a(function(e){var t,n,r,a,s,u,c,i,o;var l=arguments;return D(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:e4;n=new AbortController;ej.default.on("SIGINT",function(){eM.warn("Process interrupted. Terminating..."),n.abort(),ej.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eZ(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,s=r.stderr;[a,s].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:u=f.sent();c=u.stdout,i=u.stderr,o=u.message;[c,i].forEach(function(e){return e&&t(e)}),!i&&!c&&eM.error("Command failed: ".concat(o));return[3,5];case 5:return[2]}})}).apply(this,arguments)}_(e3,"executeCommand");function e5(e){return{raw:!0,cmd:e}}_(e5,"rawCommand");function e6(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tU," ").concat(tM," ").concat(tS," ").concat(e):"".concat(tU," ").concat(tO," ").concat(e)}_(e6,"formatCLI");function e7(e,t){return typeof e=="function"?e6(e(t),t):(typeof e==="undefined"?"undefined":O(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e6(e,t):e}_(e7,"formatCommand");function e8(e,t){return a(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);eM.start("".concat(e)),ez.DEBUG&&eM.info("→ ".concat(t));return[4,e3(t)];case 1:r.sent(),eM.success("".concat(e," done."));return[3,3];case 2:n=r.sent();ew(n);return[3,3];case 3:return[2]}})})()}_(e8,"runCommand");var e9=M(require("path"),1);var te=e_(),tt=e9.default;function tn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=tt).resolve.apply(r,[te.CWD].concat(g(t)))}_(tn,"resolveWorkingPath");function tr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=tt).join.apply(r,g(t))}_(tr,"join");var ta=e_(),ts=ta.CWD,tu="@cyberskill/shared",tc="node_modules",ti="dist",to="public",tl="package.json",tf="package-lock.json",td="tsconfig.json",tE=".gitignore",tp=".simple-git-hooks.json",th="pnpm-lock.yaml",tv=".git/hooks/",tm=".git/COMMIT_EDITMSG",ty=".migrate-mongo.config.js",tg=function(){var e=eL.default.readJsonSync(tn(tl)).name===tu?ts:tr(ts,tc,tu);return tr(e,ti)}(),tO="cyberskill",tS="src/node/cli/index.ts",tD="eslint",tC="eslint",tN="vitest";var tI="vitest",tT="@commitlint/cli",tb="@commitlint/config-conventional",tA="commitlint",tR="lint-staged",t_="lint-staged",tG="typescript",tP="tsc",tM="tsx",tw="git",tL="pnpm",tU="pnpm exec",tk="simple-git-hooks",tj="simple-git-hooks",tF="@eslint/config-inspector",tx="eslint-config-inspector",tV="node-modules-inspector",tY="node-modules-inspector",tq="migrate-mongo",tB="./node_modules/migrate-mongo/bin/migrate-mongo",tK={CYBERSKILL_DIRECTORY:tg,WORKING_DIRECTORY:ts,PUBLIC_DIRECTORY:tn(to),TS_CONFIG:tn(td),GIT_IGNORE:tn(tE),GIT_HOOK:tn(tv),GIT_COMMIT_MSG:tn(tm),SIMPLE_GIT_HOOKS_JSON:tn(tp),PACKAGE_JSON:tn(tl),PACKAGE_LOCK_JSON:tn(tf),PNPM_LOCK_YAML:tn(th),NODE_MODULES:tn(tc),MIGRATE_MONGO_CONFIG:tn(ty),LINT_STAGED_CONFIG:tn("".concat(tg,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:tn("".concat(tg,"/config/commitlint/index.js")),VITEST_UNIT_CONFIG:tn("".concat(tg,"/config/vitest/vitest.unit.js")),VITEST_UNIT_SETUP_CONFIG:tn("".concat(tg,"/config/vitest/vitest.unit.setup.js")),VITEST_E2E_CONFIG:tn("".concat(tg,"/config/vitest/vitest.e2e.js"))};function tQ(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return a(function(){var e;return D(this,function(n){switch(n.label){case 0:switch(t){case eU.CLI:return[3,1];case eU.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,eH(s,{install:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,e7(e5("".concat(tU," ").concat(r))))];case 4:return[2,e7(e5(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}_(tQ,"buildCommand");var tH={simpleGitHooks:tQ({type:eU.CLI,packages:[{name:tk,type:ex.DEV_DEPENDENCY}],command:tj}),eslintInspect:tQ({type:eU.CLI,packages:[{name:tF,type:ex.DEV_DEPENDENCY}],command:tx}),nodeModulesInspect:tQ({type:eU.CLI,packages:[{name:tV,type:ex.DEV_DEPENDENCY}],command:tY}),eslintCheck:tQ({type:eU.CLI,packages:[{name:tD,type:ex.DEV_DEPENDENCY}],command:"".concat(tC," ").concat(tK.WORKING_DIRECTORY," --no-cache")}),eslintFix:tQ({type:eU.CLI,packages:[{name:tD,type:ex.DEV_DEPENDENCY}],command:"".concat(tC," ").concat(tK.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tQ({type:eU.CLI,packages:[{name:tG,type:ex.DEV_DEPENDENCY}],command:"".concat(tP," -p ").concat(tK.TS_CONFIG," --noEmit")}),testUnit:tQ({type:eU.CLI,packages:[{name:tN,type:ex.DEV_DEPENDENCY}],command:"".concat(tI," --config ").concat(tK.VITEST_UNIT_CONFIG)}),testE2e:tQ({type:eU.CLI,packages:[{name:tN,type:ex.DEV_DEPENDENCY}],command:"".concat(tI," --config ").concat(tK.VITEST_E2E_CONFIG)}),mongoMigrateCreate:_(function(e){return tQ({type:eU.CLI,packages:[{name:tM,type:ex.DEPENDENCY},{name:tq,type:ex.DEPENDENCY}],command:"".concat(tM," ").concat(tB," create ").concat(e," -f ").concat(tK.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tQ({type:eU.CLI,packages:[{name:tM,type:ex.DEPENDENCY},{name:tq,type:ex.DEPENDENCY}],command:"".concat(tM," ").concat(tB," up -f ").concat(tK.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tQ({type:eU.CLI,packages:[{name:tM,type:ex.DEPENDENCY},{name:tq,type:ex.DEPENDENCY}],command:"".concat(tM," ").concat(tB," down -f ").concat(tK.MIGRATE_MONGO_CONFIG)}),commitLint:tQ({type:eU.CLI,packages:[{name:tT,type:ex.DEV_DEPENDENCY},{name:tb,type:ex.DEV_DEPENDENCY}],command:"".concat(tA," --edit ").concat(tK.GIT_COMMIT_MSG," --config ").concat(tK.COMMITLINT_CONFIG)}),lintStaged:tQ({type:eU.CLI,packages:[{name:tR,type:ex.DEV_DEPENDENCY}],command:"".concat(t_," --config ").concat(tK.LINT_STAGED_CONFIG)}),configureGitHook:tQ({type:eU.STRING,command:"".concat(tw," config core.hooksPath ").concat(tK.GIT_HOOK)}),build:tQ({type:eU.STRING,command:"".concat(tL," run --if-present build")}),pnpmInstallStandard:tQ({type:eU.STRING,command:"".concat(tL," install --ignore-scripts")}),pnpmInstallLegacy:tQ({type:eU.STRING,command:"".concat(tL," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:tQ({type:eU.STRING,command:"".concat(tL," install --ignore-scripts --force")}),pnpmPruneStore:tQ({type:eU.STRING,command:"".concat(tL," store prune")}),pnpmCleanCache:tQ({type:eU.STRING,command:"".concat(tL," cache delete")})};var tW={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,k.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"?tW.getDateTime():new Date;return{id:(0,Y.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,a=t.post;n&&r&&e.pre(n,r),n&&a&&e.post(n,a)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:Y.v4,unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,a=r===void 0?[]:r,s=e.standalone,u=s===void 0?!1:s;var c=new t.Schema(n);return a.forEach(function(e){var t=e.name,n=e.options,r=e.get;var a=c.virtual(t,n);r&&a.get(r)}),u||c.add(tW.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,a=e.pagination,s=a===void 0?!1:a,u=e.aggregate,c=u===void 0?!1:u,i=e.virtuals,o=i===void 0?[]:i,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var d=tW.createSchema({mongoose:t,schema:r,virtuals:o});return tW.applyPlugins(d,[s&&V.default,c&&x.default]),tW.applyMiddlewares(d,f),t.model(n,d)},validator:{isRequired:function e(){return function(e){return a(function(){return D(this,function(t){return[2,!ea.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return a(function(){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 i({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return a(function(){return D(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!o(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:v(p({},j.default),{setConfig:_(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eh(tK.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(ty,"\n");em(tK.GIT_IGNORE)?ef(tK.GIT_IGNORE,"utf-8").split("\n").includes(ty)||ev(tK.GIT_IGNORE,n):eh(tK.GIT_IGNORE,n)},"setConfig")}),regexify:function e(e,t){if(!e)return{};var n=$(e);if(!t||t.length===0)return n;var r=true,a=false,s=undefined;try{for(var u=t[Symbol.iterator](),c;!(r=(c=u.next()).done);r=true){var i=c.value;var o=i.toString().split("."),l=X(n,o);if(typeof l=="string"&&l.length>0){var f={$regex:".*".concat(W(l),".*"),$options:"i"};n=z(n,o,f)}}}catch(e){a=true;s=e}finally{try{if(!r&&u.return!=null){u.return()}}finally{if(a){throw s}}}return n}},tJ=/*#__PURE__*/function(){function e(t,n){s(this,e);L(this,"collection");this.collection=t.collection(n)}c(e,[{key:"createOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t=p({},tW.createGenericFields(),e);return[4,this.collection.insertOne(t)];case 1:return[2,r.sent().acknowledged?{success:!0,message:"Document created successfully",result:t}:{success:!1,message:"Document creation failed",code:q.INTERNAL_SERVER_ERROR.CODE}];case 2:n=r.sent();return[2,ew(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return a(function(){var t,n,r;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);t=e.map(function(e){return p({},tW.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=a.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:t}];case 2:r=a.sent();return[2,ew(r)];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found",code:q.NOT_FOUND.CODE}];case 2:n=r.sent();return[2,ew(n)];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return a(function(){var e,t,n;var r=arguments;return D(this,function(a){switch(a.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};a.label=1;case 1:a.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=a.sent(),t)];case 3:n=a.sent();return[2,ew(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return a(function(){var e,t,n;var r=arguments;return D(this,function(a){switch(a.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};a.label=1;case 1:a.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=a.sent(),t)];case 3:n=a.sent();return[2,ew(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return a(function(){var n,r;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=a.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=a.sent();return[2,ew(r)];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return a(function(){var n,r;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=a.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=a.sent();return[2,ew(r)];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,ew(n)];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,ew(n)];case 3:return[2]}})}).call(this)}}]);return e}();_(tJ,"MongoController");var t$=tJ,tX=/*#__PURE__*/function(){function e(t){s(this,e);L(this,"model");this.model=t}c(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return a(function(){var e,t,n,r,a,s,u;var c=arguments;return D(this,function(i){switch(i.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;i.label=1;case 1:i.trys.push([1,3,,4]);a=this.model.findOne(e,t,n);r&&a.populate(r);return[4,a.exec()];case 2:s=i.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:q.NOT_FOUND.CODE}];case 3:u=i.sent();return[2,ew(u)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return a(function(){var e,t,n,r,a,s,u;var c=arguments;return D(this,function(i){switch(i.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;i.label=1;case 1:i.trys.push([1,3,,4]);a=this.model.find(e,t,n);r&&a.populate(r);s={success:!0};return[4,a.exec()];case 2:return[2,(s.result=i.sent(),s)];case 3:u=i.sent();return[2,ew(u)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return a(function(){var e,t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=s.sent(),n)];case 3:r=s.sent();return[2,ew(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return a(function(e){var t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=s.sent(),n)];case 3:r=s.sent();return[2,ew(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return a(function(){var e,t,n;var r=arguments;return D(this,function(a){switch(a.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};a.label=1;case 1:a.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=a.sent(),t)];case 3:n=a.sent();return[2,ew(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,ew(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return a(function(e){var t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=s.sent().map(function(e){return o(e,F.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=s.sent();return[2,ew(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return a(function(){var e,t,n,r,a;var s=arguments;return D(this,function(u){switch(u.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{},n=s.length>2&&s[2]!==void 0?s[2]:{};u.label=1;case 1:u.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,p({new:!0},n)).exec()];case 2:r=u.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:q.NOT_FOUND.CODE}];case 3:a=u.sent();return[2,ew(a)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return a(function(){var e,t,n,r,a;var s=arguments;return D(this,function(u){switch(u.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{},n=s.length>2&&s[2]!==void 0?s[2]:{};u.label=1;case 1:u.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=u.sent(),r)];case 3:a=u.sent();return[2,ew(a)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return a(function(){var e,t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=s.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:q.NOT_FOUND.CODE}];case 3:r=s.sent();return[2,ew(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return a(function(){var e,t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:q.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=s.sent();return[2,ew(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return a(function(){var n,r,a,s,u;return D(this,function(c){switch(c.label){case 0:c.trys.push([0,6,,7]);n=new Set;r=0;c.label=1;case 1:if(!(r<10))return[3,5];a=er(e,r+t);s=!n.has(a);if(!s)return[3,3];n.add(a);return[4,this.model.exists({shortId:a})];case 2:s=!c.sent();c.label=3;case 3:if(s)return[2,{success:!0,result:a}];c.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:q.INTERNAL_SERVER_ERROR.CODE}];case 6:u=c.sent();return[2,ew(u)];case 7:return[2]}})}).call(this)}},{key:"createSlugQuery",value:function e(e){var t=e.slug,n=e.field,r=e.isObject,a=e.filter;var s=p({},a!==null&&a!==void 0?a:{});return r?v(p({},s),{$or:[i({},"slug.".concat(n),t),{slugHistory:{$elemMatch:i({},"slug.".concat(n),t)}}]}):v(p({},s),{$or:[{slug:t},{slugHistory:t}]})}},{key:"createUniqueSlug",value:function e(e){return a(function(e){var t,n,r,a,s,u,c;return D(this,function(i){switch(i.label){case 0:t=e.slug,n=e.field,r=e.isObject,a=e.filter;s=en(t),u=s,c=1;i.label=1;case 1:return[4,this.model.exists(this.createSlugQuery({slug:u,field:n,isObject:r,filter:a}))];case 2:if(!i.sent())return[3,4];u="".concat(s,"-").concat(c++);i.label=3;case 3:return[3,1];case 4:return[2,u]}})}).apply(this,arguments)}},{key:"createSlug",value:function e(e){return a(function(e){var t,n,r,s,u,c,i,o,l,f;return D(this,function(d){switch(d.label){case 0:t=this;n=e.field,r=e.from,s=e.filter;d.label=1;case 1:d.trys.push([1,6,,7]);u=r[n];if(!J(u))return[3,3];i={success:!0};o=Object.fromEntries;return[4,Promise.all(Object.entries(u).map(function(e){var n=m(e,2),r=n[0],u=n[1];return a(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,this.createUniqueSlug({slug:u,field:r,isObject:!0,filter:s})];case 1:e=t.sent();return[2,[r,e]]}})}).call(t)}))];case 2:c=(i.result=o.apply(Object,[d.sent()]),i);return[3,5];case 3:l={success:!0};return[4,this.createUniqueSlug({slug:u,field:n,isObject:!1,filter:s})];case 4:c=(l.result=d.sent(),l);d.label=5;case 5:return[2,c];case 6:f=d.sent();return[2,ew(f)];case 7:return[2]}})}).apply(this,arguments)}},{key:"checkSlug",value:function e(e){return a(function(e){var t,n,r,a,s,u,c,i,o,l,f,d,E,p,h,v;return D(this,function(m){switch(m.label){case 0:t=e.slug,n=e.field,r=e.from,a=e.filter;m.label=1;case 1:m.trys.push([1,12,,13]);s=r[n];if(!J(s))return[3,10];u=true,c=false,i=undefined;m.label=2;case 2:m.trys.push([2,7,8,9]);o=Object.values(s)[Symbol.iterator]();m.label=3;case 3:if(!!(u=(l=o.next()).done))return[3,6];f=l.value;d=en(f);return[4,this.model.exists(this.createSlugQuery({slug:d,field:n,isObject:!0,filter:a}))];case 4:if(m.sent())return[2,{success:!0,result:!0}];m.label=5;case 5:u=true;return[3,3];case 6:return[3,9];case 7:E=m.sent();c=true;i=E;return[3,9];case 8:try{if(!u&&o.return!=null){o.return()}}finally{if(c){throw i}}return[7];case 9:return[2,{success:!0,result:!1}];case 10:p=en(t);h={success:!0};return[4,this.model.exists(this.createSlugQuery({slug:p,field:n,isObject:!1,filter:a}))];case 11:return[2,(h.result=m.sent()!==null,h)];case 12:v=m.sent();return[2,ew(v)];case 13:return[2]}})}).apply(this,arguments)}},{key:"aggregate",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,ew(n)];case 3:return[2]}})}).call(this)}}]);return e}();_(tX,"MongooseController");var tz=tX;0&&(module.exports={MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});
|
|
1
|
+
"use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,a,s,u){try{var c=e[s](u);var i=c.value}catch(e){n(e);return}if(c.done){t(i)}else{Promise.resolve(i).then(r,a)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,s){var u=e.apply(t,n);function c(e){r(u,a,s,c,i,"next",e)}function i(e){r(u,a,s,c,i,"throw",e)}c(undefined)})}}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(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 c(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function i(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 o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function l(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function f(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var s=false;var u,c;try{for(n=n.call(e);!(a=(u=n.next()).done);a=true){r.push(u.value);if(t&&r.length===t)break}}catch(e){s=true;c=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(s)throw c}}return r}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(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){i(e,t,n[t])})}return e}function h(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 v(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{h(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function m(e,n){return t(e)||f(e,n)||S(e,n)||d()}function y(e){return t(e)||l(e)||S(e)||d()}function g(e){return n(e)||l(e)||S(e)||E()}function O(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function S(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function D(e,t){var n,r,a,s={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},u=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return u.next=c(0),u["throw"]=c(1),u["return"]=c(2),typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return i([e,t])}}function i(c){if(n)throw new TypeError("Generator is already executing.");while(u&&(u=0,c[0]&&(s=0)),s)try{if(n=1,r&&(a=c[0]&2?r["return"]:c[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;if(r=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:s.label++;return{value:c[1],done:false};case 5:s.label++;r=c[1];c=[0];continue;case 7:c=s.ops.pop();s.trys.pop();continue;default:if(!(a=s.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){s=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){s.label=c[1];break}if(c[0]===6&&s.label<a[1]){s.label=a[1];a=c;break}if(a&&s.label<a[2]){s.label=a[2];s.ops.push(c);break}if(a[2])s.ops.pop();s.trys.pop();continue}c=t.call(e,s)}catch(e){c=[6,e];r=0}finally{n=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var C=Object.create;var N=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var R=function(e,t,n){return t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var _=function(e,t){return N(e,"name",{value:t,configurable:!0})};var G=function(e,t){for(var n in t)N(e,n,{get:t[n],enumerable:!0})},P=function(e,t,n,r){var a=true,s=false,u=undefined;if(t&&(typeof t==="undefined"?"undefined":O(t))=="object"||typeof t=="function")try{var c=function(){var a=o.value;!A.call(e,a)&&a!==n&&N(e,a,{get:function(){return t[a]},enumerable:!(r=I(t,a))||r.enumerable})};for(var i=T(t)[Symbol.iterator](),o;!(a=(o=i.next()).done);a=true)c()}catch(e){s=true;u=e}finally{try{if(!a&&i.return!=null){i.return()}}finally{if(s){throw u}}}return e};var M=function(e,t,n){return n=e!=null?C(b(e)):{},P(t||!e||!e.__esModule?N(n,"default",{value:e,enumerable:!0}):n,e)},w=function(e){return P(N({},"__esModule",{value:!0}),e)};var L=function(e,t,n){return R(e,(typeof t==="undefined"?"undefined":O(t))!="symbol"?t+"":t,n)};var U={};G(U,{MongoController:function(){return tz},MongooseController:function(){return t0},aggregatePaginate:function(){return x.default},mongo:function(){return t$},mongoosePaginate:function(){return V.default}});module.exports=w(U);var k=require("date-fns"),j=M(require("migrate-mongo"),1),F=require("mongoose"),x=M(require("mongoose-aggregate-paginate-v2"),1),V=M(require("mongoose-paginate-v2"),1),Y=require("uuid");var q={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 B=M(require("unorm"),1);var K=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var Q={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},H=Object.entries(Q).reduce(function(e,t){var n=m(t,2),r=n[0],a=n[1];return e[r.toUpperCase()]=a.map(function(e){return e.toUpperCase()}),e},{});function W(e){e=B.default.nfkc(e);var t=p({},Q,H);var n=true,r=false,a=undefined;try{for(var s=Object.entries(t)[Symbol.iterator](),u;!(n=(u=s.next()).done);n=true){var c=m(u.value,2),i=c[0],o=c[1];var l="[".concat(i).concat(o.join(""),"]"),f="(".concat([i].concat(g(o)).join("|"),")");e=e.replace(new RegExp(l,"g"),f)}}catch(e){r=true;a=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw a}}}return e}_(W,"regexSearchMapper");function J(e){return(typeof e==="undefined"?"undefined":O(e))=="object"&&e!==null&&!Array.isArray(e)}_(J,"isObject");function $(e){return JSON.parse(JSON.stringify(e))}_($,"deepClone");function X(e,t){return t.reduce(function(e,t){if(e&&(typeof e==="undefined"?"undefined":O(e))=="object"&&t in e)return e[t]},e)}_(X,"getNestedValue");function z(e,t,n){if(t.length===0)return e;var r=y(t),a=r[0],s=r.slice(1);if(s.length===0)return v(p({},e),i({},a,n));var u=e[a];return v(p({},e),i({},a,z((typeof u==="undefined"?"undefined":O(u))=="object"&&u!==null?u:{},s,n)))}_(z,"setNestedValue");var Z=M(require("crypto-js"),1),ee=M(require("slugify"),1);var et=ee.default.default||ee.default;function en(e,t){var n=_(function(e){var n,r;return et(e!==null&&e!==void 0?e:"",p({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(J(e)){var r={};var a=true,s=false,u=undefined;try{for(var c=Object.entries(e)[Symbol.iterator](),i;!(a=(i=c.next()).done);a=true){var o=m(i.value,2),l=o[0],f=o[1];r[l]=n(f)}}catch(e){s=true;u=e}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(s){throw u}}}return r}return n(e)}_(en,"generateSlug");function er(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return Z.default.SHA256(e).toString(Z.default.enc.Hex).slice(0,t)}_(er,"generateShortId");var ea={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":O(e))=="object"?o(e,Date)?!1:o(e,Map)||o(e,Set)?e.size===0:o(e,WeakMap)||o(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var es=M(require("fs-extra"),1),eu=M(require("path"),1);var ec=es.default,ei=ec.lstatSync,eo=ec.readdirSync,el=ec.mkdirSync,ef=ec.readFileSync,ed=ec.unlinkSync,eE=ec.statSync,ep=ec.createWriteStream,eh=es.default.readJsonSync;function ev(e,t,n){es.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}_(ev,"writeFileSync");function em(e,t,n){es.default.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}_(em,"appendFileSync");function ey(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return es.default.pathExistsSync(e)})}_(ey,"pathExistsSync");var eg=function(e){return e.Error="error",e.Warning="warning",e}({});var eO=M(require("chalk"),1),eS=M(require("consola"),1),eD=require("graphql");var eC=".cyberskill-storage";var eN=M(require("@dotenvx/dotenvx"),1),eI=require("envalid"),eT=M(require("os"),1),eb=M(require("path"),1),eA=M(require("process"),1);var eR=!1;function e_(){eA.default.env.NODE_ENV!==K.PRODUCTION&&!eR&&(eN.default.config(),eR=!0)}_(e_,"loadEnvFile");function eG(){e_();var e=(0,eI.cleanEnv)(eA.default.env,{CWD:(0,eI.str)({default:eA.default.cwd()}),DEBUG:(0,eI.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,eI.str)({default:eb.default.join(eT.default.homedir(),eC)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}_(eG,"getEnv");var eP=eG();eP.DEBUG||(eS.default.level=4);function eM(e){var t=eO.default[e];return typeof t=="function"?t:eO.default.green}_(eM,"chalkKeyword");var ew={silent:eS.default.silent,level:eS.default.level,fatal:eS.default.fatal,error:eS.default.error,warn:eS.default.warn,log:eS.default.log,info:eS.default.info,success:eS.default.success,ready:eS.default.ready,start:eS.default.start,box:eS.default.box,debug:eS.default.debug,trace:eS.default.trace,verbose:eS.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){eS.default.box(eO.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,s=e.message;eS.default.log("".concat(eO.default.gray("File:")," ").concat(eO.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&eS.default.log(" ".concat(eM(n)("Rule:")," ").concat(a)),eS.default.log(" ".concat(eM(n)("Message:")," ").concat(s))}),eS.default.box(eM(n)("".concat(e," : ").concat(t.length))),eS.default.log(eO.default.gray("─".repeat(40)))}};function eL(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,a=r===void 0?!0:r,s=n.returnValue,u=n.callback,c=o(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return a&&ew.error(c.message),u&&typeof u=="function"&&u(c),s||{success:!1,message:c.message,code:q.INTERNAL_SERVER_ERROR.CODE}}_(eL,"catchError");var eU=M(require("fs-extra"),1);var ek=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ej=require("child_process"),eF=M(require("process"),1),ex=M(require("util"),1);var eV=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var eY=M(require("node-fetch"),1);var eq=eG();function eB(e){return a(function(){var t,n,r,a;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,(0,eY.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=s.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=s.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:a=s.sent();return[2,eL(a)];case 4:return[2]}})})()}_(eB,"getLatestPackageVersion");function eK(e){return a(function(){var t,n,r,a,s,u,c,i,o,l,f,d,E,p,h,v,m,y,g,O,S,C,N,I;return D(this,function(D){switch(D.label){case 0:D.trys.push([0,2,,3]);if(!e){if(ey(tH.PACKAGE_JSON)){t=eh(tH.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,a=t.version,s=a===void 0?"":a;return[2,{success:!0,result:{name:r,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:tH.PACKAGE_JSON,file:t}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!ey(tH.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eV.DEPENDENCY,isDevDependency:e.type===eV.DEV_DEPENDENCY,installedPath:"",file:{}}}];u=eh(tH.PACKAGE_JSON),c=u.name,i=u.version,o=i===void 0?"":i,l=u.dependencies,f=l===void 0?{}:l,d=u.devDependencies,E=d===void 0?{}:d;if(e.name===c)return[2,{success:!0,result:{name:c,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eV.DEPENDENCY,isDevDependency:e.type===eV.DEV_DEPENDENCY,installedPath:tH.PACKAGE_JSON,file:u}}];p=e.name in f,h=e.name in E;return[4,eB(e.name)];case 1:v=D.sent();if(!v.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:h,installedPath:"",file:{}}}];if(!p&&!h)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:v.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eV.DEPENDENCY,isDevDependency:e.type===eV.DEV_DEPENDENCY,installedPath:"",file:{}}}];g=(y=(m=f[e.name])!==null&&m!==void 0?m:E[e.name])!==null&&y!==void 0?y:"",O=ts(eq.CWD,to,e.name,td);if(!ey(O))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:v.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:h,installedPath:"",file:{}}}];S=eh(O),C=S.version,N=C===void 0?"":C;return[2,g!==N?{success:!0,result:{name:e.name,currentVersion:N||g,latestVersion:v.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:p,isDevDependency:h,installedPath:O,file:S}}:{success:!0,result:{name:e.name,currentVersion:g,latestVersion:v.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:g===v.result,isDependency:p,isDevDependency:h,installedPath:O,file:S}}];case 2:I=D.sent();return[2,eL(I)];case 3:return[2]}})})()}_(eK,"getPackage");function eQ(e){return a(function(){var t,n,r,a,s;return D(this,function(u){try{;r=eh(tH.PACKAGE_JSON),a=(t=r.dependencies)!==null&&t!==void 0?t:{},s=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(s[e.name]=e.latestVersion),ev(tH.PACKAGE_JSON,JSON.stringify(r,null,4)),ew.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){eL(e)}return[2]})})()}_(eQ,"updatePackage");function eH(){return a(function(){var e,t,n,r,a,s,u,c,i,o,l,f,d;return D(this,function(E){switch(E.label){case 0:E.trys.push([0,12,,13]);e=[{command:_(function(){return tJ.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:_(function(){return tJ.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:_(function(){return tJ.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;E.label=1;case 1:E.trys.push([1,9,10,11]);a=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(s=a.next()).done))return[3,8];u=s.value,c=u.command,i=u.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,c()];case 4:o=E.sent();return[4,e9("".concat(i," using: ").concat(o),o)];case 5:E.sent();return[2];case 6:l=E.sent();eL(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=E.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:d=E.sent();eL(d);return[3,13];case 13:return[2]}})})()}_(eH,"installDependencies");function eW(e,t){return a(function(){var n,r,a,s,u,c,i,o,l,f,d,E,p,h,v,m,y;return D(this,function(O){switch(O.label){case 0:O.trys.push([0,15,,16]);if(!ey(tH.PACKAGE_JSON)){ew.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(eK))];case 1:a=O.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),s=a.filter(function(e){return!e.isInstalled}),u=a.filter(function(e){return!e.isUpToDate}),c=[];(t===null||t===void 0?void 0:t.install)&&s.length>0&&(n=c).push.apply(n,g(s.map(eQ))),(t===null||t===void 0?void 0:t.update)&&u.length>0&&(r=c).push.apply(r,g(u.map(eQ)));i=c.length>0;if(!i)return[3,6];return[4,Promise.all(c)];case 2:O.sent();return[4,eH()];case 3:O.sent();o=["Running ESLint with auto-fix"];return[4,tJ.eslintFix()];case 4:return[4,e9.apply(void 0,o.concat([O.sent()]))];case 5:i=O.sent();O.label=6;case 6:i;f=true,d=false,E=undefined;O.label=7;case 7:O.trys.push([7,12,13,14]);p=((l=t===null||t===void 0?void 0:t.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();O.label=8;case 8:if(!!(f=(h=p.next()).done))return[3,11];v=h.value;return[4,v()];case 9:O.sent();O.label=10;case 10:f=true;return[3,8];case 11:return[3,14];case 12:m=O.sent();d=true;E=m;return[3,14];case 13:try{if(!f&&p.return!=null){p.return()}}finally{if(d){throw E}}return[7];case 14:return[3,16];case 15:y=O.sent();eL(y);return[3,16];case 16:return[2]}})})()}_(eW,"setupPackages");var eJ=M(require("node-persist"),1);var e$=eG();function eX(){return a(function(){var e;return D(this,function(t){switch(t.label){case 0:e=eJ.default.defaultInstance;if(e)return[3,2];return[4,eJ.default.init({dir:e$.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}_(eX,"initNodePersist");var ez={get:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eX()];case 1:r.sent();return[4,eJ.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,eL(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eX()];case 1:r.sent();return[4,eJ.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eL(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eX()];case 1:n.sent();return[4,eJ.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eL(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eX()];case 1:n.sent();return[4,eJ.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ew.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,eL(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return D(this,function(t){try{return[2,"".concat(e$.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,eL(e,{returnValue:null})]}return[2]})})()}};var eZ=eG(),e0=ex.promisify(ej.exec);function e1(){return a(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,eK()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}_(e1,"getPackageName");function e2(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,e1()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,ez.set(t,e)];case 3:r.sent(),setTimeout(function(){return a(function(){var e;return D(this,function(n){switch(n.label){case 0:return[4,ez.getLogLink(t)];case 1:e=n.sent();e&&ew.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();eL(n);return[3,5];case 5:return[2]}})})()}_(e2,"saveErrorListToStorage");function e4(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,s=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,u=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,i,o,l,f;var d=a.exec(e)||[],E=s.exec(e)||[],p=u.exec(e)||[];var h,v,m,y,g,O;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eg.Error?eg.Error:eg.Warning,message:(h=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:"",rule:(v=d===null||d===void 0?void 0:(i=d[5])===null||i===void 0?void 0:i.trim())!==null&&v!==void 0?v:""}):E.length?t.push({file:(m=E===null||E===void 0?void 0:E[1])!==null&&m!==void 0?m:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eg.Error?eg.Error:eg.Warning,message:(y=E===null||E===void 0?void 0:(o=E[5])===null||o===void 0?void 0:o.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:"commitlint",type:eg.Error,message:(g=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&g!==void 0?g:"",rule:(O=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&O!==void 0?O:""}):n.push(e.trim())}}),t.length&&e2(t),eZ.DEBUG&&n.length&&(ew.warn("Unmatched lines:"),n.forEach(function(e){return ew.info(" ".concat(e))}))}_(e4,"parseTextErrors");function e3(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,s=e.column,u=e.ruleId,c=e.message;n.push({type:r===2?eg.Error:eg.Warning,file:t,position:"".concat(a,":").concat(s),rule:u,message:c})})}),n.length&&e2(n)}catch(t){e4(e)}}_(e3,"parseCommandOutput");function e5(e){return a(function(e){var t,n,r,a,s,u,c,i,o;var l=arguments;return D(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:e3;n=new AbortController;eF.default.on("SIGINT",function(){ew.warn("Process interrupted. Terminating..."),n.abort(),eF.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,e0(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,s=r.stderr;[a,s].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:u=f.sent();c=u.stdout,i=u.stderr,o=u.message;[c,i].forEach(function(e){return e&&t(e)}),!i&&!c&&ew.error("Command failed: ".concat(o));return[3,5];case 5:return[2]}})}).apply(this,arguments)}_(e5,"executeCommand");function e6(e){return{raw:!0,cmd:e}}_(e6,"rawCommand");function e7(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tj," ").concat(tL," ").concat(tC," ").concat(e):"".concat(tj," ").concat(tD," ").concat(e)}_(e7,"formatCLI");function e8(e,t){return typeof e=="function"?e7(e(t),t):(typeof e==="undefined"?"undefined":O(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e7(e,t):e}_(e8,"formatCommand");function e9(e,t){return a(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ew.start("".concat(e)),eZ.DEBUG&&ew.info("→ ".concat(t));return[4,e5(t)];case 1:r.sent(),ew.success("".concat(e," done."));return[3,3];case 2:n=r.sent();eL(n);return[3,3];case 3:return[2]}})})()}_(e9,"runCommand");var te=M(require("path"),1);var tt=eG(),tn=te.default,tr=tn.dirname;function ta(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=tn).resolve.apply(r,[tt.CWD].concat(g(t)))}_(ta,"resolveWorkingPath");function ts(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=tn).join.apply(r,g(t))}_(ts,"join");var tu=eG(),tc=tu.CWD,ti="@cyberskill/shared",to="node_modules",tl="dist",tf="public",td="package.json",tE="package-lock.json",tp="tsconfig.json",th=".gitignore",tv=".simple-git-hooks.json",tm="pnpm-lock.yaml",ty=".git/hooks/",tg=".git/COMMIT_EDITMSG",tO=".migrate-mongo.config.js",tS=function(){var e=eU.default.readJsonSync(ta(td)).name===ti?tc:ts(tc,to,ti);return ts(e,tl)}(),tD="cyberskill",tC="src/node/cli/index.ts",tN="eslint",tI="eslint",tT="vitest";var tb="vitest",tA="@commitlint/cli",tR="@commitlint/config-conventional",t_="commitlint",tG="lint-staged",tP="lint-staged",tM="typescript",tw="tsc",tL="tsx",tU="git",tk="pnpm",tj="pnpm exec",tF="simple-git-hooks",tx="simple-git-hooks",tV="@eslint/config-inspector",tY="eslint-config-inspector",tq="node-modules-inspector",tB="node-modules-inspector",tK="migrate-mongo",tQ="./node_modules/migrate-mongo/bin/migrate-mongo",tH={CYBERSKILL_DIRECTORY:tS,WORKING_DIRECTORY:tc,PUBLIC_DIRECTORY:ta(tf),TS_CONFIG:ta(tp),GIT_IGNORE:ta(th),GIT_HOOK:ta(ty),GIT_COMMIT_MSG:ta(tg),SIMPLE_GIT_HOOKS_JSON:ta(tv),PACKAGE_JSON:ta(td),PACKAGE_LOCK_JSON:ta(tE),PNPM_LOCK_YAML:ta(tm),NODE_MODULES:ta(to),MIGRATE_MONGO_CONFIG:ta(tO),LINT_STAGED_CONFIG:ta("".concat(tS,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:ta("".concat(tS,"/config/commitlint/index.js")),VITEST_UNIT_CONFIG:ta("".concat(tS,"/config/vitest/vitest.unit.js")),VITEST_UNIT_SETUP_CONFIG:ta("".concat(tS,"/config/vitest/vitest.unit.setup.js")),VITEST_E2E_CONFIG:ta("".concat(tS,"/config/vitest/vitest.e2e.js"))};function tW(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return a(function(){var e;return D(this,function(n){switch(n.label){case 0:switch(t){case ek.CLI:return[3,1];case ek.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,eW(s,{install:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,e8(e6("".concat(tj," ").concat(r))))];case 4:return[2,e8(e6(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}_(tW,"buildCommand");var tJ={simpleGitHooks:tW({type:ek.CLI,packages:[{name:tF,type:eV.DEV_DEPENDENCY}],command:tx}),eslintInspect:tW({type:ek.CLI,packages:[{name:tV,type:eV.DEV_DEPENDENCY}],command:tY}),nodeModulesInspect:tW({type:ek.CLI,packages:[{name:tq,type:eV.DEV_DEPENDENCY}],command:tB}),eslintCheck:tW({type:ek.CLI,packages:[{name:tN,type:eV.DEV_DEPENDENCY}],command:"".concat(tI," ").concat(tH.WORKING_DIRECTORY," --no-cache")}),eslintFix:tW({type:ek.CLI,packages:[{name:tN,type:eV.DEV_DEPENDENCY}],command:"".concat(tI," ").concat(tH.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tW({type:ek.CLI,packages:[{name:tM,type:eV.DEV_DEPENDENCY}],command:"".concat(tw," -p ").concat(tH.TS_CONFIG," --noEmit")}),testUnit:tW({type:ek.CLI,packages:[{name:tT,type:eV.DEV_DEPENDENCY}],command:"".concat(tb," --config ").concat(tH.VITEST_UNIT_CONFIG)}),testE2e:tW({type:ek.CLI,packages:[{name:tT,type:eV.DEV_DEPENDENCY}],command:"".concat(tb," --config ").concat(tH.VITEST_E2E_CONFIG)}),mongoMigrateCreate:_(function(e){return tW({type:ek.CLI,packages:[{name:tL,type:eV.DEPENDENCY},{name:tK,type:eV.DEPENDENCY}],command:"".concat(tL," ").concat(tQ," create ").concat(e," -f ").concat(tH.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tW({type:ek.CLI,packages:[{name:tL,type:eV.DEPENDENCY},{name:tK,type:eV.DEPENDENCY}],command:"".concat(tL," ").concat(tQ," up -f ").concat(tH.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tW({type:ek.CLI,packages:[{name:tL,type:eV.DEPENDENCY},{name:tK,type:eV.DEPENDENCY}],command:"".concat(tL," ").concat(tQ," down -f ").concat(tH.MIGRATE_MONGO_CONFIG)}),commitLint:tW({type:ek.CLI,packages:[{name:tA,type:eV.DEV_DEPENDENCY},{name:tR,type:eV.DEV_DEPENDENCY}],command:"".concat(t_," --edit ").concat(tH.GIT_COMMIT_MSG," --config ").concat(tH.COMMITLINT_CONFIG)}),lintStaged:tW({type:ek.CLI,packages:[{name:tG,type:eV.DEV_DEPENDENCY}],command:"".concat(tP," --config ").concat(tH.LINT_STAGED_CONFIG)}),configureGitHook:tW({type:ek.STRING,command:"".concat(tU," config core.hooksPath ").concat(tH.GIT_HOOK)}),build:tW({type:ek.STRING,command:"".concat(tk," run --if-present build")}),pnpmInstallStandard:tW({type:ek.STRING,command:"".concat(tk," install --ignore-scripts")}),pnpmInstallLegacy:tW({type:ek.STRING,command:"".concat(tk," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:tW({type:ek.STRING,command:"".concat(tk," install --ignore-scripts --force")}),pnpmPruneStore:tW({type:ek.STRING,command:"".concat(tk," store prune")}),pnpmCleanCache:tW({type:ek.STRING,command:"".concat(tk," cache delete")})};var t$={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,k.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"?t$.getDateTime():new Date;return{id:(0,Y.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,a=t.post;n&&r&&e.pre(n,r),n&&a&&e.post(n,a)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:Y.v4,unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,a=r===void 0?[]:r,s=e.standalone,u=s===void 0?!1:s;var c=new t.Schema(n);return a.forEach(function(e){var t=e.name,n=e.options,r=e.get;var a=c.virtual(t,n);r&&a.get(r)}),u||c.add(t$.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,a=e.pagination,s=a===void 0?!1:a,u=e.aggregate,c=u===void 0?!1:u,i=e.virtuals,o=i===void 0?[]:i,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var d=t$.createSchema({mongoose:t,schema:r,virtuals:o});return t$.applyPlugins(d,[s&&V.default,c&&x.default]),t$.applyMiddlewares(d,f),t.model(n,d)},validator:{isRequired:function e(){return function(e){return a(function(){return D(this,function(t){return[2,!ea.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return a(function(){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 i({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return a(function(){return D(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!o(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:v(p({},j.default),{setConfig:_(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));ev(tH.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tO,"\n");ey(tH.GIT_IGNORE)?ef(tH.GIT_IGNORE,"utf-8").split("\n").includes(tO)||em(tH.GIT_IGNORE,n):ev(tH.GIT_IGNORE,n)},"setConfig")}),regexify:function e(e,t){if(!e)return{};var n=$(e);if(!t||t.length===0)return n;var r=true,a=false,s=undefined;try{for(var u=t[Symbol.iterator](),c;!(r=(c=u.next()).done);r=true){var i=c.value;var o=i.toString().split("."),l=X(n,o);if(typeof l=="string"&&l.length>0){var f={$regex:".*".concat(W(l),".*"),$options:"i"};n=z(n,o,f)}}}catch(e){a=true;s=e}finally{try{if(!r&&u.return!=null){u.return()}}finally{if(a){throw s}}}return n}},tX=/*#__PURE__*/function(){function e(t,n){s(this,e);L(this,"collection");this.collection=t.collection(n)}c(e,[{key:"createOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t=p({},t$.createGenericFields(),e);return[4,this.collection.insertOne(t)];case 1:return[2,r.sent().acknowledged?{success:!0,message:"Document created successfully",result:t}:{success:!1,message:"Document creation failed",code:q.INTERNAL_SERVER_ERROR.CODE}];case 2:n=r.sent();return[2,eL(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return a(function(){var t,n,r;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);t=e.map(function(e){return p({},t$.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=a.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:t}];case 2:r=a.sent();return[2,eL(r)];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found",code:q.NOT_FOUND.CODE}];case 2:n=r.sent();return[2,eL(n)];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return a(function(){var e,t,n;var r=arguments;return D(this,function(a){switch(a.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};a.label=1;case 1:a.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=a.sent(),t)];case 3:n=a.sent();return[2,eL(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return a(function(){var e,t,n;var r=arguments;return D(this,function(a){switch(a.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};a.label=1;case 1:a.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=a.sent(),t)];case 3:n=a.sent();return[2,eL(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return a(function(){var n,r;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=a.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=a.sent();return[2,eL(r)];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return a(function(){var n,r;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=a.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=a.sent();return[2,eL(r)];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,eL(n)];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:q.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,eL(n)];case 3:return[2]}})}).call(this)}}]);return e}();_(tX,"MongoController");var tz=tX,tZ=/*#__PURE__*/function(){function e(t){s(this,e);L(this,"model");this.model=t}c(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return a(function(){var e,t,n,r,a,s,u;var c=arguments;return D(this,function(i){switch(i.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;i.label=1;case 1:i.trys.push([1,3,,4]);a=this.model.findOne(e,t,n);r&&a.populate(r);return[4,a.exec()];case 2:s=i.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:q.NOT_FOUND.CODE}];case 3:u=i.sent();return[2,eL(u)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return a(function(){var e,t,n,r,a,s,u;var c=arguments;return D(this,function(i){switch(i.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;i.label=1;case 1:i.trys.push([1,3,,4]);a=this.model.find(e,t,n);r&&a.populate(r);s={success:!0};return[4,a.exec()];case 2:return[2,(s.result=i.sent(),s)];case 3:u=i.sent();return[2,eL(u)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return a(function(){var e,t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=s.sent(),n)];case 3:r=s.sent();return[2,eL(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return a(function(e){var t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=s.sent(),n)];case 3:r=s.sent();return[2,eL(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return a(function(){var e,t,n;var r=arguments;return D(this,function(a){switch(a.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};a.label=1;case 1:a.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=a.sent(),t)];case 3:n=a.sent();return[2,eL(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eL(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return a(function(e){var t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=s.sent().map(function(e){return o(e,F.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=s.sent();return[2,eL(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return a(function(){var e,t,n,r,a;var s=arguments;return D(this,function(u){switch(u.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{},n=s.length>2&&s[2]!==void 0?s[2]:{};u.label=1;case 1:u.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,p({new:!0},n)).exec()];case 2:r=u.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:q.NOT_FOUND.CODE}];case 3:a=u.sent();return[2,eL(a)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return a(function(){var e,t,n,r,a;var s=arguments;return D(this,function(u){switch(u.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{},n=s.length>2&&s[2]!==void 0?s[2]:{};u.label=1;case 1:u.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=u.sent(),r)];case 3:a=u.sent();return[2,eL(a)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return a(function(){var e,t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=s.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:q.NOT_FOUND.CODE}];case 3:r=s.sent();return[2,eL(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return a(function(){var e,t,n,r;var a=arguments;return D(this,function(s){switch(s.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{};s.label=1;case 1:s.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:q.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=s.sent();return[2,eL(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return a(function(){var n,r,a,s,u;return D(this,function(c){switch(c.label){case 0:c.trys.push([0,6,,7]);n=new Set;r=0;c.label=1;case 1:if(!(r<10))return[3,5];a=er(e,r+t);s=!n.has(a);if(!s)return[3,3];n.add(a);return[4,this.model.exists({shortId:a})];case 2:s=!c.sent();c.label=3;case 3:if(s)return[2,{success:!0,result:a}];c.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:q.INTERNAL_SERVER_ERROR.CODE}];case 6:u=c.sent();return[2,eL(u)];case 7:return[2]}})}).call(this)}},{key:"createSlugQuery",value:function e(e){var t=e.slug,n=e.field,r=e.isObject,a=e.filter;var s=p({},a!==null&&a!==void 0?a:{});return r?v(p({},s),{$or:[i({},"slug.".concat(n),t),{slugHistory:{$elemMatch:i({},"slug.".concat(n),t)}}]}):v(p({},s),{$or:[{slug:t},{slugHistory:t}]})}},{key:"createUniqueSlug",value:function e(e){return a(function(e){var t,n,r,a,s,u,c;return D(this,function(i){switch(i.label){case 0:t=e.slug,n=e.field,r=e.isObject,a=e.filter;s=en(t),u=s,c=1;i.label=1;case 1:return[4,this.model.exists(this.createSlugQuery({slug:u,field:n,isObject:r,filter:a}))];case 2:if(!i.sent())return[3,4];u="".concat(s,"-").concat(c++);i.label=3;case 3:return[3,1];case 4:return[2,u]}})}).apply(this,arguments)}},{key:"createSlug",value:function e(e){return a(function(e){var t,n,r,s,u,c,i,o,l,f;return D(this,function(d){switch(d.label){case 0:t=this;n=e.field,r=e.from,s=e.filter;d.label=1;case 1:d.trys.push([1,6,,7]);u=r[n];if(!J(u))return[3,3];i={success:!0};o=Object.fromEntries;return[4,Promise.all(Object.entries(u).map(function(e){var n=m(e,2),r=n[0],u=n[1];return a(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,this.createUniqueSlug({slug:u,field:r,isObject:!0,filter:s})];case 1:e=t.sent();return[2,[r,e]]}})}).call(t)}))];case 2:c=(i.result=o.apply(Object,[d.sent()]),i);return[3,5];case 3:l={success:!0};return[4,this.createUniqueSlug({slug:u,field:n,isObject:!1,filter:s})];case 4:c=(l.result=d.sent(),l);d.label=5;case 5:return[2,c];case 6:f=d.sent();return[2,eL(f)];case 7:return[2]}})}).apply(this,arguments)}},{key:"checkSlug",value:function e(e){return a(function(e){var t,n,r,a,s,u,c,i,o,l,f,d,E,p,h,v;return D(this,function(m){switch(m.label){case 0:t=e.slug,n=e.field,r=e.from,a=e.filter;m.label=1;case 1:m.trys.push([1,12,,13]);s=r[n];if(!J(s))return[3,10];u=true,c=false,i=undefined;m.label=2;case 2:m.trys.push([2,7,8,9]);o=Object.values(s)[Symbol.iterator]();m.label=3;case 3:if(!!(u=(l=o.next()).done))return[3,6];f=l.value;d=en(f);return[4,this.model.exists(this.createSlugQuery({slug:d,field:n,isObject:!0,filter:a}))];case 4:if(m.sent())return[2,{success:!0,result:!0}];m.label=5;case 5:u=true;return[3,3];case 6:return[3,9];case 7:E=m.sent();c=true;i=E;return[3,9];case 8:try{if(!u&&o.return!=null){o.return()}}finally{if(c){throw i}}return[7];case 9:return[2,{success:!0,result:!1}];case 10:p=en(t);h={success:!0};return[4,this.model.exists(this.createSlugQuery({slug:p,field:n,isObject:!1,filter:a}))];case 11:return[2,(h.result=m.sent()!==null,h)];case 12:v=m.sent();return[2,eL(v)];case 13:return[2]}})}).apply(this,arguments)}},{key:"aggregate",value:function e(e){return a(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eL(n)];case 3:return[2]}})}).call(this)}}]);return e}();_(tZ,"MongooseController");var t0=tZ;0&&(module.exports={MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,s,a,c){try{var i=e[a](c);var o=i.value}catch(e){n(e);return}if(i.done){t(o)}else{Promise.resolve(o).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,a){var c=e.apply(t,n);function i(e){r(c,s,a,i,o,"next",e)}function o(e){r(c,s,a,i,o,"throw",e)}i(undefined)})}}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(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 i(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function o(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 u(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function l(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function f(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var a=false;var c,i;try{for(n=n.call(e);!(s=(c=n.next()).done);s=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(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){o(e,t,n[t])})}return e}function m(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 h(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{m(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function y(e,n){return t(e)||f(e,n)||S(e,n)||E()}function v(e){return t(e)||l(e)||S(e)||E()}function g(e){return n(e)||l(e)||S(e)||d()}function O(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function S(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function D(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return o([e,t])}}function o(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(s=i[0]&2?r["return"]:i[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;if(r=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]<s[3])){a.label=i[1];break}if(i[0]===6&&a.label<s[1]){a.label=s[1];s=i;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(i);break}if(s[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=s=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var N=Object.defineProperty;var C=function(e,t,n){return t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var I=function(e,t){return N(e,"name",{value:t,configurable:!0})};var T=function(e,t,n){return C(e,(typeof t==="undefined"?"undefined":O(t))!="symbol"?t+"":t,n)};import{format as A}from"date-fns";import R from"migrate-mongo";import{Document as b}from"mongoose";import _ from"mongoose-aggregate-paginate-v2";import G from"mongoose-paginate-v2";import{v4 as P}from"uuid";var M={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"}};import w from"unorm";var L=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var U={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},k=Object.entries(U).reduce(function(e,t){var n=y(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function j(e){e=w.nfkc(e);var t=p({},U,k);var n=true,r=false,s=undefined;try{for(var a=Object.entries(t)[Symbol.iterator](),c;!(n=(c=a.next()).done);n=true){var i=y(c.value,2),o=i[0],u=i[1];var l="[".concat(o).concat(u.join(""),"]"),f="(".concat([o].concat(g(u)).join("|"),")");e=e.replace(new RegExp(l,"g"),f)}}catch(e){r=true;s=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw s}}}return e}I(j,"regexSearchMapper");function F(e){return(typeof e==="undefined"?"undefined":O(e))=="object"&&e!==null&&!Array.isArray(e)}I(F,"isObject");function V(e){return JSON.parse(JSON.stringify(e))}I(V,"deepClone");function x(e,t){return t.reduce(function(e,t){if(e&&(typeof e==="undefined"?"undefined":O(e))=="object"&&t in e)return e[t]},e)}I(x,"getNestedValue");function Y(e,t,n){if(t.length===0)return e;var r=v(t),s=r[0],a=r.slice(1);if(a.length===0)return h(p({},e),o({},s,n));var c=e[s];return h(p({},e),o({},s,Y((typeof c==="undefined"?"undefined":O(c))=="object"&&c!==null?c:{},a,n)))}I(Y,"setNestedValue");import Q from"crypto-js";import q from"slugify";var B=q.default||q;function K(e,t){var n=I(function(e){var n,r;return B(e!==null&&e!==void 0?e:"",p({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(F(e)){var r={};var s=true,a=false,c=undefined;try{for(var i=Object.entries(e)[Symbol.iterator](),o;!(s=(o=i.next()).done);s=true){var u=y(o.value,2),l=u[0],f=u[1];r[l]=n(f)}}catch(e){a=true;c=e}finally{try{if(!s&&i.return!=null){i.return()}}finally{if(a){throw c}}}return r}return n(e)}I(K,"generateSlug");function H(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return Q.SHA256(e).toString(Q.enc.Hex).slice(0,t)}I(H,"generateShortId");var W={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":O(e))=="object"?u(e,Date)?!1:u(e,Map)||u(e,Set)?e.size===0:u(e,WeakMap)||u(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};import J from"fs-extra";import $ from"path";var X=J.lstatSync,z=J.readdirSync,Z=J.mkdirSync,ee=J.readFileSync,et=J.unlinkSync,en=J.statSync,er=J.readJsonSync;function es(e,t,n){J.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}I(es,"writeFileSync");function ea(e,t,n){J.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}I(ea,"appendFileSync");function ec(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return J.pathExistsSync(e)})}I(ec,"pathExistsSync");var ei=function(e){return e.Error="error",e.Warning="warning",e}({});import eo from"chalk";import eu from"consola";import{GraphQLError as el}from"graphql";var ef=".cyberskill-storage";import eE from"@dotenvx/dotenvx";import{bool as ed,cleanEnv as ep,str as em}from"envalid";import eh from"os";import ey from"path";import ev from"process";var eg=!1;function eO(){ev.env.NODE_ENV!==L.PRODUCTION&&!eg&&(eE.config(),eg=!0)}I(eO,"loadEnvFile");function eS(){eO();var e=ep(ev.env,{CWD:em({default:ev.cwd()}),DEBUG:ed({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:em({default:ey.join(eh.homedir(),ef)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}I(eS,"getEnv");var eD=eS();eD.DEBUG||(eu.level=4);function eN(e){var t=eo[e];return typeof t=="function"?t:eo.green}I(eN,"chalkKeyword");var eC={silent:eu.silent,level:eu.level,fatal:eu.fatal,error:eu.error,warn:eu.warn,log:eu.log,info:eu.info,success:eu.success,ready:eu.ready,start:eu.start,box:eu.box,debug:eu.debug,trace:eu.trace,verbose:eu.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){eu.box(eo.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;eu.log("".concat(eo.gray("File:")," ").concat(eo.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eu.log(" ".concat(eN(n)("Rule:")," ").concat(s)),eu.log(" ".concat(eN(n)("Message:")," ").concat(a))}),eu.box(eN(n)("".concat(e," : ").concat(t.length))),eu.log(eo.gray("─".repeat(40)))}};function eI(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,s=r===void 0?!0:r,a=n.returnValue,c=n.callback,i=u(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return s&&eC.error(i.message),c&&typeof c=="function"&&c(i),a||{success:!1,message:i.message,code:M.INTERNAL_SERVER_ERROR.CODE}}I(eI,"catchError");import eT from"fs-extra";var eA=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as eR}from"child_process";import eb from"process";import*as e_ from"util";var eG=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import eP from"node-fetch";var eM=eS();function ew(e){return s(function(){var t,n,r,s;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,eP("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:s=a.sent();return[2,eI(s)];case 4:return[2]}})})()}I(ew,"getLatestPackageVersion");function eL(e){return s(function(){var t,n,r,s,a,c,i,o,u,l,f,E,d,p,m,h,y,v,g,O,S,N,C,I;return D(this,function(D){switch(D.label){case 0:D.trys.push([0,2,,3]);if(!e){if(ec(tU.PACKAGE_JSON)){t=er(tU.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,s=t.version,a=s===void 0?"":s;return[2,{success:!0,result:{name:r,currentVersion:a,latestVersion:a,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:tU.PACKAGE_JSON,file:t}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!ec(tU.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eG.DEPENDENCY,isDevDependency:e.type===eG.DEV_DEPENDENCY,installedPath:"",file:{}}}];c=er(tU.PACKAGE_JSON),i=c.name,o=c.version,u=o===void 0?"":o,l=c.dependencies,f=l===void 0?{}:l,E=c.devDependencies,d=E===void 0?{}:E;if(e.name===i)return[2,{success:!0,result:{name:i,currentVersion:u,latestVersion:u,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eG.DEPENDENCY,isDevDependency:e.type===eG.DEV_DEPENDENCY,installedPath:tU.PACKAGE_JSON,file:c}}];p=e.name in f,m=e.name in d;return[4,ew(e.name)];case 1:h=D.sent();if(!h.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:m,installedPath:"",file:{}}}];if(!p&&!m)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:h.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eG.DEPENDENCY,isDevDependency:e.type===eG.DEV_DEPENDENCY,installedPath:"",file:{}}}];g=(v=(y=f[e.name])!==null&&y!==void 0?y:d[e.name])!==null&&v!==void 0?v:"",O=e3(eM.CWD,e8,e.name,tt);if(!ec(O))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:h.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:m,installedPath:"",file:{}}}];S=er(O),N=S.version,C=N===void 0?"":N;return[2,g!==C?{success:!0,result:{name:e.name,currentVersion:C||g,latestVersion:h.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:p,isDevDependency:m,installedPath:O,file:S}}:{success:!0,result:{name:e.name,currentVersion:g,latestVersion:h.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:g===h.result,isDependency:p,isDevDependency:m,installedPath:O,file:S}}];case 2:I=D.sent();return[2,eI(I)];case 3:return[2]}})})()}I(eL,"getPackage");function eU(e){return s(function(){var t,n,r,s,a;return D(this,function(c){try{;r=er(tU.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},a=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(a[e.name]=e.latestVersion),es(tU.PACKAGE_JSON,JSON.stringify(r,null,4)),eC.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){eI(e)}return[2]})})()}I(eU,"updatePackage");function ek(){return s(function(){var e,t,n,r,s,a,c,i,o,u,l,f,E;return D(this,function(d){switch(d.label){case 0:d.trys.push([0,12,,13]);e=[{command:I(function(){return tj.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:I(function(){return tj.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:I(function(){return tj.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);s=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=s.next()).done))return[3,8];c=a.value,i=c.command,o=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,eZ("".concat(o," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();eI(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:E=d.sent();eI(E);return[3,13];case 13:return[2]}})})()}I(ek,"installDependencies");function ej(e,t){return s(function(){var n,r,s,a,c,i,o,u,l,f,E,d,p,m,h,y,v;return D(this,function(O){switch(O.label){case 0:O.trys.push([0,15,,16]);if(!ec(tU.PACKAGE_JSON)){eC.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(eL))];case 1:s=O.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),a=s.filter(function(e){return!e.isInstalled}),c=s.filter(function(e){return!e.isUpToDate}),i=[];(t===null||t===void 0?void 0:t.install)&&a.length>0&&(n=i).push.apply(n,g(a.map(eU))),(t===null||t===void 0?void 0:t.update)&&c.length>0&&(r=i).push.apply(r,g(c.map(eU)));o=i.length>0;if(!o)return[3,6];return[4,Promise.all(i)];case 2:O.sent();return[4,ek()];case 3:O.sent();u=["Running ESLint with auto-fix"];return[4,tj.eslintFix()];case 4:return[4,eZ.apply(void 0,u.concat([O.sent()]))];case 5:o=O.sent();O.label=6;case 6:o;f=true,E=false,d=undefined;O.label=7;case 7:O.trys.push([7,12,13,14]);p=((l=t===null||t===void 0?void 0:t.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();O.label=8;case 8:if(!!(f=(m=p.next()).done))return[3,11];h=m.value;return[4,h()];case 9:O.sent();O.label=10;case 10:f=true;return[3,8];case 11:return[3,14];case 12:y=O.sent();E=true;d=y;return[3,14];case 13:try{if(!f&&p.return!=null){p.return()}}finally{if(E){throw d}}return[7];case 14:return[3,16];case 15:v=O.sent();eI(v);return[3,16];case 16:return[2]}})})()}I(ej,"setupPackages");import eF from"node-persist";var eV=eS();function ex(){return s(function(){var e;return D(this,function(t){switch(t.label){case 0:e=eF.defaultInstance;if(e)return[3,2];return[4,eF.init({dir:eV.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}I(ex,"initNodePersist");var eY={get:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ex()];case 1:r.sent();return[4,eF.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,eI(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ex()];case 1:r.sent();return[4,eF.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eI(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ex()];case 1:n.sent();return[4,eF.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eI(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ex()];case 1:n.sent();return[4,eF.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eC.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,eI(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return D(this,function(t){try{return[2,"".concat(eV.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,eI(e,{returnValue:null})]}return[2]})})()}};var eQ=eS(),eq=e_.promisify(eR);function eB(){return s(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,eL()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}I(eB,"getPackageName");function eK(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,eB()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,eY.set(t,e)];case 3:r.sent(),setTimeout(function(){return s(function(){var e;return D(this,function(n){switch(n.label){case 0:return[4,eY.getLogLink(t)];case 1:e=n.sent();e&&eC.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();eI(n);return[3,5];case 5:return[2]}})})()}I(eK,"saveErrorListToStorage");function eH(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,o,u,l,f;var E=s.exec(e)||[],d=a.exec(e)||[],p=c.exec(e)||[];var m,h,y,v,g,O;E.length&&r?t.push({file:r,position:"".concat(E[1],":").concat(E[2]),type:E[3]===ei.Error?ei.Error:ei.Warning,message:(m=E===null||E===void 0?void 0:(i=E[4])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:"",rule:(h=E===null||E===void 0?void 0:(o=E[5])===null||o===void 0?void 0:o.trim())!==null&&h!==void 0?h:""}):d.length?t.push({file:(y=d===null||d===void 0?void 0:d[1])!==null&&y!==void 0?y:"",position:"".concat(d[2],":").concat(d[3]),type:d[4]===ei.Error?ei.Error:ei.Warning,message:(v=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:"commitlint",type:ei.Error,message:(g=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&g!==void 0?g:"",rule:(O=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&O!==void 0?O:""}):n.push(e.trim())}}),t.length&&eK(t),eQ.DEBUG&&n.length&&(eC.warn("Unmatched lines:"),n.forEach(function(e){return eC.info(" ".concat(e))}))}I(eH,"parseTextErrors");function eW(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?ei.Error:ei.Warning,file:t,position:"".concat(s,":").concat(a),rule:c,message:i})})}),n.length&&eK(n)}catch(t){eH(e)}}I(eW,"parseCommandOutput");function eJ(e){return s(function(e){var t,n,r,s,a,c,i,o,u;var l=arguments;return D(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eW;n=new AbortController;eb.on("SIGINT",function(){eC.warn("Process interrupted. Terminating..."),n.abort(),eb.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eq(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),s=r.stdout,a=r.stderr;[s,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,o=c.stderr,u=c.message;[i,o].forEach(function(e){return e&&t(e)}),!o&&!i&&eC.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}I(eJ,"executeCommand");function e$(e){return{raw:!0,cmd:e}}I(e$,"rawCommand");function eX(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tA," ").concat(tC," ").concat(tE," ").concat(e):"".concat(tA," ").concat(tf," ").concat(e)}I(eX,"formatCLI");function ez(e,t){return typeof e=="function"?eX(e(t),t):(typeof e==="undefined"?"undefined":O(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eX(e,t):e}I(ez,"formatCommand");function eZ(e,t){return s(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);eC.start("".concat(e)),eQ.DEBUG&&eC.info("→ ".concat(t));return[4,eJ(t)];case 1:r.sent(),eC.success("".concat(e," done."));return[3,3];case 2:n=r.sent();eI(n);return[3,3];case 3:return[2]}})})()}I(eZ,"runCommand");import e0 from"path";var e1=eS(),e2=e0;function e4(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=e2).resolve.apply(r,[e1.CWD].concat(g(t)))}I(e4,"resolveWorkingPath");function e3(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=e2).join.apply(r,g(t))}I(e3,"join");var e5=eS(),e6=e5.CWD,e7="@cyberskill/shared",e8="node_modules",e9="dist",te="public",tt="package.json",tn="package-lock.json",tr="tsconfig.json",ts=".gitignore",ta=".simple-git-hooks.json",tc="pnpm-lock.yaml",ti=".git/hooks/",to=".git/COMMIT_EDITMSG",tu=".migrate-mongo.config.js",tl=function(){var e=eT.readJsonSync(e4(tt)).name===e7?e6:e3(e6,e8,e7);return e3(e,e9)}(),tf="cyberskill",tE="src/node/cli/index.ts",td="eslint",tp="eslint",tm="vitest";var th="vitest",ty="@commitlint/cli",tv="@commitlint/config-conventional",tg="commitlint",tO="lint-staged",tS="lint-staged",tD="typescript",tN="tsc",tC="tsx",tI="git",tT="pnpm",tA="pnpm exec",tR="simple-git-hooks",tb="simple-git-hooks",t_="@eslint/config-inspector",tG="eslint-config-inspector",tP="node-modules-inspector",tM="node-modules-inspector",tw="migrate-mongo",tL="./node_modules/migrate-mongo/bin/migrate-mongo",tU={CYBERSKILL_DIRECTORY:tl,WORKING_DIRECTORY:e6,PUBLIC_DIRECTORY:e4(te),TS_CONFIG:e4(tr),GIT_IGNORE:e4(ts),GIT_HOOK:e4(ti),GIT_COMMIT_MSG:e4(to),SIMPLE_GIT_HOOKS_JSON:e4(ta),PACKAGE_JSON:e4(tt),PACKAGE_LOCK_JSON:e4(tn),PNPM_LOCK_YAML:e4(tc),NODE_MODULES:e4(e8),MIGRATE_MONGO_CONFIG:e4(tu),LINT_STAGED_CONFIG:e4("".concat(tl,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:e4("".concat(tl,"/config/commitlint/index.js")),VITEST_UNIT_CONFIG:e4("".concat(tl,"/config/vitest/vitest.unit.js")),VITEST_UNIT_SETUP_CONFIG:e4("".concat(tl,"/config/vitest/vitest.unit.setup.js")),VITEST_E2E_CONFIG:e4("".concat(tl,"/config/vitest/vitest.e2e.js"))};function tk(e){var t=e.type,n=e.packages,r=e.command;var a=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return s(function(){var e;return D(this,function(n){switch(n.label){case 0:switch(t){case eA.CLI:return[3,1];case eA.STRING:return[3,4]}return[3,5];case 1:e=a===null||a===void 0?void 0:a.length;if(!e)return[3,3];return[4,ej(a,{install:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,ez(e$("".concat(tA," ").concat(r))))];case 4:return[2,ez(e$(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}I(tk,"buildCommand");var tj={simpleGitHooks:tk({type:eA.CLI,packages:[{name:tR,type:eG.DEV_DEPENDENCY}],command:tb}),eslintInspect:tk({type:eA.CLI,packages:[{name:t_,type:eG.DEV_DEPENDENCY}],command:tG}),nodeModulesInspect:tk({type:eA.CLI,packages:[{name:tP,type:eG.DEV_DEPENDENCY}],command:tM}),eslintCheck:tk({type:eA.CLI,packages:[{name:td,type:eG.DEV_DEPENDENCY}],command:"".concat(tp," ").concat(tU.WORKING_DIRECTORY," --no-cache")}),eslintFix:tk({type:eA.CLI,packages:[{name:td,type:eG.DEV_DEPENDENCY}],command:"".concat(tp," ").concat(tU.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tk({type:eA.CLI,packages:[{name:tD,type:eG.DEV_DEPENDENCY}],command:"".concat(tN," -p ").concat(tU.TS_CONFIG," --noEmit")}),testUnit:tk({type:eA.CLI,packages:[{name:tm,type:eG.DEV_DEPENDENCY}],command:"".concat(th," --config ").concat(tU.VITEST_UNIT_CONFIG)}),testE2e:tk({type:eA.CLI,packages:[{name:tm,type:eG.DEV_DEPENDENCY}],command:"".concat(th," --config ").concat(tU.VITEST_E2E_CONFIG)}),mongoMigrateCreate:I(function(e){return tk({type:eA.CLI,packages:[{name:tC,type:eG.DEPENDENCY},{name:tw,type:eG.DEPENDENCY}],command:"".concat(tC," ").concat(tL," create ").concat(e," -f ").concat(tU.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tk({type:eA.CLI,packages:[{name:tC,type:eG.DEPENDENCY},{name:tw,type:eG.DEPENDENCY}],command:"".concat(tC," ").concat(tL," up -f ").concat(tU.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tk({type:eA.CLI,packages:[{name:tC,type:eG.DEPENDENCY},{name:tw,type:eG.DEPENDENCY}],command:"".concat(tC," ").concat(tL," down -f ").concat(tU.MIGRATE_MONGO_CONFIG)}),commitLint:tk({type:eA.CLI,packages:[{name:ty,type:eG.DEV_DEPENDENCY},{name:tv,type:eG.DEV_DEPENDENCY}],command:"".concat(tg," --edit ").concat(tU.GIT_COMMIT_MSG," --config ").concat(tU.COMMITLINT_CONFIG)}),lintStaged:tk({type:eA.CLI,packages:[{name:tO,type:eG.DEV_DEPENDENCY}],command:"".concat(tS," --config ").concat(tU.LINT_STAGED_CONFIG)}),configureGitHook:tk({type:eA.STRING,command:"".concat(tI," config core.hooksPath ").concat(tU.GIT_HOOK)}),build:tk({type:eA.STRING,command:"".concat(tT," run --if-present build")}),pnpmInstallStandard:tk({type:eA.STRING,command:"".concat(tT," install --ignore-scripts")}),pnpmInstallLegacy:tk({type:eA.STRING,command:"".concat(tT," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:tk({type:eA.STRING,command:"".concat(tT," install --ignore-scripts --force")}),pnpmPruneStore:tk({type:eA.STRING,command:"".concat(tT," store prune")}),pnpmCleanCache:tk({type:eA.STRING,command:"".concat(tT," cache delete")})};var tF={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return A(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"?tF.getDateTime():new Date;return{id:P(),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:P,unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,a=e.standalone,c=a===void 0?!1:a;var i=new t.Schema(n);return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=i.virtual(t,n);r&&s.get(r)}),c||i.add(tF.createGenericSchema(t)),i},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,c=e.aggregate,i=c===void 0?!1:c,o=e.virtuals,u=o===void 0?[]:o,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var E=tF.createSchema({mongoose:t,schema:r,virtuals:u});return tF.applyPlugins(E,[a&&G,i&&_]),tF.applyMiddlewares(E,f),t.model(n,E)},validator:{isRequired:function e(){return function(e){return s(function(){return D(this,function(t){return[2,!W.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return s(function(){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 o({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return s(function(){return D(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!u(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:h(p({},R),{setConfig:I(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));es(tU.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tu,"\n");ec(tU.GIT_IGNORE)?ee(tU.GIT_IGNORE,"utf-8").split("\n").includes(tu)||ea(tU.GIT_IGNORE,n):es(tU.GIT_IGNORE,n)},"setConfig")}),regexify:function e(e,t){if(!e)return{};var n=V(e);if(!t||t.length===0)return n;var r=true,s=false,a=undefined;try{for(var c=t[Symbol.iterator](),i;!(r=(i=c.next()).done);r=true){var o=i.value;var u=o.toString().split("."),l=x(n,u);if(typeof l=="string"&&l.length>0){var f={$regex:".*".concat(j(l),".*"),$options:"i"};n=Y(n,u,f)}}}catch(e){s=true;a=e}finally{try{if(!r&&c.return!=null){c.return()}}finally{if(s){throw a}}}return n}},tV=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);T(this,"collection");this.collection=t.collection(n)}i(e,[{key:"createOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t=p({},tF.createGenericFields(),e);return[4,this.collection.insertOne(t)];case 1:return[2,r.sent().acknowledged?{success:!0,message:"Document created successfully",result:t}:{success:!1,message:"Document creation failed",code:M.INTERNAL_SERVER_ERROR.CODE}];case 2:n=r.sent();return[2,eI(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return s(function(){var t,n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return p({},tF.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:t}];case 2:r=s.sent();return[2,eI(r)];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found",code:M.NOT_FOUND.CODE}];case 2:n=r.sent();return[2,eI(n)];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return s(function(){var e,t,n;var r=arguments;return D(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eI(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return s(function(){var e,t,n;var r=arguments;return D(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eI(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return s(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,eI(r)];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return s(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,eI(r)];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,eI(n)];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,eI(n)];case 3:return[2]}})}).call(this)}}]);return e}();I(tV,"MongoController");var tx=tV,tY=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);T(this,"model");this.model=t}i(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return s(function(){var e,t,n,r,s,a,c;var i=arguments;return D(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{},r=i.length>3?i[3]:void 0;o.label=1;case 1:o.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:a=o.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:M.NOT_FOUND.CODE}];case 3:c=o.sent();return[2,eI(c)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return s(function(){var e,t,n,r,s,a,c;var i=arguments;return D(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{},r=i.length>3?i[3]:void 0;o.label=1;case 1:o.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 2:return[2,(a.result=o.sent(),a)];case 3:c=o.sent();return[2,eI(c)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return s(function(){var e,t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,eI(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return s(function(e){var t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,eI(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return s(function(){var e,t,n;var r=arguments;return D(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eI(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eI(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return s(function(e){var t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=a.sent().map(function(e){return u(e,b)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=a.sent();return[2,eI(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return s(function(){var e,t,n,r,s;var a=arguments;return D(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,p({new:!0},n)).exec()];case 2:r=c.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:M.NOT_FOUND.CODE}];case 3:s=c.sent();return[2,eI(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return s(function(){var e,t,n,r,s;var a=arguments;return D(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=c.sent(),r)];case 3:s=c.sent();return[2,eI(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return s(function(){var e,t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:M.NOT_FOUND.CODE}];case 3:r=a.sent();return[2,eI(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return s(function(){var e,t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=a.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:M.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=a.sent();return[2,eI(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return s(function(){var n,r,s,a,c;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,6,,7]);n=new Set;r=0;i.label=1;case 1:if(!(r<10))return[3,5];s=H(e,r+t);a=!n.has(s);if(!a)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:a=!i.sent();i.label=3;case 3:if(a)return[2,{success:!0,result:s}];i.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:M.INTERNAL_SERVER_ERROR.CODE}];case 6:c=i.sent();return[2,eI(c)];case 7:return[2]}})}).call(this)}},{key:"createSlugQuery",value:function e(e){var t=e.slug,n=e.field,r=e.isObject,s=e.filter;var a=p({},s!==null&&s!==void 0?s:{});return r?h(p({},a),{$or:[o({},"slug.".concat(n),t),{slugHistory:{$elemMatch:o({},"slug.".concat(n),t)}}]}):h(p({},a),{$or:[{slug:t},{slugHistory:t}]})}},{key:"createUniqueSlug",value:function e(e){return s(function(e){var t,n,r,s,a,c,i;return D(this,function(o){switch(o.label){case 0:t=e.slug,n=e.field,r=e.isObject,s=e.filter;a=K(t),c=a,i=1;o.label=1;case 1:return[4,this.model.exists(this.createSlugQuery({slug:c,field:n,isObject:r,filter:s}))];case 2:if(!o.sent())return[3,4];c="".concat(a,"-").concat(i++);o.label=3;case 3:return[3,1];case 4:return[2,c]}})}).apply(this,arguments)}},{key:"createSlug",value:function e(e){return s(function(e){var t,n,r,a,c,i,o,u,l,f;return D(this,function(E){switch(E.label){case 0:t=this;n=e.field,r=e.from,a=e.filter;E.label=1;case 1:E.trys.push([1,6,,7]);c=r[n];if(!F(c))return[3,3];o={success:!0};u=Object.fromEntries;return[4,Promise.all(Object.entries(c).map(function(e){var n=y(e,2),r=n[0],c=n[1];return s(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,this.createUniqueSlug({slug:c,field:r,isObject:!0,filter:a})];case 1:e=t.sent();return[2,[r,e]]}})}).call(t)}))];case 2:i=(o.result=u.apply(Object,[E.sent()]),o);return[3,5];case 3:l={success:!0};return[4,this.createUniqueSlug({slug:c,field:n,isObject:!1,filter:a})];case 4:i=(l.result=E.sent(),l);E.label=5;case 5:return[2,i];case 6:f=E.sent();return[2,eI(f)];case 7:return[2]}})}).apply(this,arguments)}},{key:"checkSlug",value:function e(e){return s(function(e){var t,n,r,s,a,c,i,o,u,l,f,E,d,p,m,h;return D(this,function(y){switch(y.label){case 0:t=e.slug,n=e.field,r=e.from,s=e.filter;y.label=1;case 1:y.trys.push([1,12,,13]);a=r[n];if(!F(a))return[3,10];c=true,i=false,o=undefined;y.label=2;case 2:y.trys.push([2,7,8,9]);u=Object.values(a)[Symbol.iterator]();y.label=3;case 3:if(!!(c=(l=u.next()).done))return[3,6];f=l.value;E=K(f);return[4,this.model.exists(this.createSlugQuery({slug:E,field:n,isObject:!0,filter:s}))];case 4:if(y.sent())return[2,{success:!0,result:!0}];y.label=5;case 5:c=true;return[3,3];case 6:return[3,9];case 7:d=y.sent();i=true;o=d;return[3,9];case 8:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw o}}return[7];case 9:return[2,{success:!0,result:!1}];case 10:p=K(t);m={success:!0};return[4,this.model.exists(this.createSlugQuery({slug:p,field:n,isObject:!1,filter:s}))];case 11:return[2,(m.result=y.sent()!==null,m)];case 12:h=y.sent();return[2,eI(h)];case 13:return[2]}})}).apply(this,arguments)}},{key:"aggregate",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eI(n)];case 3:return[2]}})}).call(this)}}]);return e}();I(tY,"MongooseController");var tQ=tY;export{tx as MongoController,tQ as MongooseController,_ as aggregatePaginate,tF as mongo,G as mongoosePaginate};
|
|
1
|
+
function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,s,a,c){try{var i=e[a](c);var o=i.value}catch(e){n(e);return}if(i.done){t(o)}else{Promise.resolve(o).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,a){var c=e.apply(t,n);function i(e){r(c,s,a,i,o,"next",e)}function o(e){r(c,s,a,i,o,"throw",e)}i(undefined)})}}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(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 i(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function o(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 u(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function l(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function f(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var a=false;var c,i;try{for(n=n.call(e);!(s=(c=n.next()).done);s=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(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){o(e,t,n[t])})}return e}function m(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 h(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{m(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function y(e,n){return t(e)||f(e,n)||S(e,n)||E()}function v(e){return t(e)||l(e)||S(e)||E()}function g(e){return n(e)||l(e)||S(e)||d()}function O(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function S(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function D(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return o([e,t])}}function o(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(s=i[0]&2?r["return"]:i[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,i[1])).done)return s;if(r=0,s)i=[i[0]&2,s.value];switch(i[0]){case 0:case 1:s=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!s||i[1]>s[0]&&i[1]<s[3])){a.label=i[1];break}if(i[0]===6&&a.label<s[1]){a.label=s[1];s=i;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(i);break}if(s[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=s=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var N=Object.defineProperty;var C=function(e,t,n){return t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var I=function(e,t){return N(e,"name",{value:t,configurable:!0})};var T=function(e,t,n){return C(e,(typeof t==="undefined"?"undefined":O(t))!="symbol"?t+"":t,n)};import{format as A}from"date-fns";import R from"migrate-mongo";import{Document as b}from"mongoose";import _ from"mongoose-aggregate-paginate-v2";import G from"mongoose-paginate-v2";import{v4 as P}from"uuid";var M={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"}};import w from"unorm";var L=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var U={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},k=Object.entries(U).reduce(function(e,t){var n=y(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function j(e){e=w.nfkc(e);var t=p({},U,k);var n=true,r=false,s=undefined;try{for(var a=Object.entries(t)[Symbol.iterator](),c;!(n=(c=a.next()).done);n=true){var i=y(c.value,2),o=i[0],u=i[1];var l="[".concat(o).concat(u.join(""),"]"),f="(".concat([o].concat(g(u)).join("|"),")");e=e.replace(new RegExp(l,"g"),f)}}catch(e){r=true;s=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw s}}}return e}I(j,"regexSearchMapper");function F(e){return(typeof e==="undefined"?"undefined":O(e))=="object"&&e!==null&&!Array.isArray(e)}I(F,"isObject");function V(e){return JSON.parse(JSON.stringify(e))}I(V,"deepClone");function x(e,t){return t.reduce(function(e,t){if(e&&(typeof e==="undefined"?"undefined":O(e))=="object"&&t in e)return e[t]},e)}I(x,"getNestedValue");function Y(e,t,n){if(t.length===0)return e;var r=v(t),s=r[0],a=r.slice(1);if(a.length===0)return h(p({},e),o({},s,n));var c=e[s];return h(p({},e),o({},s,Y((typeof c==="undefined"?"undefined":O(c))=="object"&&c!==null?c:{},a,n)))}I(Y,"setNestedValue");import Q from"crypto-js";import q from"slugify";var B=q.default||q;function K(e,t){var n=I(function(e){var n,r;return B(e!==null&&e!==void 0?e:"",p({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(F(e)){var r={};var s=true,a=false,c=undefined;try{for(var i=Object.entries(e)[Symbol.iterator](),o;!(s=(o=i.next()).done);s=true){var u=y(o.value,2),l=u[0],f=u[1];r[l]=n(f)}}catch(e){a=true;c=e}finally{try{if(!s&&i.return!=null){i.return()}}finally{if(a){throw c}}}return r}return n(e)}I(K,"generateSlug");function H(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return Q.SHA256(e).toString(Q.enc.Hex).slice(0,t)}I(H,"generateShortId");var W={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":O(e))=="object"?u(e,Date)?!1:u(e,Map)||u(e,Set)?e.size===0:u(e,WeakMap)||u(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};import J from"fs-extra";import $ from"path";var X=J.lstatSync,z=J.readdirSync,Z=J.mkdirSync,ee=J.readFileSync,et=J.unlinkSync,en=J.statSync,er=J.createWriteStream,es=J.readJsonSync;function ea(e,t,n){J.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}I(ea,"writeFileSync");function ec(e,t,n){J.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}I(ec,"appendFileSync");function ei(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return J.pathExistsSync(e)})}I(ei,"pathExistsSync");var eo=function(e){return e.Error="error",e.Warning="warning",e}({});import eu from"chalk";import el from"consola";import{GraphQLError as ef}from"graphql";var eE=".cyberskill-storage";import ed from"@dotenvx/dotenvx";import{bool as ep,cleanEnv as em,str as eh}from"envalid";import ey from"os";import ev from"path";import eg from"process";var eO=!1;function eS(){eg.env.NODE_ENV!==L.PRODUCTION&&!eO&&(ed.config(),eO=!0)}I(eS,"loadEnvFile");function eD(){eS();var e=em(eg.env,{CWD:eh({default:eg.cwd()}),DEBUG:ep({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:eh({default:ev.join(ey.homedir(),eE)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}I(eD,"getEnv");var eN=eD();eN.DEBUG||(el.level=4);function eC(e){var t=eu[e];return typeof t=="function"?t:eu.green}I(eC,"chalkKeyword");var eI={silent:el.silent,level:el.level,fatal:el.fatal,error:el.error,warn:el.warn,log:el.log,info:el.info,success:el.success,ready:el.ready,start:el.start,box:el.box,debug:el.debug,trace:el.trace,verbose:el.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){el.box(eu.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;el.log("".concat(eu.gray("File:")," ").concat(eu.blue("".concat(t).concat(r?":".concat(r):"")))),s&&el.log(" ".concat(eC(n)("Rule:")," ").concat(s)),el.log(" ".concat(eC(n)("Message:")," ").concat(a))}),el.box(eC(n)("".concat(e," : ").concat(t.length))),el.log(eu.gray("─".repeat(40)))}};function eT(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,s=r===void 0?!0:r,a=n.returnValue,c=n.callback,i=u(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return s&&eI.error(i.message),c&&typeof c=="function"&&c(i),a||{success:!1,message:i.message,code:M.INTERNAL_SERVER_ERROR.CODE}}I(eT,"catchError");import eA from"fs-extra";var eR=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as eb}from"child_process";import e_ from"process";import*as eG from"util";var eP=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import eM from"node-fetch";var ew=eD();function eL(e){return s(function(){var t,n,r,s;return D(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,eM("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:s=a.sent();return[2,eT(s)];case 4:return[2]}})})()}I(eL,"getLatestPackageVersion");function eU(e){return s(function(){var t,n,r,s,a,c,i,o,u,l,f,E,d,p,m,h,y,v,g,O,S,N,C,I;return D(this,function(D){switch(D.label){case 0:D.trys.push([0,2,,3]);if(!e){if(ei(tj.PACKAGE_JSON)){t=es(tj.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,s=t.version,a=s===void 0?"":s;return[2,{success:!0,result:{name:r,currentVersion:a,latestVersion:a,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:tj.PACKAGE_JSON,file:t}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!ei(tj.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eP.DEPENDENCY,isDevDependency:e.type===eP.DEV_DEPENDENCY,installedPath:"",file:{}}}];c=es(tj.PACKAGE_JSON),i=c.name,o=c.version,u=o===void 0?"":o,l=c.dependencies,f=l===void 0?{}:l,E=c.devDependencies,d=E===void 0?{}:E;if(e.name===i)return[2,{success:!0,result:{name:i,currentVersion:u,latestVersion:u,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eP.DEPENDENCY,isDevDependency:e.type===eP.DEV_DEPENDENCY,installedPath:tj.PACKAGE_JSON,file:c}}];p=e.name in f,m=e.name in d;return[4,eL(e.name)];case 1:h=D.sent();if(!h.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:m,installedPath:"",file:{}}}];if(!p&&!m)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:h.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eP.DEPENDENCY,isDevDependency:e.type===eP.DEV_DEPENDENCY,installedPath:"",file:{}}}];g=(v=(y=f[e.name])!==null&&y!==void 0?y:d[e.name])!==null&&v!==void 0?v:"",O=e6(ew.CWD,te,e.name,tr);if(!ei(O))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:h.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:p,isDevDependency:m,installedPath:"",file:{}}}];S=es(O),N=S.version,C=N===void 0?"":N;return[2,g!==C?{success:!0,result:{name:e.name,currentVersion:C||g,latestVersion:h.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:p,isDevDependency:m,installedPath:O,file:S}}:{success:!0,result:{name:e.name,currentVersion:g,latestVersion:h.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:g===h.result,isDependency:p,isDevDependency:m,installedPath:O,file:S}}];case 2:I=D.sent();return[2,eT(I)];case 3:return[2]}})})()}I(eU,"getPackage");function ek(e){return s(function(){var t,n,r,s,a;return D(this,function(c){try{;r=es(tj.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},a=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(a[e.name]=e.latestVersion),ea(tj.PACKAGE_JSON,JSON.stringify(r,null,4)),eI.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){eT(e)}return[2]})})()}I(ek,"updatePackage");function ej(){return s(function(){var e,t,n,r,s,a,c,i,o,u,l,f,E;return D(this,function(d){switch(d.label){case 0:d.trys.push([0,12,,13]);e=[{command:I(function(){return tV.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:I(function(){return tV.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:I(function(){return tV.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);s=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=s.next()).done))return[3,8];c=a.value,i=c.command,o=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,e0("".concat(o," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();eT(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:E=d.sent();eT(E);return[3,13];case 13:return[2]}})})()}I(ej,"installDependencies");function eF(e,t){return s(function(){var n,r,s,a,c,i,o,u,l,f,E,d,p,m,h,y,v;return D(this,function(O){switch(O.label){case 0:O.trys.push([0,15,,16]);if(!ei(tj.PACKAGE_JSON)){eI.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(eU))];case 1:s=O.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),a=s.filter(function(e){return!e.isInstalled}),c=s.filter(function(e){return!e.isUpToDate}),i=[];(t===null||t===void 0?void 0:t.install)&&a.length>0&&(n=i).push.apply(n,g(a.map(ek))),(t===null||t===void 0?void 0:t.update)&&c.length>0&&(r=i).push.apply(r,g(c.map(ek)));o=i.length>0;if(!o)return[3,6];return[4,Promise.all(i)];case 2:O.sent();return[4,ej()];case 3:O.sent();u=["Running ESLint with auto-fix"];return[4,tV.eslintFix()];case 4:return[4,e0.apply(void 0,u.concat([O.sent()]))];case 5:o=O.sent();O.label=6;case 6:o;f=true,E=false,d=undefined;O.label=7;case 7:O.trys.push([7,12,13,14]);p=((l=t===null||t===void 0?void 0:t.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();O.label=8;case 8:if(!!(f=(m=p.next()).done))return[3,11];h=m.value;return[4,h()];case 9:O.sent();O.label=10;case 10:f=true;return[3,8];case 11:return[3,14];case 12:y=O.sent();E=true;d=y;return[3,14];case 13:try{if(!f&&p.return!=null){p.return()}}finally{if(E){throw d}}return[7];case 14:return[3,16];case 15:v=O.sent();eT(v);return[3,16];case 16:return[2]}})})()}I(eF,"setupPackages");import eV from"node-persist";var ex=eD();function eY(){return s(function(){var e;return D(this,function(t){switch(t.label){case 0:e=eV.defaultInstance;if(e)return[3,2];return[4,eV.init({dir:ex.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}I(eY,"initNodePersist");var eQ={get:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,eV.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,eT(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,eV.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eT(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,eV.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eT(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,eV.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eI.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,eT(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return D(this,function(t){try{return[2,"".concat(ex.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,eT(e,{returnValue:null})]}return[2]})})()}};var eq=eD(),eB=eG.promisify(eb);function eK(){return s(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,eU()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}I(eK,"getPackageName");function eH(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,eK()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,eQ.set(t,e)];case 3:r.sent(),setTimeout(function(){return s(function(){var e;return D(this,function(n){switch(n.label){case 0:return[4,eQ.getLogLink(t)];case 1:e=n.sent();e&&eI.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();eT(n);return[3,5];case 5:return[2]}})})()}I(eH,"saveErrorListToStorage");function eW(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,o,u,l,f;var E=s.exec(e)||[],d=a.exec(e)||[],p=c.exec(e)||[];var m,h,y,v,g,O;E.length&&r?t.push({file:r,position:"".concat(E[1],":").concat(E[2]),type:E[3]===eo.Error?eo.Error:eo.Warning,message:(m=E===null||E===void 0?void 0:(i=E[4])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:"",rule:(h=E===null||E===void 0?void 0:(o=E[5])===null||o===void 0?void 0:o.trim())!==null&&h!==void 0?h:""}):d.length?t.push({file:(y=d===null||d===void 0?void 0:d[1])!==null&&y!==void 0?y:"",position:"".concat(d[2],":").concat(d[3]),type:d[4]===eo.Error?eo.Error:eo.Warning,message:(v=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:"commitlint",type:eo.Error,message:(g=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&g!==void 0?g:"",rule:(O=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&O!==void 0?O:""}):n.push(e.trim())}}),t.length&&eH(t),eq.DEBUG&&n.length&&(eI.warn("Unmatched lines:"),n.forEach(function(e){return eI.info(" ".concat(e))}))}I(eW,"parseTextErrors");function eJ(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?eo.Error:eo.Warning,file:t,position:"".concat(s,":").concat(a),rule:c,message:i})})}),n.length&&eH(n)}catch(t){eW(e)}}I(eJ,"parseCommandOutput");function e$(e){return s(function(e){var t,n,r,s,a,c,i,o,u;var l=arguments;return D(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eJ;n=new AbortController;e_.on("SIGINT",function(){eI.warn("Process interrupted. Terminating..."),n.abort(),e_.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eB(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),s=r.stdout,a=r.stderr;[s,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,o=c.stderr,u=c.message;[i,o].forEach(function(e){return e&&t(e)}),!o&&!i&&eI.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}I(e$,"executeCommand");function eX(e){return{raw:!0,cmd:e}}I(eX,"rawCommand");function ez(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tb," ").concat(tT," ").concat(tp," ").concat(e):"".concat(tb," ").concat(td," ").concat(e)}I(ez,"formatCLI");function eZ(e,t){return typeof e=="function"?ez(e(t),t):(typeof e==="undefined"?"undefined":O(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ez(e,t):e}I(eZ,"formatCommand");function e0(e,t){return s(function(){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);eI.start("".concat(e)),eq.DEBUG&&eI.info("→ ".concat(t));return[4,e$(t)];case 1:r.sent(),eI.success("".concat(e," done."));return[3,3];case 2:n=r.sent();eT(n);return[3,3];case 3:return[2]}})})()}I(e0,"runCommand");import e1 from"path";var e2=eD(),e4=e1,e3=e4.dirname;function e5(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=e4).resolve.apply(r,[e2.CWD].concat(g(t)))}I(e5,"resolveWorkingPath");function e6(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=e4).join.apply(r,g(t))}I(e6,"join");var e7=eD(),e8=e7.CWD,e9="@cyberskill/shared",te="node_modules",tt="dist",tn="public",tr="package.json",ts="package-lock.json",ta="tsconfig.json",tc=".gitignore",ti=".simple-git-hooks.json",to="pnpm-lock.yaml",tu=".git/hooks/",tl=".git/COMMIT_EDITMSG",tf=".migrate-mongo.config.js",tE=function(){var e=eA.readJsonSync(e5(tr)).name===e9?e8:e6(e8,te,e9);return e6(e,tt)}(),td="cyberskill",tp="src/node/cli/index.ts",tm="eslint",th="eslint",ty="vitest";var tv="vitest",tg="@commitlint/cli",tO="@commitlint/config-conventional",tS="commitlint",tD="lint-staged",tN="lint-staged",tC="typescript",tI="tsc",tT="tsx",tA="git",tR="pnpm",tb="pnpm exec",t_="simple-git-hooks",tG="simple-git-hooks",tP="@eslint/config-inspector",tM="eslint-config-inspector",tw="node-modules-inspector",tL="node-modules-inspector",tU="migrate-mongo",tk="./node_modules/migrate-mongo/bin/migrate-mongo",tj={CYBERSKILL_DIRECTORY:tE,WORKING_DIRECTORY:e8,PUBLIC_DIRECTORY:e5(tn),TS_CONFIG:e5(ta),GIT_IGNORE:e5(tc),GIT_HOOK:e5(tu),GIT_COMMIT_MSG:e5(tl),SIMPLE_GIT_HOOKS_JSON:e5(ti),PACKAGE_JSON:e5(tr),PACKAGE_LOCK_JSON:e5(ts),PNPM_LOCK_YAML:e5(to),NODE_MODULES:e5(te),MIGRATE_MONGO_CONFIG:e5(tf),LINT_STAGED_CONFIG:e5("".concat(tE,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:e5("".concat(tE,"/config/commitlint/index.js")),VITEST_UNIT_CONFIG:e5("".concat(tE,"/config/vitest/vitest.unit.js")),VITEST_UNIT_SETUP_CONFIG:e5("".concat(tE,"/config/vitest/vitest.unit.setup.js")),VITEST_E2E_CONFIG:e5("".concat(tE,"/config/vitest/vitest.e2e.js"))};function tF(e){var t=e.type,n=e.packages,r=e.command;var a=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return s(function(){var e;return D(this,function(n){switch(n.label){case 0:switch(t){case eR.CLI:return[3,1];case eR.STRING:return[3,4]}return[3,5];case 1:e=a===null||a===void 0?void 0:a.length;if(!e)return[3,3];return[4,eF(a,{install:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,eZ(eX("".concat(tb," ").concat(r))))];case 4:return[2,eZ(eX(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}I(tF,"buildCommand");var tV={simpleGitHooks:tF({type:eR.CLI,packages:[{name:t_,type:eP.DEV_DEPENDENCY}],command:tG}),eslintInspect:tF({type:eR.CLI,packages:[{name:tP,type:eP.DEV_DEPENDENCY}],command:tM}),nodeModulesInspect:tF({type:eR.CLI,packages:[{name:tw,type:eP.DEV_DEPENDENCY}],command:tL}),eslintCheck:tF({type:eR.CLI,packages:[{name:tm,type:eP.DEV_DEPENDENCY}],command:"".concat(th," ").concat(tj.WORKING_DIRECTORY," --no-cache")}),eslintFix:tF({type:eR.CLI,packages:[{name:tm,type:eP.DEV_DEPENDENCY}],command:"".concat(th," ").concat(tj.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tF({type:eR.CLI,packages:[{name:tC,type:eP.DEV_DEPENDENCY}],command:"".concat(tI," -p ").concat(tj.TS_CONFIG," --noEmit")}),testUnit:tF({type:eR.CLI,packages:[{name:ty,type:eP.DEV_DEPENDENCY}],command:"".concat(tv," --config ").concat(tj.VITEST_UNIT_CONFIG)}),testE2e:tF({type:eR.CLI,packages:[{name:ty,type:eP.DEV_DEPENDENCY}],command:"".concat(tv," --config ").concat(tj.VITEST_E2E_CONFIG)}),mongoMigrateCreate:I(function(e){return tF({type:eR.CLI,packages:[{name:tT,type:eP.DEPENDENCY},{name:tU,type:eP.DEPENDENCY}],command:"".concat(tT," ").concat(tk," create ").concat(e," -f ").concat(tj.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tF({type:eR.CLI,packages:[{name:tT,type:eP.DEPENDENCY},{name:tU,type:eP.DEPENDENCY}],command:"".concat(tT," ").concat(tk," up -f ").concat(tj.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tF({type:eR.CLI,packages:[{name:tT,type:eP.DEPENDENCY},{name:tU,type:eP.DEPENDENCY}],command:"".concat(tT," ").concat(tk," down -f ").concat(tj.MIGRATE_MONGO_CONFIG)}),commitLint:tF({type:eR.CLI,packages:[{name:tg,type:eP.DEV_DEPENDENCY},{name:tO,type:eP.DEV_DEPENDENCY}],command:"".concat(tS," --edit ").concat(tj.GIT_COMMIT_MSG," --config ").concat(tj.COMMITLINT_CONFIG)}),lintStaged:tF({type:eR.CLI,packages:[{name:tD,type:eP.DEV_DEPENDENCY}],command:"".concat(tN," --config ").concat(tj.LINT_STAGED_CONFIG)}),configureGitHook:tF({type:eR.STRING,command:"".concat(tA," config core.hooksPath ").concat(tj.GIT_HOOK)}),build:tF({type:eR.STRING,command:"".concat(tR," run --if-present build")}),pnpmInstallStandard:tF({type:eR.STRING,command:"".concat(tR," install --ignore-scripts")}),pnpmInstallLegacy:tF({type:eR.STRING,command:"".concat(tR," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:tF({type:eR.STRING,command:"".concat(tR," install --ignore-scripts --force")}),pnpmPruneStore:tF({type:eR.STRING,command:"".concat(tR," store prune")}),pnpmCleanCache:tF({type:eR.STRING,command:"".concat(tR," cache delete")})};var tx={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return A(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"?tx.getDateTime():new Date;return{id:P(),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:P,unique:!0},isDel:{type:Boolean,default:!1}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,a=e.standalone,c=a===void 0?!1:a;var i=new t.Schema(n);return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=i.virtual(t,n);r&&s.get(r)}),c||i.add(tx.createGenericSchema(t)),i},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,c=e.aggregate,i=c===void 0?!1:c,o=e.virtuals,u=o===void 0?[]:o,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var E=tx.createSchema({mongoose:t,schema:r,virtuals:u});return tx.applyPlugins(E,[a&&G,i&&_]),tx.applyMiddlewares(E,f),t.model(n,E)},validator:{isRequired:function e(){return function(e){return s(function(){return D(this,function(t){return[2,!W.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return s(function(){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 o({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return s(function(){return D(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!u(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:h(p({},R),{setConfig:I(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));ea(tj.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tf,"\n");ei(tj.GIT_IGNORE)?ee(tj.GIT_IGNORE,"utf-8").split("\n").includes(tf)||ec(tj.GIT_IGNORE,n):ea(tj.GIT_IGNORE,n)},"setConfig")}),regexify:function e(e,t){if(!e)return{};var n=V(e);if(!t||t.length===0)return n;var r=true,s=false,a=undefined;try{for(var c=t[Symbol.iterator](),i;!(r=(i=c.next()).done);r=true){var o=i.value;var u=o.toString().split("."),l=x(n,u);if(typeof l=="string"&&l.length>0){var f={$regex:".*".concat(j(l),".*"),$options:"i"};n=Y(n,u,f)}}}catch(e){s=true;a=e}finally{try{if(!r&&c.return!=null){c.return()}}finally{if(s){throw a}}}return n}},tY=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);T(this,"collection");this.collection=t.collection(n)}i(e,[{key:"createOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t=p({},tx.createGenericFields(),e);return[4,this.collection.insertOne(t)];case 1:return[2,r.sent().acknowledged?{success:!0,message:"Document created successfully",result:t}:{success:!1,message:"Document creation failed",code:M.INTERNAL_SERVER_ERROR.CODE}];case 2:n=r.sent();return[2,eT(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return s(function(){var t,n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return p({},tx.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:t}];case 2:r=s.sent();return[2,eT(r)];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found",code:M.NOT_FOUND.CODE}];case 2:n=r.sent();return[2,eT(n)];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return s(function(){var e,t,n;var r=arguments;return D(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eT(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return s(function(){var e,t,n;var r=arguments;return D(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eT(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return s(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,eT(r)];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return s(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,eT(r)];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,eT(n)];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:M.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,eT(n)];case 3:return[2]}})}).call(this)}}]);return e}();I(tY,"MongoController");var tQ=tY,tq=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);T(this,"model");this.model=t}i(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return s(function(){var e,t,n,r,s,a,c;var i=arguments;return D(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{},r=i.length>3?i[3]:void 0;o.label=1;case 1:o.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:a=o.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:M.NOT_FOUND.CODE}];case 3:c=o.sent();return[2,eT(c)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return s(function(){var e,t,n,r,s,a,c;var i=arguments;return D(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{},r=i.length>3?i[3]:void 0;o.label=1;case 1:o.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 2:return[2,(a.result=o.sent(),a)];case 3:c=o.sent();return[2,eT(c)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return s(function(){var e,t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,eT(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return s(function(e){var t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,eT(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return s(function(){var e,t,n;var r=arguments;return D(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eT(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eT(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return s(function(e){var t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=a.sent().map(function(e){return u(e,b)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=a.sent();return[2,eT(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return s(function(){var e,t,n,r,s;var a=arguments;return D(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,p({new:!0},n)).exec()];case 2:r=c.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:M.NOT_FOUND.CODE}];case 3:s=c.sent();return[2,eT(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return s(function(){var e,t,n,r,s;var a=arguments;return D(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=c.sent(),r)];case 3:s=c.sent();return[2,eT(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return s(function(){var e,t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:M.NOT_FOUND.CODE}];case 3:r=a.sent();return[2,eT(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return s(function(){var e,t,n,r;var s=arguments;return D(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=a.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:M.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=a.sent();return[2,eT(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return s(function(){var n,r,s,a,c;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,6,,7]);n=new Set;r=0;i.label=1;case 1:if(!(r<10))return[3,5];s=H(e,r+t);a=!n.has(s);if(!a)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:a=!i.sent();i.label=3;case 3:if(a)return[2,{success:!0,result:s}];i.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:M.INTERNAL_SERVER_ERROR.CODE}];case 6:c=i.sent();return[2,eT(c)];case 7:return[2]}})}).call(this)}},{key:"createSlugQuery",value:function e(e){var t=e.slug,n=e.field,r=e.isObject,s=e.filter;var a=p({},s!==null&&s!==void 0?s:{});return r?h(p({},a),{$or:[o({},"slug.".concat(n),t),{slugHistory:{$elemMatch:o({},"slug.".concat(n),t)}}]}):h(p({},a),{$or:[{slug:t},{slugHistory:t}]})}},{key:"createUniqueSlug",value:function e(e){return s(function(e){var t,n,r,s,a,c,i;return D(this,function(o){switch(o.label){case 0:t=e.slug,n=e.field,r=e.isObject,s=e.filter;a=K(t),c=a,i=1;o.label=1;case 1:return[4,this.model.exists(this.createSlugQuery({slug:c,field:n,isObject:r,filter:s}))];case 2:if(!o.sent())return[3,4];c="".concat(a,"-").concat(i++);o.label=3;case 3:return[3,1];case 4:return[2,c]}})}).apply(this,arguments)}},{key:"createSlug",value:function e(e){return s(function(e){var t,n,r,a,c,i,o,u,l,f;return D(this,function(E){switch(E.label){case 0:t=this;n=e.field,r=e.from,a=e.filter;E.label=1;case 1:E.trys.push([1,6,,7]);c=r[n];if(!F(c))return[3,3];o={success:!0};u=Object.fromEntries;return[4,Promise.all(Object.entries(c).map(function(e){var n=y(e,2),r=n[0],c=n[1];return s(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,this.createUniqueSlug({slug:c,field:r,isObject:!0,filter:a})];case 1:e=t.sent();return[2,[r,e]]}})}).call(t)}))];case 2:i=(o.result=u.apply(Object,[E.sent()]),o);return[3,5];case 3:l={success:!0};return[4,this.createUniqueSlug({slug:c,field:n,isObject:!1,filter:a})];case 4:i=(l.result=E.sent(),l);E.label=5;case 5:return[2,i];case 6:f=E.sent();return[2,eT(f)];case 7:return[2]}})}).apply(this,arguments)}},{key:"checkSlug",value:function e(e){return s(function(e){var t,n,r,s,a,c,i,o,u,l,f,E,d,p,m,h;return D(this,function(y){switch(y.label){case 0:t=e.slug,n=e.field,r=e.from,s=e.filter;y.label=1;case 1:y.trys.push([1,12,,13]);a=r[n];if(!F(a))return[3,10];c=true,i=false,o=undefined;y.label=2;case 2:y.trys.push([2,7,8,9]);u=Object.values(a)[Symbol.iterator]();y.label=3;case 3:if(!!(c=(l=u.next()).done))return[3,6];f=l.value;E=K(f);return[4,this.model.exists(this.createSlugQuery({slug:E,field:n,isObject:!0,filter:s}))];case 4:if(y.sent())return[2,{success:!0,result:!0}];y.label=5;case 5:c=true;return[3,3];case 6:return[3,9];case 7:d=y.sent();i=true;o=d;return[3,9];case 8:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw o}}return[7];case 9:return[2,{success:!0,result:!1}];case 10:p=K(t);m={success:!0};return[4,this.model.exists(this.createSlugQuery({slug:p,field:n,isObject:!1,filter:s}))];case 11:return[2,(m.result=y.sent()!==null,m)];case 12:h=y.sent();return[2,eT(h)];case 13:return[2]}})}).apply(this,arguments)}},{key:"aggregate",value:function e(e){return s(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eT(n)];case 3:return[2]}})}).call(this)}}]);return e}();I(tq,"MongooseController");var tB=tq;export{tQ as MongoController,tB as MongooseController,_ as aggregatePaginate,tx as mongo,G as mongoosePaginate};
|