@cyberskill/shared 1.104.0 → 1.106.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.
Files changed (37) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +0 -1
  2. package/dist/_tsup-dts-rollup.d.ts +0 -1
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/index.cjs +1 -1
  6. package/dist/configs/index.js +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/nodejs/cli/cli.util.cjs +1 -1
  10. package/dist/nodejs/cli/cli.util.js +1 -1
  11. package/dist/nodejs/cli/index.cjs +1 -1
  12. package/dist/nodejs/cli/index.js +1 -1
  13. package/dist/nodejs/command/command.util.cjs +1 -1
  14. package/dist/nodejs/command/command.util.js +1 -1
  15. package/dist/nodejs/command/index.cjs +1 -1
  16. package/dist/nodejs/command/index.js +1 -1
  17. package/dist/nodejs/index.cjs +1 -1
  18. package/dist/nodejs/index.js +1 -1
  19. package/dist/nodejs/mongo/index.cjs +1 -1
  20. package/dist/nodejs/mongo/index.js +1 -1
  21. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  22. package/dist/nodejs/mongo/mongo.util.js +1 -1
  23. package/dist/nodejs/package/index.cjs +1 -1
  24. package/dist/nodejs/package/index.js +1 -1
  25. package/dist/nodejs/package/package.util.cjs +1 -1
  26. package/dist/nodejs/package/package.util.js +1 -1
  27. package/dist/nodejs/path/index.cjs +1 -1
  28. package/dist/nodejs/path/index.js +1 -1
  29. package/dist/nodejs/path/path.constant.cjs +1 -1
  30. package/dist/nodejs/path/path.constant.js +1 -1
  31. package/dist/react/index.cjs +1 -1
  32. package/dist/react/index.js +1 -1
  33. package/dist/react/vitest/index.cjs +1 -1
  34. package/dist/react/vitest/index.js +1 -1
  35. package/dist/react/vitest/vitest.unit.cjs +1 -1
  36. package/dist/react/vitest/vitest.unit.js +1 -1
  37. package/package.json +1 -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(t){if(Array.isArray(t))return e(t)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function r(e,t,n,r,s,a,o){try{var c=e[a](o);var u=c.value}catch(e){n(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,a){var o=e.apply(t,n);function c(e){r(o,s,a,c,u,"next",e)}function u(e){r(o,s,a,c,u,"throw",e)}c(undefined)})}}function a(e,t,n){t=l(t);return y(e,I()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}function o(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 u(e,t,n){if(t)c(e.prototype,t);if(n)c(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 l(e){l=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return l(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function d(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function E(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(){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 h(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 v(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 p(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function m(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++){r=a[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,a;for(a=0;a<r.length;a++){s=r[a];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function y(e,t){if(t&&(R(t)==="object"||typeof t==="function")){return t}return n(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function _(e){return t(e)||E(e)||C(e)||g()}function R(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function C(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 I(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(I=function(){return!!e})()}function T(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(a=0)),a)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){a.label=c[1];break}if(c[0]===6&&a.label<s[1]){a.label=s[1];s=c;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(c);break}if(s[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var D=Object.create;var A=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var w=function(e,t,n){return t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var P=function(e,t){return A(e,"name",{value:t,configurable:!0})};var L=function(e,t){for(var n in t)A(e,n,{get:t[n],enumerable:!0})},U=function(e,t,n,r){var s=true,a=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":R(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!M.call(e,s)&&s!==n&&A(e,s,{get:function(){return t[s]},enumerable:!(r=N(t,s))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),i;!(s=(i=u.next()).done);s=true)c()}catch(e){a=true;o=e}finally{try{if(!s&&u.return!=null){u.return()}}finally{if(a){throw o}}}return e};var k=function(e,t,n){return n=e!=null?D(G(e)):{},U(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)},F=function(e){return U(A({},"__esModule",{value:!0}),e)};var j=function(e,t,n){return w(e,(typeof t==="undefined"?"undefined":R(t))!="symbol"?t+"":t,n)};var q={};L(q,{C_Collection:function(){return X},C_Db:function(){return H},C_Document:function(){return K},C_Model:function(){return J},MONGO_MIGRATE_OPTIONS:function(){return x},MongoController:function(){return t8},MongooseController:function(){return t7},aggregatePaginate:function(){return et.default},mongo:function(){return t4},mongoosePaginate:function(){return en.default}});module.exports=F(q);var x="MONGO_MIGRATE_OPTIONS";var Y=require("mongodb"),B=require("mongoose");var Q=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(Y.Db);P(Q,"C_Db");var H=Q,V=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(B.Document);P(V,"C_Document");var K=V,W=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(B.Model);P(W,"C_Model");var J=W,$=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(Y.Collection);P($,"C_Collection");var X=$;var z=require("date-fns"),Z=k(require("migrate-mongo"),1),ee=require("mongoose"),et=k(require("mongoose-aggregate-paginate-v2"),1),en=k(require("mongoose-paginate-v2"),1),er=require("uuid");var es={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 ea=k(require("crypto-js"),1),eo=k(require("slugify"),1);var ec=eo.default.default||eo.default;function eu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,a=n.locale,o=a===void 0?"vi":a,c=m(n,["lower","locale"]);return ec(e,h({lower:s,locale:o},c))}P(eu,"generateSlug");function ei(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return ea.default.SHA256(e).toString(ea.default.enc.Hex).slice(0,t)}P(ei,"generateShortId");var el={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":R(e))=="object"?d(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var ef=k(require("fs-extra"),1),ed=require("path");var eE=ef.default,eg=eE.readFileSync,eh=eE.writeFileSync,ev=eE.pathExistsSync,ep=eE.appendFileSync,em=eE.copySync,eO=eE.removeSync,ey=eE.statSync,eS=ef.default.readJsonSync,e_=ef.default.writeJsonSync;function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ev(e)})}P(eR,"existsSync");var eC=".cyberskill-storage";var eI=k(require("dotenv"),1),eT=require("envalid"),eD=k(require("os"),1),eA=k(require("path"),1),eN=k(require("process"),1);eI.default.config();function eb(){var e={DEBUG:eN.default.env.DEBUG||!1,CWD:eN.default.env.CWD||eN.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eN.default.env.CYBERSKILL_STORAGE_DIRECTORY||eA.default.join(eD.default.homedir(),eC)};return(0,eT.cleanEnv)(e,{DEBUG:(0,eT.bool)(),CWD:(0,eT.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,eT.str)()})}P(eb,"getEnv");var eG=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var eM=require("child_process"),ew=k(require("process"),1),eP=k(require("util"),1);var eL=function(e){return e.Error="error",e.Warning="warning",e}({});var eU=k(require("chalk"),1),ek=k(require("consola"),1),eF=require("graphql");var ej=eb();ej.DEBUG||(ek.default.level=4);function eq(e){var t=eU.default[e];return typeof t=="function"?t:eU.default.green}P(eq,"chalkKeyword");var ex={silent:ek.default.silent,level:ek.default.level,fatal:ek.default.fatal,error:ek.default.error,warn:ek.default.warn,log:ek.default.log,info:ek.default.info,success:ek.default.success,ready:ek.default.ready,start:ek.default.start,box:ek.default.box,debug:ek.default.debug,trace:ek.default.trace,verbose:ek.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)){ek.default.box(eU.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;ek.default.log("".concat(eU.default.gray("File:")," ").concat(eU.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&ek.default.log(" ".concat(eq(n)("Rule:")," ").concat(s)),ek.default.log(" ".concat(eq(n)("Message:")," ").concat(a))}),ek.default.box(eq(n)("".concat(e," : ").concat(t.length))),ek.default.log(eU.default.gray("─".repeat(40)))}};var eY={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eB=k(require("node-fetch"),1);var eQ=eb();function eH(e){var t=td(eQ.CWD,tm);if(!eR(t))return!1;try{var n=eS(t),r=n.name,s=n.dependencies,a=s===void 0?{}:s,o=n.devDependencies,c=o===void 0?{}:o,u=r===e,i=e in a,l=e in c;return u||i||l?{path:t,file:n,isCurrentProject:u,isDepend:i,isDevDepend:l}:!1}catch(e){return ex.warn("Failed to read package.json: ".concat(e.message)),!1}}P(eH,"getPackage");function eV(e){return eK.apply(this,arguments)}function eK(){eK=s(function(e){var t,n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eB.default)("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,r];case 3:s=a.sent();throw ex.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return eK.apply(this,arguments)}P(eV,"getLatestPackageVersion");function eW(e,t){return eJ.apply(this,arguments)}function eJ(){eJ=s(function(e,t){var n,r,s,a,o,c,u,i,l,f,d,E,g,v,p,m,O,y,S,_,R;return T(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=eH(e);if(!n)return[2,h({},eY)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},g=(s=i.devDependencies)!==null&&s!==void 0?s:{},v=l?(a=i.version)!==null&&a!==void 0?a:"0.0.0":f?(o=E[e])!==null&&o!==void 0?o:"0.0.0":d?(c=g[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];O=v;return[3,3];case 1:return[4,eV(e)];case 2:O=C.sent();C.label=3;case 3:p=O,m=l||v===p;if(!m&&(t===null||t===void 0?void 0:t.update)){;S=f?"dependencies":d?"devDependencies":null;S&&((y=i[S])===null||y===void 0?void 0:y[e])!==p&&(i[S]=(_=i[S])!==null&&_!==void 0?_:{},i[S][e]=p,e_(u,i),ex.info('Updated "'.concat(e,'" to version ').concat(p)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:m}];case 4:R=C.sent();return[2,(ex.error('Error checking package "'.concat(e,'": ').concat(R.message)),h({},eY))];case 5:return[2]}})});return eJ.apply(this,arguments)}P(eW,"checkPackage");function e$(){return eX.apply(this,arguments)}function eX(){eX=s(function(){var e,t,n,r,s,a,o,c,u,i,l,f;return T(this,function(d){switch(d.label){case 0:e=[{command:P(function(){return t3.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:P(function(){return t3.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:P(function(){return t3.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];o=a.value,c=o.command,u=o.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:i=d.sent();return[4,tc("".concat(u," using: ").concat(i),i)];case 5:d.sent();return[2];case 6:l=d.sent();ex.warn("Installation attempt failed: ".concat(u)),ex.error("Details: ".concat(l.message));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:throw new Error("All dependency installation strategies failed.")}})});return eX.apply(this,arguments)}P(e$,"installDependencies");function ez(e,t){return eZ.apply(this,arguments)}function eZ(){eZ=s(function(e,t){var n,r,s,a,o,c,u,i,l,f,d;return T(this,function(E){switch(E.label){case 0:if(!eR(tZ.PACKAGE_JSON)){ex.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=_(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eW(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=E.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e$()];case 3:r=E.sent();E.label=4;case 4:r;a=true,o=false,c=undefined;E.label=5;case 5:E.trys.push([5,10,11,12]);u=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();E.label=6;case 6:if(!!(a=(i=u.next()).done))return[3,9];l=i.value;return[4,l()];case 7:E.sent();E.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:f=E.sent();o=true;c=f;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}return[7];case 12:return[3,14];case 13:d=E.sent();throw ex.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})});return eZ.apply(this,arguments)}P(ez,"setupPackages");var e0=k(require("node-persist"),1);var e2=eb();function e1(){return e3.apply(this,arguments)}function e3(){e3=s(function(){var e;return T(this,function(t){switch(t.label){case 0:e=e0.default.defaultInstance;if(e)return[3,2];return[4,e0.default.init({dir:e2.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return e3.apply(this,arguments)}P(e1,"initNodePersist");var e4={get:function e(e){return s(function(){var t,n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e1()];case 1:r.sent();return[4,e0.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ex.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e1()];case 1:r.sent();return[4,e0.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ex.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e1()];case 1:n.sent();return[4,e0.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ex.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e1()];case 1:n.sent();return[4,e0.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ex.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ex.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return T(this,function(t){try{return[2,"".concat(e2.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ex.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e5=eb(),e8=eP.promisify(eM.exec);function e6(e){return"error_list:".concat(e)}P(e6,"getErrorListKey");function e7(e){return e9.apply(this,arguments)}function e9(){e9=s(function(e){var t,n,r;return T(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e6(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,e4.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,e4.getLogLink(n)];case 1:e=t.sent();e&&ex.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();ex.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return e9.apply(this,arguments)}P(e7,"saveErrorListToStorage");function te(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.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,u,i,l,f;var d=s.exec(e)||[],E=a.exec(e)||[],g=o.exec(e)||[];var h,v,p,m,O,y;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eL.Error?eL.Error:eL.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:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):E.length?t.push({file:(p=E===null||E===void 0?void 0:E[1])!==null&&p!==void 0?p:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eL.Error?eL.Error:eL.Warning,message:(m=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:""}):g.length?t.push({file:"commitlint",type:eL.Error,message:(O=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&O!==void 0?O:"",rule:(y=g===null||g===void 0?void 0:(f=g[2])===null||f===void 0?void 0:f.trim())!==null&&y!==void 0?y:""}):n.push(e.trim())}}),t.length&&e7(t),e5.DEBUG&&n.length&&(ex.warn("Unmatched lines:"),n.forEach(function(e){return ex.info(" ".concat(e))}))}P(te,"parseTextErrors");function tt(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,o=e.ruleId,c=e.message;n.push({type:r===2?eL.Error:eL.Warning,file:t,position:"".concat(s,":").concat(a),rule:o,message:c})})}),n.length&&e7(n)}catch(t){te(e)}}P(tt,"parseCommandOutput");function tn(e){return tr.apply(this,arguments)}function tr(){tr=s(function(e){var t,n,r,s,a,o,c,u,i;var l=arguments;return T(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tt;n=new AbortController;ew.default.on("SIGINT",function(){ex.warn("Process interrupted. Terminating..."),n.abort(),ew.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,e8(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:o=f.sent();c=o.stdout,u=o.stderr,i=o.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&ex.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})});return tr.apply(this,arguments)}P(tn,"executeCommand");function ts(e){return{raw:!0,cmd:e}}P(ts,"rawCommand");function ta(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tQ," ").concat(th," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tQ," ").concat(tx," ").concat(tN," ").concat(e):"".concat(tQ," ").concat(tA," ").concat(e)}P(ta,"formatCLI");function to(e,t){return typeof e=="function"?ta(e(t),t):(typeof e==="undefined"?"undefined":R(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ta(e,t):e}P(to,"formatCommand");function tc(e,t){return tu.apply(this,arguments)}function tu(){tu=s(function(e,t){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ex.start("".concat(e)),e5.DEBUG&&ex.info("→ ".concat(t));return[4,tn(t)];case 1:r.sent(),ex.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ex.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tu.apply(this,arguments)}P(tc,"runCommand");var ti=require("path");var tl=eb();function tf(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ti.resolve).apply(this,[tl.CWD].concat(_(t)))}P(tf,"resolveWorkingPath");function td(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ti.join).apply(this,_(t))}P(td,"join");var tE=eb(),tg=tE.CWD,th="@cyberskill/shared",tv="node_modules",tp="dist",tm="package.json",tO="package-lock.json",ty="tsconfig.json",tS=".gitignore",t_=".simple-git-hooks.json",tR="pnpm-lock.yaml",tC=".git/hooks/",tI=".git/COMMIT_EDITMSG",tT=".migrate-mongo.config.js",tD=td(tg,tv,th,tp),tA="cyberskill",tN="src/nodejs/cli/index.ts",tb="eslint",tG="eslint",tM="vitest",tw="playwright",tP="vitest",tL="@commitlint/cli",tU="commitlint",tk="lint-staged",tF="lint-staged",tj="typescript",tq="tsc",tx="tsx",tY="git",tB="pnpm",tQ="pnpm exec",tH="simple-git-hooks",tV="simple-git-hooks",tK="@eslint/config-inspector",tW="eslint-config-inspector",tJ="node-modules-inspector",t$="node-modules-inspector",tX="migrate-mongo",tz="./node_modules/migrate-mongo/bin/migrate-mongo",tZ={CYBERSKILL_DIRECTORY:tD,WORKING_DIRECTORY:tg,TS_CONFIG:tf(ty),GIT_IGNORE:tf(tS),GIT_HOOK:tf(tC),GIT_COMMIT_MSG:tf(tI),SIMPLE_GIT_HOOKS_JSON:tf(t_),PACKAGE_JSON:tf(tm),PACKAGE_LOCK_JSON:tf(tO),PNPM_LOCK_YAML:tf(tR),NODE_MODULES:tf(tv),MIGRATE_MONGO_CONFIG:tf(tT),LINT_STAGED_CONFIG:tf("".concat(tD,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:tf("".concat(tD,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:tf("".concat(tD,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:tf("".concat(tD,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:tf("".concat(tD,"/react/vitest/vitest.e2e.js"))};function t0(e,t,n){return t2.apply(this,arguments)}function t2(){t2=s(function(e,t,n){return T(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eG.CLI:return[3,1];case eG.STRING:return[3,3]}return[3,4];case 1:return[4,ez(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),to(ts("".concat(tQ," ").concat(n))))];case 3:return[2,to(ts(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return t2.apply(this,arguments)}P(t0,"buildCommand");function t1(e,t,n){return /*#__PURE__*/s(function(){return T(this,function(r){return[2,t0(e,t,n)]})})}P(t1,"commandFactory");var t3={simpleGitHooks:t1(eG.CLI,tH,tV),eslintInspect:t1(eG.CLI,tK,tW),nodeModulesInspect:t1(eG.CLI,tJ,t$),eslintCheck:t1(eG.CLI,tb,"".concat(tG," ").concat(tZ.WORKING_DIRECTORY)),eslintFix:t1(eG.CLI,tb,"".concat(tG," ").concat(tZ.WORKING_DIRECTORY," --fix")),typescriptCheck:t1(eG.CLI,tj,"".concat(tq," -p ").concat(tZ.TS_CONFIG," --noEmit")),configureGitHook:t1(eG.STRING,"".concat(tY," config core.hooksPath ").concat(tZ.GIT_HOOK)),testUnit:t1(eG.CLI,tM,"".concat(tP," --config ").concat(tZ.UNIT_TEST_CONFIG)),testE2e:t1(eG.CLI,"".concat(tM," ").concat(tw),"".concat(tP," --config ").concat(tZ.E2E_TEST_CONFIG)),mongoMigrateCreate:P(function(e){return t1(eG.CLI,tX,"".concat(tx," ").concat(tz," create ").concat(e," -f ").concat(tZ.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," up -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," down -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," status -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),commitLint:t1(eG.CLI,tL,"".concat(tU," --edit ").concat(tZ.GIT_COMMIT_MSG," --config ").concat(tZ.COMMITLINT_CONFIG)),lintStaged:t1(eG.CLI,tk,"".concat(tF," --config ").concat(tZ.LINT_STAGED_CONFIG)),stageBuildDirectory:t1(eG.STRING,"".concat(tY," add ").concat(tp)),build:t1(eG.STRING,"".concat(tB," run build")),pnpmInstallStandard:t1(eG.STRING,"".concat(tB," install")),pnpmInstallLegacy:t1(eG.STRING,"".concat(tB," install --legacy-peer-deps")),pnpmInstallForce:t1(eG.STRING,"".concat(tB," install --force"))};var t4={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,z.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"?t4.getDateTime():new Date;return{id:(0,er.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:er.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,a=e.standalone,o=a===void 0?!1:a;var c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),o||c.add(t4.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,o=e.aggregate,c=o===void 0?!1:o,u=e.virtuals,i=u===void 0?[]:u,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=t4.createSchema({mongoose:t,schema:r,virtuals:i});return t4.applyPlugins(d,[a&&en.default,c&&et.default]),t4.applyMiddlewares(d,f),t.model(n,d)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return p(h({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=s(function(e){return T(this,function(t){return[2,!el.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=s(function(t){var n;return T(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.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=s(function(t){return T(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!d(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:p(h({},Z.default),{setConfig:P(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eh(tZ.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tT,"\n");eR(tZ.GIT_IGNORE)?eg(tZ.GIT_IGNORE,"utf-8").split("\n").includes(tT)||ep(tZ.GIT_IGNORE,n,"utf-8"):eh(tZ.GIT_IGNORE,n,"utf-8")},"setConfig")})},t5=/*#__PURE__*/function(){function e(t,n){o(this,e);j(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n=h({},t4.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n=e.map(function(e){return h({},t4.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=a.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=a.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=a.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();P(t5,"MongoController");var t8=t5,t6=/*#__PURE__*/function(){function e(t){o(this,e);j(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var a=this;return s(function(){var s,o,c;return T(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);s=a.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 1:o=u.sent();return[2,o?{success:!0,result:o}:{success:!1,message:"No ".concat(a.getModelName()," found."),code:es.NOT_FOUND.CODE}];case 2:c=u.sent();return[2,{success:!1,message:c.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var a=this;return s(function(){var s,o,c;return T(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);s=a.model.find(e,t,n);r&&s.populate(r);o={success:!0};return[4,s.exec()];case 1:return[2,(o.result=u.sent(),o)];case 2:c=u.sent();return[2,{success:!1,message:c.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=a.sent().map(function(e){return d(e,ee.Document)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,a;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 1:s=o.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:es.NOT_FOUND.CODE}];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,a;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=o.sent(),s)];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=a.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:es.NOT_FOUND.CODE}];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=a.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:es.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return s(function(){var r,s,a,o;return T(this,function(c){switch(c.label){case 0:r=new Set;s=0;c.label=1;case 1:if(!(s<10))return[3,5];a=ei(e,s+t);o=!r.has(a);if(!o)return[3,3];r.add(a);return[4,n.model.exists({shortId:a})];case 2:o=!c.sent();c.label=3;case 3:if(o)return[2,{success:!0,result:a}];c.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:es.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var a,o,c,u,i,l,f,d,E,g,h;return T(this,function(v){switch(v.label){case 0:v.trys.push([0,8,,9]);a=t[e],o=P(/*#__PURE__*/function(){var e=s(function(e){var s,a,o;return T(this,function(c){switch(c.label){case 0:return[4,r.model.findOne(t4.createSlugQuery(e,n,t.id))];case 1:s=c.sent();if(!s)return[2,e];a=1;c.label=2;case 2:o="".concat(e,"-").concat(a);return[4,r.model.findOne(t4.createSlugQuery(o,n,t.id))];case 3:s=c.sent(),a++;c.label=4;case 4:if(s)return[3,2];c.label=5;case 5:return[2,o]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof a==="undefined"?"undefined":R(a))=="object"))return[3,5];c={};u=[];for(i in a)u.push(i);l=0;v.label=1;case 1:if(!(l<u.length))return[3,4];f=u[l];d=eu(a[f]);return[4,o(d)];case 2:c[f]=v.sent();v.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:c}];case 5:E=eu(a);g={success:!0};return[4,o(E)];case 6:return[2,(g.result=v.sent(),g)];case 7:return[3,9];case 8:h=v.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:es.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();P(t6,"MongooseController");var t7=t6;0&&(module.exports={C_Collection:C_Collection,C_Db:C_Db,C_Document:C_Document,C_Model:C_Model,MONGO_MIGRATE_OPTIONS:MONGO_MIGRATE_OPTIONS,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(t){if(Array.isArray(t))return e(t)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function r(e,t,n,r,s,a,o){try{var c=e[a](o);var u=c.value}catch(e){n(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,a){var o=e.apply(t,n);function c(e){r(o,s,a,c,u,"next",e)}function u(e){r(o,s,a,c,u,"throw",e)}c(undefined)})}}function a(e,t,n){t=l(t);return y(e,I()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}function o(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 u(e,t,n){if(t)c(e.prototype,t);if(n)c(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 l(e){l=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return l(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function d(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function E(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(){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 h(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 v(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 p(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function m(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++){r=a[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,a;for(a=0;a<r.length;a++){s=r[a];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function y(e,t){if(t&&(R(t)==="object"||typeof t==="function")){return t}return n(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function _(e){return t(e)||E(e)||C(e)||g()}function R(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function C(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 I(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(I=function(){return!!e})()}function T(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(a=0)),a)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){a.label=c[1];break}if(c[0]===6&&a.label<s[1]){a.label=s[1];s=c;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(c);break}if(s[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var D=Object.create;var A=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var w=function(e,t,n){return t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var P=function(e,t){return A(e,"name",{value:t,configurable:!0})};var L=function(e,t){for(var n in t)A(e,n,{get:t[n],enumerable:!0})},U=function(e,t,n,r){var s=true,a=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":R(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!M.call(e,s)&&s!==n&&A(e,s,{get:function(){return t[s]},enumerable:!(r=N(t,s))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),i;!(s=(i=u.next()).done);s=true)c()}catch(e){a=true;o=e}finally{try{if(!s&&u.return!=null){u.return()}}finally{if(a){throw o}}}return e};var k=function(e,t,n){return n=e!=null?D(G(e)):{},U(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)},F=function(e){return U(A({},"__esModule",{value:!0}),e)};var j=function(e,t,n){return w(e,(typeof t==="undefined"?"undefined":R(t))!="symbol"?t+"":t,n)};var q={};L(q,{C_Collection:function(){return X},C_Db:function(){return H},C_Document:function(){return K},C_Model:function(){return J},MONGO_MIGRATE_OPTIONS:function(){return x},MongoController:function(){return t8},MongooseController:function(){return t7},aggregatePaginate:function(){return et.default},mongo:function(){return t4},mongoosePaginate:function(){return en.default}});module.exports=F(q);var x="MONGO_MIGRATE_OPTIONS";var Y=require("mongodb"),B=require("mongoose");var Q=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(Y.Db);P(Q,"C_Db");var H=Q,V=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(B.Document);P(V,"C_Document");var K=V,W=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(B.Model);P(W,"C_Model");var J=W,$=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(Y.Collection);P($,"C_Collection");var X=$;var z=require("date-fns"),Z=k(require("migrate-mongo"),1),ee=require("mongoose"),et=k(require("mongoose-aggregate-paginate-v2"),1),en=k(require("mongoose-paginate-v2"),1),er=require("uuid");var es={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 ea=k(require("crypto-js"),1),eo=k(require("slugify"),1);var ec=eo.default.default||eo.default;function eu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,a=n.locale,o=a===void 0?"vi":a,c=m(n,["lower","locale"]);return ec(e,h({lower:s,locale:o},c))}P(eu,"generateSlug");function ei(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return ea.default.SHA256(e).toString(ea.default.enc.Hex).slice(0,t)}P(ei,"generateShortId");var el={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":R(e))=="object"?d(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var ef=k(require("fs-extra"),1),ed=require("path");var eE=ef.default,eg=eE.readFileSync,eh=eE.writeFileSync,ev=eE.pathExistsSync,ep=eE.appendFileSync,em=eE.copySync,eO=eE.removeSync,ey=eE.statSync,eS=ef.default.readJsonSync,e_=ef.default.writeJsonSync;function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ev(e)})}P(eR,"existsSync");var eC=".cyberskill-storage";var eI=k(require("dotenv"),1),eT=require("envalid"),eD=k(require("os"),1),eA=k(require("path"),1),eN=k(require("process"),1);eI.default.config();function eb(){var e={DEBUG:eN.default.env.DEBUG||!1,CWD:eN.default.env.CWD||eN.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eN.default.env.CYBERSKILL_STORAGE_DIRECTORY||eA.default.join(eD.default.homedir(),eC)};return(0,eT.cleanEnv)(e,{DEBUG:(0,eT.bool)(),CWD:(0,eT.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,eT.str)()})}P(eb,"getEnv");var eG=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var eM=require("child_process"),ew=k(require("process"),1),eP=k(require("util"),1);var eL=function(e){return e.Error="error",e.Warning="warning",e}({});var eU=k(require("chalk"),1),ek=k(require("consola"),1),eF=require("graphql");var ej=eb();ej.DEBUG||(ek.default.level=4);function eq(e){var t=eU.default[e];return typeof t=="function"?t:eU.default.green}P(eq,"chalkKeyword");var ex={silent:ek.default.silent,level:ek.default.level,fatal:ek.default.fatal,error:ek.default.error,warn:ek.default.warn,log:ek.default.log,info:ek.default.info,success:ek.default.success,ready:ek.default.ready,start:ek.default.start,box:ek.default.box,debug:ek.default.debug,trace:ek.default.trace,verbose:ek.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)){ek.default.box(eU.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;ek.default.log("".concat(eU.default.gray("File:")," ").concat(eU.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&ek.default.log(" ".concat(eq(n)("Rule:")," ").concat(s)),ek.default.log(" ".concat(eq(n)("Message:")," ").concat(a))}),ek.default.box(eq(n)("".concat(e," : ").concat(t.length))),ek.default.log(eU.default.gray("─".repeat(40)))}};var eY={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eB=k(require("node-fetch"),1);var eQ=eb();function eH(e){var t=td(eQ.CWD,tm);if(!eR(t))return!1;try{var n=eS(t),r=n.name,s=n.dependencies,a=s===void 0?{}:s,o=n.devDependencies,c=o===void 0?{}:o,u=r===e,i=e in a,l=e in c;return u||i||l?{path:t,file:n,isCurrentProject:u,isDepend:i,isDevDepend:l}:!1}catch(e){return ex.warn("Failed to read package.json: ".concat(e.message)),!1}}P(eH,"getPackage");function eV(e){return eK.apply(this,arguments)}function eK(){eK=s(function(e){var t,n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eB.default)("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,r];case 3:s=a.sent();throw ex.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return eK.apply(this,arguments)}P(eV,"getLatestPackageVersion");function eW(e,t){return eJ.apply(this,arguments)}function eJ(){eJ=s(function(e,t){var n,r,s,a,o,c,u,i,l,f,d,E,g,v,p,m,O,y,S,_,R;return T(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=eH(e);if(!n)return[2,h({},eY)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},g=(s=i.devDependencies)!==null&&s!==void 0?s:{},v=l?(a=i.version)!==null&&a!==void 0?a:"0.0.0":f?(o=E[e])!==null&&o!==void 0?o:"0.0.0":d?(c=g[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];O=v;return[3,3];case 1:return[4,eV(e)];case 2:O=C.sent();C.label=3;case 3:p=O,m=l||v===p;if(!m&&(t===null||t===void 0?void 0:t.update)){;S=f?"dependencies":d?"devDependencies":null;S&&((y=i[S])===null||y===void 0?void 0:y[e])!==p&&(i[S]=(_=i[S])!==null&&_!==void 0?_:{},i[S][e]=p,e_(u,i),ex.info('Updated "'.concat(e,'" to version ').concat(p)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:m}];case 4:R=C.sent();return[2,(ex.error('Error checking package "'.concat(e,'": ').concat(R.message)),h({},eY))];case 5:return[2]}})});return eJ.apply(this,arguments)}P(eW,"checkPackage");function e$(){return eX.apply(this,arguments)}function eX(){eX=s(function(){var e,t,n,r,s,a,o,c,u,i,l,f;return T(this,function(d){switch(d.label){case 0:e=[{command:P(function(){return t3.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:P(function(){return t3.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:P(function(){return t3.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];o=a.value,c=o.command,u=o.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:i=d.sent();return[4,tc("".concat(u," using: ").concat(i),i)];case 5:d.sent();return[2];case 6:l=d.sent();ex.warn("Installation attempt failed: ".concat(u)),ex.error("Details: ".concat(l.message));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:throw new Error("All dependency installation strategies failed.")}})});return eX.apply(this,arguments)}P(e$,"installDependencies");function ez(e,t){return eZ.apply(this,arguments)}function eZ(){eZ=s(function(e,t){var n,r,s,a,o,c,u,i,l,f,d;return T(this,function(E){switch(E.label){case 0:if(!eR(tZ.PACKAGE_JSON)){ex.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=_(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eW(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=E.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e$()];case 3:r=E.sent();E.label=4;case 4:r;a=true,o=false,c=undefined;E.label=5;case 5:E.trys.push([5,10,11,12]);u=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();E.label=6;case 6:if(!!(a=(i=u.next()).done))return[3,9];l=i.value;return[4,l()];case 7:E.sent();E.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:f=E.sent();o=true;c=f;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}return[7];case 12:return[3,14];case 13:d=E.sent();throw ex.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})});return eZ.apply(this,arguments)}P(ez,"setupPackages");var e0=k(require("node-persist"),1);var e2=eb();function e1(){return e3.apply(this,arguments)}function e3(){e3=s(function(){var e;return T(this,function(t){switch(t.label){case 0:e=e0.default.defaultInstance;if(e)return[3,2];return[4,e0.default.init({dir:e2.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return e3.apply(this,arguments)}P(e1,"initNodePersist");var e4={get:function e(e){return s(function(){var t,n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e1()];case 1:r.sent();return[4,e0.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ex.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e1()];case 1:r.sent();return[4,e0.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ex.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e1()];case 1:n.sent();return[4,e0.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ex.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e1()];case 1:n.sent();return[4,e0.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ex.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ex.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return T(this,function(t){try{return[2,"".concat(e2.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ex.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e5=eb(),e8=eP.promisify(eM.exec);function e6(e){return"error_list:".concat(e)}P(e6,"getErrorListKey");function e7(e){return e9.apply(this,arguments)}function e9(){e9=s(function(e){var t,n,r;return T(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e6(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,e4.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,e4.getLogLink(n)];case 1:e=t.sent();e&&ex.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();ex.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return e9.apply(this,arguments)}P(e7,"saveErrorListToStorage");function te(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.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,u,i,l,f;var d=s.exec(e)||[],E=a.exec(e)||[],g=o.exec(e)||[];var h,v,p,m,O,y;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eL.Error?eL.Error:eL.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:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):E.length?t.push({file:(p=E===null||E===void 0?void 0:E[1])!==null&&p!==void 0?p:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eL.Error?eL.Error:eL.Warning,message:(m=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:""}):g.length?t.push({file:"commitlint",type:eL.Error,message:(O=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&O!==void 0?O:"",rule:(y=g===null||g===void 0?void 0:(f=g[2])===null||f===void 0?void 0:f.trim())!==null&&y!==void 0?y:""}):n.push(e.trim())}}),t.length&&e7(t),e5.DEBUG&&n.length&&(ex.warn("Unmatched lines:"),n.forEach(function(e){return ex.info(" ".concat(e))}))}P(te,"parseTextErrors");function tt(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,o=e.ruleId,c=e.message;n.push({type:r===2?eL.Error:eL.Warning,file:t,position:"".concat(s,":").concat(a),rule:o,message:c})})}),n.length&&e7(n)}catch(t){te(e)}}P(tt,"parseCommandOutput");function tn(e){return tr.apply(this,arguments)}function tr(){tr=s(function(e){var t,n,r,s,a,o,c,u,i;var l=arguments;return T(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tt;n=new AbortController;ew.default.on("SIGINT",function(){ex.warn("Process interrupted. Terminating..."),n.abort(),ew.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,e8(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:o=f.sent();c=o.stdout,u=o.stderr,i=o.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&ex.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})});return tr.apply(this,arguments)}P(tn,"executeCommand");function ts(e){return{raw:!0,cmd:e}}P(ts,"rawCommand");function ta(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tQ," ").concat(th," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tQ," ").concat(tx," ").concat(tN," ").concat(e):"".concat(tQ," ").concat(tA," ").concat(e)}P(ta,"formatCLI");function to(e,t){return typeof e=="function"?ta(e(t),t):(typeof e==="undefined"?"undefined":R(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ta(e,t):e}P(to,"formatCommand");function tc(e,t){return tu.apply(this,arguments)}function tu(){tu=s(function(e,t){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ex.start("".concat(e)),e5.DEBUG&&ex.info("→ ".concat(t));return[4,tn(t)];case 1:r.sent(),ex.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ex.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tu.apply(this,arguments)}P(tc,"runCommand");var ti=require("path");var tl=eb();function tf(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ti.resolve).apply(this,[tl.CWD].concat(_(t)))}P(tf,"resolveWorkingPath");function td(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ti.join).apply(this,_(t))}P(td,"join");var tE=eb(),tg=tE.CWD,th="@cyberskill/shared",tv="node_modules",tp="dist",tm="package.json",tO="package-lock.json",ty="tsconfig.json",tS=".gitignore",t_=".simple-git-hooks.json",tR="pnpm-lock.yaml",tC=".git/hooks/",tI=".git/COMMIT_EDITMSG",tT=".migrate-mongo.config.js",tD=td(tg,tv,th,tp),tA="cyberskill",tN="src/nodejs/cli/index.ts",tb="eslint",tG="eslint",tM="vitest",tw="playwright",tP="vitest",tL="@commitlint/cli",tU="commitlint",tk="lint-staged",tF="lint-staged",tj="typescript",tq="tsc",tx="tsx",tY="git",tB="pnpm",tQ="pnpm exec",tH="simple-git-hooks",tV="simple-git-hooks",tK="@eslint/config-inspector",tW="eslint-config-inspector",tJ="node-modules-inspector",t$="node-modules-inspector",tX="migrate-mongo",tz="./node_modules/migrate-mongo/bin/migrate-mongo",tZ={CYBERSKILL_DIRECTORY:tD,WORKING_DIRECTORY:tg,TS_CONFIG:tf(ty),GIT_IGNORE:tf(tS),GIT_HOOK:tf(tC),GIT_COMMIT_MSG:tf(tI),SIMPLE_GIT_HOOKS_JSON:tf(t_),PACKAGE_JSON:tf(tm),PACKAGE_LOCK_JSON:tf(tO),PNPM_LOCK_YAML:tf(tR),NODE_MODULES:tf(tv),MIGRATE_MONGO_CONFIG:tf(tT),LINT_STAGED_CONFIG:tf("".concat(tD,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:tf("".concat(tD,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:tf("".concat(tD,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:tf("".concat(tD,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:tf("".concat(tD,"/react/vitest/vitest.e2e.js"))};function t0(e,t,n){return t2.apply(this,arguments)}function t2(){t2=s(function(e,t,n){return T(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eG.CLI:return[3,1];case eG.STRING:return[3,3]}return[3,4];case 1:return[4,ez(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),to(ts("".concat(tQ," ").concat(n))))];case 3:return[2,to(ts(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return t2.apply(this,arguments)}P(t0,"buildCommand");function t1(e,t,n){return /*#__PURE__*/s(function(){return T(this,function(r){return[2,t0(e,t,n)]})})}P(t1,"commandFactory");var t3={simpleGitHooks:t1(eG.CLI,tH,tV),eslintInspect:t1(eG.CLI,tK,tW),nodeModulesInspect:t1(eG.CLI,tJ,t$),eslintCheck:t1(eG.CLI,tb,"".concat(tG," ").concat(tZ.WORKING_DIRECTORY)),eslintFix:t1(eG.CLI,tb,"".concat(tG," ").concat(tZ.WORKING_DIRECTORY," --fix")),typescriptCheck:t1(eG.CLI,tj,"".concat(tq," -p ").concat(tZ.TS_CONFIG," --noEmit")),configureGitHook:t1(eG.STRING,"".concat(tY," config core.hooksPath ").concat(tZ.GIT_HOOK)),testUnit:t1(eG.CLI,tM,"".concat(tP," --config ").concat(tZ.UNIT_TEST_CONFIG)),testE2e:t1(eG.CLI,"".concat(tM," ").concat(tw),"".concat(tP," --config ").concat(tZ.E2E_TEST_CONFIG)),mongoMigrateCreate:P(function(e){return t1(eG.CLI,tX,"".concat(tx," ").concat(tz," create ").concat(e," -f ").concat(tZ.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," up -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," down -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),commitLint:t1(eG.CLI,tL,"".concat(tU," --edit ").concat(tZ.GIT_COMMIT_MSG," --config ").concat(tZ.COMMITLINT_CONFIG)),lintStaged:t1(eG.CLI,tk,"".concat(tF," --config ").concat(tZ.LINT_STAGED_CONFIG)),stageBuildDirectory:t1(eG.STRING,"".concat(tY," add ").concat(tp)),build:t1(eG.STRING,"".concat(tB," run build")),pnpmInstallStandard:t1(eG.STRING,"".concat(tB," install")),pnpmInstallLegacy:t1(eG.STRING,"".concat(tB," install --legacy-peer-deps")),pnpmInstallForce:t1(eG.STRING,"".concat(tB," install --force"))};var t4={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,z.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"?t4.getDateTime():new Date;return{id:(0,er.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:er.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,a=e.standalone,o=a===void 0?!1:a;var c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),o||c.add(t4.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,o=e.aggregate,c=o===void 0?!1:o,u=e.virtuals,i=u===void 0?[]:u,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=t4.createSchema({mongoose:t,schema:r,virtuals:i});return t4.applyPlugins(d,[a&&en.default,c&&et.default]),t4.applyMiddlewares(d,f),t.model(n,d)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return p(h({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=s(function(e){return T(this,function(t){return[2,!el.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=s(function(t){var n;return T(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.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=s(function(t){return T(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!d(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:p(h({},Z.default),{setConfig:P(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eh(tZ.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tT,"\n");eR(tZ.GIT_IGNORE)?eg(tZ.GIT_IGNORE,"utf-8").split("\n").includes(tT)||ep(tZ.GIT_IGNORE,n,"utf-8"):eh(tZ.GIT_IGNORE,n,"utf-8")},"setConfig")})},t5=/*#__PURE__*/function(){function e(t,n){o(this,e);j(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n=h({},t4.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n=e.map(function(e){return h({},t4.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=a.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=a.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=a.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();P(t5,"MongoController");var t8=t5,t6=/*#__PURE__*/function(){function e(t){o(this,e);j(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var a=this;return s(function(){var s,o,c;return T(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);s=a.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 1:o=u.sent();return[2,o?{success:!0,result:o}:{success:!1,message:"No ".concat(a.getModelName()," found."),code:es.NOT_FOUND.CODE}];case 2:c=u.sent();return[2,{success:!1,message:c.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var a=this;return s(function(){var s,o,c;return T(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);s=a.model.find(e,t,n);r&&s.populate(r);o={success:!0};return[4,s.exec()];case 1:return[2,(o.result=u.sent(),o)];case 2:c=u.sent();return[2,{success:!1,message:c.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=a.sent().map(function(e){return d(e,ee.Document)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,a;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 1:s=o.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:es.NOT_FOUND.CODE}];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,a;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=o.sent(),s)];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=a.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:es.NOT_FOUND.CODE}];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=a.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:es.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return s(function(){var r,s,a,o;return T(this,function(c){switch(c.label){case 0:r=new Set;s=0;c.label=1;case 1:if(!(s<10))return[3,5];a=ei(e,s+t);o=!r.has(a);if(!o)return[3,3];r.add(a);return[4,n.model.exists({shortId:a})];case 2:o=!c.sent();c.label=3;case 3:if(o)return[2,{success:!0,result:a}];c.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:es.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var a,o,c,u,i,l,f,d,E,g,h;return T(this,function(v){switch(v.label){case 0:v.trys.push([0,8,,9]);a=t[e],o=P(/*#__PURE__*/function(){var e=s(function(e){var s,a,o;return T(this,function(c){switch(c.label){case 0:return[4,r.model.findOne(t4.createSlugQuery(e,n,t.id))];case 1:s=c.sent();if(!s)return[2,e];a=1;c.label=2;case 2:o="".concat(e,"-").concat(a);return[4,r.model.findOne(t4.createSlugQuery(o,n,t.id))];case 3:s=c.sent(),a++;c.label=4;case 4:if(s)return[3,2];c.label=5;case 5:return[2,o]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof a==="undefined"?"undefined":R(a))=="object"))return[3,5];c={};u=[];for(i in a)u.push(i);l=0;v.label=1;case 1:if(!(l<u.length))return[3,4];f=u[l];d=eu(a[f]);return[4,o(d)];case 2:c[f]=v.sent();v.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:c}];case 5:E=eu(a);g={success:!0};return[4,o(E)];case 6:return[2,(g.result=v.sent(),g)];case 7:return[3,9];case 8:h=v.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:es.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();P(t6,"MongooseController");var t7=t6;0&&(module.exports={C_Collection:C_Collection,C_Db:C_Db,C_Document:C_Document,C_Model:C_Model,MONGO_MIGRATE_OPTIONS:MONGO_MIGRATE_OPTIONS,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(t){if(Array.isArray(t))return e(t)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function r(e,t,n,r,s,o,a){try{var c=e[o](a);var i=c.value}catch(e){n(e);return}if(c.done){t(i)}else{Promise.resolve(i).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,o){var a=e.apply(t,n);function c(e){r(a,s,o,c,i,"next",e)}function i(e){r(a,s,o,c,i,"throw",e)}c(undefined)})}}function o(e,t,n){t=l(t);return y(e,C()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}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 u(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function l(e){l=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return l(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function E(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function d(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function p(){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 h(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){u(e,t,n[t])})}return e}function 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 g(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 v(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(s=0;s<o.length;s++){r=o[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,o;for(o=0;o<r.length;o++){s=r[o];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function y(e,t){if(t&&(_(t)==="object"||typeof t==="function")){return t}return n(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function R(e){return t(e)||d(e)||I(e)||p()}function _(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function I(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 C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(C=function(){return!!e})()}function T(e,t){var n,r,s,o={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=c(0),a["throw"]=c(1),a["return"]=c(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return i([e,t])}}function i(c){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(o=0)),o)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;r=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(s=o.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){o.label=c[1];break}if(c[0]===6&&o.label<s[1]){o.label=s[1];s=c;break}if(s&&o.label<s[2]){o.label=s[2];o.ops.push(c);break}if(s[2])o.ops.pop();o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var A=Object.defineProperty;var D=function(e,t,n){return t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var N=function(e,t){return A(e,"name",{value:t,configurable:!0})};var b=function(e,t,n){return D(e,(typeof t==="undefined"?"undefined":_(t))!="symbol"?t+"":t,n)};var G="MONGO_MIGRATE_OPTIONS";import{Collection as M,Db as w}from"mongodb";import{Document as P,Model as L}from"mongoose";var U=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(w);N(U,"C_Db");var k=U,F=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(P);N(F,"C_Document");var j=F,x=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(L);N(x,"C_Model");var Y=x,q=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(M);N(q,"C_Collection");var B=q;import{format as Q}from"date-fns";import H from"migrate-mongo";import{Document as V}from"mongoose";import K from"mongoose-aggregate-paginate-v2";import W from"mongoose-paginate-v2";import{v4 as J}from"uuid";var $={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 X from"crypto-js";import z from"slugify";var Z=z.default||z;function ee(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,o=n.locale,a=o===void 0?"vi":o,c=v(n,["lower","locale"]);return Z(e,h({lower:s,locale:a},c))}N(ee,"generateSlug");function et(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return X.SHA256(e).toString(X.enc.Hex).slice(0,t)}N(et,"generateShortId");var en={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":_(e))=="object"?E(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};import er from"fs-extra";var es=er.readFileSync,eo=er.writeFileSync,ea=er.pathExistsSync,ec=er.appendFileSync,ei=er.copySync,eu=er.removeSync,el=er.statSync,ef=er.readJsonSync,eE=er.writeJsonSync;function ed(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ea(e)})}N(ed,"existsSync");var ep=".cyberskill-storage";import eh from"dotenv";import{bool as em,cleanEnv as eg,str as ev}from"envalid";import eO from"node:os";import ey from"node:path";import eS from"node:process";eh.config();function eR(){var e={DEBUG:eS.env.DEBUG||!1,CWD:eS.env.CWD||eS.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eS.env.CYBERSKILL_STORAGE_DIRECTORY||ey.join(eO.homedir(),ep)};return eg(e,{DEBUG:em(),CWD:ev(),CYBERSKILL_STORAGE_DIRECTORY:ev()})}N(eR,"getEnv");var e_=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as eI}from"node:child_process";import eC from"node:process";import*as eT from"node:util";var eA=function(e){return e.Error="error",e.Warning="warning",e}({});import eD from"chalk";import eN from"consola";import{GraphQLError as eb}from"graphql";var eG=eR();eG.DEBUG||(eN.level=4);function eM(e){var t=eD[e];return typeof t=="function"?t:eD.green}N(eM,"chalkKeyword");var ew={silent:eN.silent,level:eN.level,fatal:eN.fatal,error:eN.error,warn:eN.warn,log:eN.log,info:eN.info,success:eN.success,ready:eN.ready,start:eN.start,box:eN.box,debug:eN.debug,trace:eN.trace,verbose:eN.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)){eN.box(eD.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,o=e.message;eN.log("".concat(eD.gray("File:")," ").concat(eD.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eN.log(" ".concat(eM(n)("Rule:")," ").concat(s)),eN.log(" ".concat(eM(n)("Message:")," ").concat(o))}),eN.box(eM(n)("".concat(e," : ").concat(t.length))),eN.log(eD.gray("─".repeat(40)))}};var eP={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import eL from"node-fetch";var eU=eR();function ek(e){var t=to(eU.CWD,tf);if(!ed(t))return!1;try{var n=ef(t),r=n.name,s=n.dependencies,o=s===void 0?{}:s,a=n.devDependencies,c=a===void 0?{}:a,i=r===e,u=e in o,l=e in c;return i||u||l?{path:t,file:n,isCurrentProject:i,isDepend:u,isDevDepend:l}:!1}catch(e){return ew.warn("Failed to read package.json: ".concat(e.message)),!1}}N(ek,"getPackage");function eF(e){return ej.apply(this,arguments)}function ej(){ej=s(function(e){var t,n,r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,eL("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.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=o.sent(),r=n.version;return[2,r];case 3:s=o.sent();throw ew.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return ej.apply(this,arguments)}N(eF,"getLatestPackageVersion");function ex(e,t){return eY.apply(this,arguments)}function eY(){eY=s(function(e,t){var n,r,s,o,a,c,i,u,l,f,E,d,p,m,g,v,O,y,S,R,_;return T(this,function(I){switch(I.label){case 0:I.trys.push([0,4,,5]);n=ek(e);if(!n)return[2,h({},eP)];i=n.path,u=n.file,l=n.isCurrentProject,f=n.isDepend,E=n.isDevDepend,d=(r=u.dependencies)!==null&&r!==void 0?r:{},p=(s=u.devDependencies)!==null&&s!==void 0?s:{},m=l?(o=u.version)!==null&&o!==void 0?o:"0.0.0":f?(a=d[e])!==null&&a!==void 0?a:"0.0.0":E?(c=p[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];O=m;return[3,3];case 1:return[4,eF(e)];case 2:O=I.sent();I.label=3;case 3:g=O,v=l||m===g;if(!v&&(t===null||t===void 0?void 0:t.update)){;S=f?"dependencies":E?"devDependencies":null;S&&((y=u[S])===null||y===void 0?void 0:y[e])!==g&&(u[S]=(R=u[S])!==null&&R!==void 0?R:{},u[S][e]=g,eE(i,u),ew.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:i,file:u,isUpToDate:v}];case 4:_=I.sent();return[2,(ew.error('Error checking package "'.concat(e,'": ').concat(_.message)),h({},eP))];case 5:return[2]}})});return eY.apply(this,arguments)}N(ex,"checkPackage");function eq(){return eB.apply(this,arguments)}function eB(){eB=s(function(){var e,t,n,r,s,o,a,c,i,u,l,f;return T(this,function(E){switch(E.label){case 0:e=[{command:N(function(){return t$.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:N(function(){return t$.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:N(function(){return t$.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]);s=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(o=s.next()).done))return[3,8];a=o.value,c=a.command,i=a.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,c()];case 4:u=E.sent();return[4,e9("".concat(i," using: ").concat(u),u)];case 5:E.sent();return[2];case 6:l=E.sent();ew.warn("Installation attempt failed: ".concat(i)),ew.error("Details: ".concat(l.message));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&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return eB.apply(this,arguments)}N(eq,"installDependencies");function eQ(e,t){return eH.apply(this,arguments)}function eH(){eH=s(function(e,t){var n,r,s,o,a,c,i,u,l,f,E;return T(this,function(d){switch(d.label){case 0:if(!ed(tV.PACKAGE_JSON)){ew.error("package.json not found. Aborting setup.");return[2]}d.label=1;case 1:d.trys.push([1,13,,14]);n=R(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ex(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=d.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,eq()];case 3:r=d.sent();d.label=4;case 4:r;o=true,a=false,c=undefined;d.label=5;case 5:d.trys.push([5,10,11,12]);i=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();d.label=6;case 6:if(!!(o=(u=i.next()).done))return[3,9];l=u.value;return[4,l()];case 7:d.sent();d.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:f=d.sent();a=true;c=f;return[3,12];case 11:try{if(!o&&i.return!=null){i.return()}}finally{if(a){throw c}}return[7];case 12:return[3,14];case 13:E=d.sent();throw ew.error('Failed to setup "'.concat(e.join(", "),'": ').concat(E.message)),E;case 14:return[2]}})});return eH.apply(this,arguments)}N(eQ,"setupPackages");import eV from"node-persist";var eK=eR();function eW(){return eJ.apply(this,arguments)}function eJ(){eJ=s(function(){var e;return T(this,function(t){switch(t.label){case 0:e=eV.defaultInstance;if(e)return[3,2];return[4,eV.init({dir:eK.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return eJ.apply(this,arguments)}N(eW,"initNodePersist");var e$={get:function e(e){return s(function(){var t,n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eW()];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,(ew.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eW()];case 1:r.sent();return[4,eV.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ew.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eW()];case 1:n.sent();return[4,eV.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ew.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eW()];case 1:n.sent();return[4,eV.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,(ew.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return T(this,function(t){try{return[2,"".concat(eK.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ew.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eX=eR(),ez=eT.promisify(eI);function eZ(e){return"error_list:".concat(e)}N(eZ,"getErrorListKey");function e0(e){return e2.apply(this,arguments)}function e2(){e2=s(function(e){var t,n,r;return T(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eZ(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,e$.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,e$.getLogLink(n)];case 1:e=t.sent();e&&ew.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=o.sent();ew.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return e2.apply(this,arguments)}N(e0,"saveErrorListToStorage");function e1(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,i,u,l,f;var E=s.exec(e)||[],d=o.exec(e)||[],p=a.exec(e)||[];var h,m,g,v,O,y;E.length&&r?t.push({file:r,position:"".concat(E[1],":").concat(E[2]),type:E[3]===eA.Error?eA.Error:eA.Warning,message:(h=E===null||E===void 0?void 0:(c=E[4])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:"",rule:(m=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:""}):d.length?t.push({file:(g=d===null||d===void 0?void 0:d[1])!==null&&g!==void 0?g:"",position:"".concat(d[2],":").concat(d[3]),type:d[4]===eA.Error?eA.Error:eA.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:eA.Error,message:(O=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&O!==void 0?O:"",rule:(y=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&y!==void 0?y:""}):n.push(e.trim())}}),t.length&&e0(t),eX.DEBUG&&n.length&&(ew.warn("Unmatched lines:"),n.forEach(function(e){return ew.info(" ".concat(e))}))}N(e1,"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,s=e.line,o=e.column,a=e.ruleId,c=e.message;n.push({type:r===2?eA.Error:eA.Warning,file:t,position:"".concat(s,":").concat(o),rule:a,message:c})})}),n.length&&e0(n)}catch(t){e1(e)}}N(e3,"parseCommandOutput");function e4(e){return e5.apply(this,arguments)}function e5(){e5=s(function(e){var t,n,r,s,o,a,c,i,u;var l=arguments;return T(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:e3;n=new AbortController;eC.on("SIGINT",function(){ew.warn("Process interrupted. Terminating..."),n.abort(),eC.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(),s=r.stdout,o=r.stderr;[s,o].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();c=a.stdout,i=a.stderr,u=a.message;[c,i].forEach(function(e){return e&&t(e)}),!i&&!c&&ew.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return e5.apply(this,arguments)}N(e4,"executeCommand");function e8(e){return{raw:!0,cmd:e}}N(e8,"rawCommand");function e6(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tk," ").concat(ti," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tk," ").concat(tP," ").concat(tR," ").concat(e):"".concat(tk," ").concat(tS," ").concat(e)}N(e6,"formatCLI");function e7(e,t){return typeof e=="function"?e6(e(t),t):(typeof e==="undefined"?"undefined":_(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e6(e,t):e}N(e7,"formatCommand");function e9(e,t){return te.apply(this,arguments)}function te(){te=s(function(e,t){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ew.start("".concat(e)),eX.DEBUG&&ew.info("→ ".concat(t));return[4,e4(t)];case 1:r.sent(),ew.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ew.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return te.apply(this,arguments)}N(e9,"runCommand");import{join as tt,resolve as tn}from"node:path";var tr=eR();function ts(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tn.apply(void 0,[tr.CWD].concat(R(t)))}N(ts,"resolveWorkingPath");function to(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tt.apply(void 0,R(t))}N(to,"join");var ta=eR(),tc=ta.CWD,ti="@cyberskill/shared",tu="node_modules",tl="dist",tf="package.json",tE="package-lock.json",td="tsconfig.json",tp=".gitignore",th=".simple-git-hooks.json",tm="pnpm-lock.yaml",tg=".git/hooks/",tv=".git/COMMIT_EDITMSG",tO=".migrate-mongo.config.js",ty=to(tc,tu,ti,tl),tS="cyberskill",tR="src/nodejs/cli/index.ts",t_="eslint",tI="eslint",tC="vitest",tT="playwright",tA="vitest",tD="@commitlint/cli",tN="commitlint",tb="lint-staged",tG="lint-staged",tM="typescript",tw="tsc",tP="tsx",tL="git",tU="pnpm",tk="pnpm exec",tF="simple-git-hooks",tj="simple-git-hooks",tx="@eslint/config-inspector",tY="eslint-config-inspector",tq="node-modules-inspector",tB="node-modules-inspector",tQ="migrate-mongo",tH="./node_modules/migrate-mongo/bin/migrate-mongo",tV={CYBERSKILL_DIRECTORY:ty,WORKING_DIRECTORY:tc,TS_CONFIG:ts(td),GIT_IGNORE:ts(tp),GIT_HOOK:ts(tg),GIT_COMMIT_MSG:ts(tv),SIMPLE_GIT_HOOKS_JSON:ts(th),PACKAGE_JSON:ts(tf),PACKAGE_LOCK_JSON:ts(tE),PNPM_LOCK_YAML:ts(tm),NODE_MODULES:ts(tu),MIGRATE_MONGO_CONFIG:ts(tO),LINT_STAGED_CONFIG:ts("".concat(ty,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ts("".concat(ty,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ts("".concat(ty,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ts("".concat(ty,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ts("".concat(ty,"/react/vitest/vitest.e2e.js"))};function tK(e,t,n){return tW.apply(this,arguments)}function tW(){tW=s(function(e,t,n){return T(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case e_.CLI:return[3,1];case e_.STRING:return[3,3]}return[3,4];case 1:return[4,eQ(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),e7(e8("".concat(tk," ").concat(n))))];case 3:return[2,e7(e8(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return tW.apply(this,arguments)}N(tK,"buildCommand");function tJ(e,t,n){return /*#__PURE__*/s(function(){return T(this,function(r){return[2,tK(e,t,n)]})})}N(tJ,"commandFactory");var t$={simpleGitHooks:tJ(e_.CLI,tF,tj),eslintInspect:tJ(e_.CLI,tx,tY),nodeModulesInspect:tJ(e_.CLI,tq,tB),eslintCheck:tJ(e_.CLI,t_,"".concat(tI," ").concat(tV.WORKING_DIRECTORY)),eslintFix:tJ(e_.CLI,t_,"".concat(tI," ").concat(tV.WORKING_DIRECTORY," --fix")),typescriptCheck:tJ(e_.CLI,tM,"".concat(tw," -p ").concat(tV.TS_CONFIG," --noEmit")),configureGitHook:tJ(e_.STRING,"".concat(tL," config core.hooksPath ").concat(tV.GIT_HOOK)),testUnit:tJ(e_.CLI,tC,"".concat(tA," --config ").concat(tV.UNIT_TEST_CONFIG)),testE2e:tJ(e_.CLI,"".concat(tC," ").concat(tT),"".concat(tA," --config ").concat(tV.E2E_TEST_CONFIG)),mongoMigrateCreate:N(function(e){return tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," create ").concat(e," -f ").concat(tV.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," up -f ").concat(tV.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," down -f ").concat(tV.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," status -f ").concat(tV.MIGRATE_MONGO_CONFIG)),commitLint:tJ(e_.CLI,tD,"".concat(tN," --edit ").concat(tV.GIT_COMMIT_MSG," --config ").concat(tV.COMMITLINT_CONFIG)),lintStaged:tJ(e_.CLI,tb,"".concat(tG," --config ").concat(tV.LINT_STAGED_CONFIG)),stageBuildDirectory:tJ(e_.STRING,"".concat(tL," add ").concat(tl)),build:tJ(e_.STRING,"".concat(tU," run build")),pnpmInstallStandard:tJ(e_.STRING,"".concat(tU," install")),pnpmInstallLegacy:tJ(e_.STRING,"".concat(tU," install --legacy-peer-deps")),pnpmInstallForce:tJ(e_.STRING,"".concat(tU," install --force"))};var tX={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return Q(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:J(),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:J,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,o=e.standalone,a=o===void 0?!1:o;var c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),a||c.add(tX.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,o=s===void 0?!1:s,a=e.aggregate,c=a===void 0?!1:a,i=e.virtuals,u=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 E=tX.createSchema({mongoose:t,schema:r,virtuals:u});return tX.applyPlugins(E,[o&&W,c&&K]),tX.applyMiddlewares(E,f),t.model(n,E)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return g(h({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=s(function(e){return T(this,function(t){return[2,!en.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=s(function(t){var n;return T(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return u({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=s(function(t){return T(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!E(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:g(h({},H),{setConfig:N(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eo(tV.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tO,"\n");ed(tV.GIT_IGNORE)?es(tV.GIT_IGNORE,"utf-8").split("\n").includes(tO)||ec(tV.GIT_IGNORE,n,"utf-8"):eo(tV.GIT_IGNORE,n,"utf-8")},"setConfig")})},tz=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);b(this,"collection");this.collection=t.collection(n)}i(e,[{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=h({},tX.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=o.sent(),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=e.map(function(e){return h({},tX.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=o.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=o.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=o.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();N(tz,"MongoController");var tZ=tz,t0=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);b(this,"model");this.model=t}i(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var o=this;return s(function(){var s,a,c;return T(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);s=o.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 1:a=i.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(o.getModelName()," found."),code:$.NOT_FOUND.CODE}];case 2:c=i.sent();return[2,{success:!1,message:c.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var o=this;return s(function(){var s,a,c;return T(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);s=o.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 1:return[2,(a.result=i.sent(),a)];case 2:c=i.sent();return[2,{success:!1,message:c.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=o.sent(),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=o.sent(),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=o.sent().map(function(e){return E(e,V)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,o;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 1:s=a.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:$.NOT_FOUND.CODE}];case 2:o=a.sent();return[2,{success:!1,message:o.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,o;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=a.sent(),s)];case 2:o=a.sent();return[2,{success:!1,message:o.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:$.NOT_FOUND.CODE}];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=o.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:$.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return s(function(){var r,s,o,a;return T(this,function(c){switch(c.label){case 0:r=new Set;s=0;c.label=1;case 1:if(!(s<10))return[3,5];o=et(e,s+t);a=!r.has(o);if(!a)return[3,3];r.add(o);return[4,n.model.exists({shortId:o})];case 2:a=!c.sent();c.label=3;case 3:if(a)return[2,{success:!0,result:o}];c.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:$.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var o,a,c,i,u,l,f,E,d,p,h;return T(this,function(m){switch(m.label){case 0:m.trys.push([0,8,,9]);o=t[e],a=N(/*#__PURE__*/function(){var e=s(function(e){var s,o,a;return T(this,function(c){switch(c.label){case 0:return[4,r.model.findOne(tX.createSlugQuery(e,n,t.id))];case 1:s=c.sent();if(!s)return[2,e];o=1;c.label=2;case 2:a="".concat(e,"-").concat(o);return[4,r.model.findOne(tX.createSlugQuery(a,n,t.id))];case 3:s=c.sent(),o++;c.label=4;case 4:if(s)return[3,2];c.label=5;case 5:return[2,a]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof o==="undefined"?"undefined":_(o))=="object"))return[3,5];c={};i=[];for(u in o)i.push(u);l=0;m.label=1;case 1:if(!(l<i.length))return[3,4];f=i[l];E=ee(o[f]);return[4,a(E)];case 2:c[f]=m.sent();m.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:c}];case 5:d=ee(o);p={success:!0};return[4,a(d)];case 6:return[2,(p.result=m.sent(),p)];case 7:return[3,9];case 8:h=m.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:$.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();N(t0,"MongooseController");var t2=t0;export{B as C_Collection,k as C_Db,j as C_Document,Y as C_Model,G as MONGO_MIGRATE_OPTIONS,tZ as MongoController,t2 as MongooseController,K as aggregatePaginate,tX as mongo,W 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(t){if(Array.isArray(t))return e(t)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function r(e,t,n,r,s,o,a){try{var c=e[o](a);var i=c.value}catch(e){n(e);return}if(c.done){t(i)}else{Promise.resolve(i).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,o){var a=e.apply(t,n);function c(e){r(a,s,o,c,i,"next",e)}function i(e){r(a,s,o,c,i,"throw",e)}c(undefined)})}}function o(e,t,n){t=l(t);return y(e,C()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}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 u(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function l(e){l=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return l(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function E(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function d(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function p(){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 h(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){u(e,t,n[t])})}return e}function 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 g(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 v(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(s=0;s<o.length;s++){r=o[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,o;for(o=0;o<r.length;o++){s=r[o];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function y(e,t){if(t&&(_(t)==="object"||typeof t==="function")){return t}return n(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function R(e){return t(e)||d(e)||I(e)||p()}function _(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function I(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 C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(C=function(){return!!e})()}function T(e,t){var n,r,s,o={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=c(0),a["throw"]=c(1),a["return"]=c(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return i([e,t])}}function i(c){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(o=0)),o)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;r=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(s=o.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){o.label=c[1];break}if(c[0]===6&&o.label<s[1]){o.label=s[1];s=c;break}if(s&&o.label<s[2]){o.label=s[2];o.ops.push(c);break}if(s[2])o.ops.pop();o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var D=Object.defineProperty;var A=function(e,t,n){return t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var N=function(e,t){return D(e,"name",{value:t,configurable:!0})};var b=function(e,t,n){return A(e,(typeof t==="undefined"?"undefined":_(t))!="symbol"?t+"":t,n)};var G="MONGO_MIGRATE_OPTIONS";import{Collection as M,Db as w}from"mongodb";import{Document as P,Model as L}from"mongoose";var U=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(w);N(U,"C_Db");var k=U,F=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(P);N(F,"C_Document");var j=F,x=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(L);N(x,"C_Model");var Y=x,q=/*#__PURE__*/function(e){"use strict";f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(M);N(q,"C_Collection");var B=q;import{format as Q}from"date-fns";import H from"migrate-mongo";import{Document as V}from"mongoose";import K from"mongoose-aggregate-paginate-v2";import W from"mongoose-paginate-v2";import{v4 as J}from"uuid";var $={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 X from"crypto-js";import z from"slugify";var Z=z.default||z;function ee(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,o=n.locale,a=o===void 0?"vi":o,c=v(n,["lower","locale"]);return Z(e,h({lower:s,locale:a},c))}N(ee,"generateSlug");function et(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return X.SHA256(e).toString(X.enc.Hex).slice(0,t)}N(et,"generateShortId");var en={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":_(e))=="object"?E(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};import er from"fs-extra";var es=er.readFileSync,eo=er.writeFileSync,ea=er.pathExistsSync,ec=er.appendFileSync,ei=er.copySync,eu=er.removeSync,el=er.statSync,ef=er.readJsonSync,eE=er.writeJsonSync;function ed(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ea(e)})}N(ed,"existsSync");var ep=".cyberskill-storage";import eh from"dotenv";import{bool as em,cleanEnv as eg,str as ev}from"envalid";import eO from"node:os";import ey from"node:path";import eS from"node:process";eh.config();function eR(){var e={DEBUG:eS.env.DEBUG||!1,CWD:eS.env.CWD||eS.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eS.env.CYBERSKILL_STORAGE_DIRECTORY||ey.join(eO.homedir(),ep)};return eg(e,{DEBUG:em(),CWD:ev(),CYBERSKILL_STORAGE_DIRECTORY:ev()})}N(eR,"getEnv");var e_=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as eI}from"node:child_process";import eC from"node:process";import*as eT from"node:util";var eD=function(e){return e.Error="error",e.Warning="warning",e}({});import eA from"chalk";import eN from"consola";import{GraphQLError as eb}from"graphql";var eG=eR();eG.DEBUG||(eN.level=4);function eM(e){var t=eA[e];return typeof t=="function"?t:eA.green}N(eM,"chalkKeyword");var ew={silent:eN.silent,level:eN.level,fatal:eN.fatal,error:eN.error,warn:eN.warn,log:eN.log,info:eN.info,success:eN.success,ready:eN.ready,start:eN.start,box:eN.box,debug:eN.debug,trace:eN.trace,verbose:eN.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)){eN.box(eA.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,o=e.message;eN.log("".concat(eA.gray("File:")," ").concat(eA.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eN.log(" ".concat(eM(n)("Rule:")," ").concat(s)),eN.log(" ".concat(eM(n)("Message:")," ").concat(o))}),eN.box(eM(n)("".concat(e," : ").concat(t.length))),eN.log(eA.gray("─".repeat(40)))}};var eP={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import eL from"node-fetch";var eU=eR();function ek(e){var t=to(eU.CWD,tf);if(!ed(t))return!1;try{var n=ef(t),r=n.name,s=n.dependencies,o=s===void 0?{}:s,a=n.devDependencies,c=a===void 0?{}:a,i=r===e,u=e in o,l=e in c;return i||u||l?{path:t,file:n,isCurrentProject:i,isDepend:u,isDevDepend:l}:!1}catch(e){return ew.warn("Failed to read package.json: ".concat(e.message)),!1}}N(ek,"getPackage");function eF(e){return ej.apply(this,arguments)}function ej(){ej=s(function(e){var t,n,r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,eL("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.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=o.sent(),r=n.version;return[2,r];case 3:s=o.sent();throw ew.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return ej.apply(this,arguments)}N(eF,"getLatestPackageVersion");function ex(e,t){return eY.apply(this,arguments)}function eY(){eY=s(function(e,t){var n,r,s,o,a,c,i,u,l,f,E,d,p,m,g,v,O,y,S,R,_;return T(this,function(I){switch(I.label){case 0:I.trys.push([0,4,,5]);n=ek(e);if(!n)return[2,h({},eP)];i=n.path,u=n.file,l=n.isCurrentProject,f=n.isDepend,E=n.isDevDepend,d=(r=u.dependencies)!==null&&r!==void 0?r:{},p=(s=u.devDependencies)!==null&&s!==void 0?s:{},m=l?(o=u.version)!==null&&o!==void 0?o:"0.0.0":f?(a=d[e])!==null&&a!==void 0?a:"0.0.0":E?(c=p[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];O=m;return[3,3];case 1:return[4,eF(e)];case 2:O=I.sent();I.label=3;case 3:g=O,v=l||m===g;if(!v&&(t===null||t===void 0?void 0:t.update)){;S=f?"dependencies":E?"devDependencies":null;S&&((y=u[S])===null||y===void 0?void 0:y[e])!==g&&(u[S]=(R=u[S])!==null&&R!==void 0?R:{},u[S][e]=g,eE(i,u),ew.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:i,file:u,isUpToDate:v}];case 4:_=I.sent();return[2,(ew.error('Error checking package "'.concat(e,'": ').concat(_.message)),h({},eP))];case 5:return[2]}})});return eY.apply(this,arguments)}N(ex,"checkPackage");function eq(){return eB.apply(this,arguments)}function eB(){eB=s(function(){var e,t,n,r,s,o,a,c,i,u,l,f;return T(this,function(E){switch(E.label){case 0:e=[{command:N(function(){return t$.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:N(function(){return t$.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:N(function(){return t$.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]);s=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(o=s.next()).done))return[3,8];a=o.value,c=a.command,i=a.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,c()];case 4:u=E.sent();return[4,e9("".concat(i," using: ").concat(u),u)];case 5:E.sent();return[2];case 6:l=E.sent();ew.warn("Installation attempt failed: ".concat(i)),ew.error("Details: ".concat(l.message));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&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return eB.apply(this,arguments)}N(eq,"installDependencies");function eQ(e,t){return eH.apply(this,arguments)}function eH(){eH=s(function(e,t){var n,r,s,o,a,c,i,u,l,f,E;return T(this,function(d){switch(d.label){case 0:if(!ed(tV.PACKAGE_JSON)){ew.error("package.json not found. Aborting setup.");return[2]}d.label=1;case 1:d.trys.push([1,13,,14]);n=R(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ex(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=d.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,eq()];case 3:r=d.sent();d.label=4;case 4:r;o=true,a=false,c=undefined;d.label=5;case 5:d.trys.push([5,10,11,12]);i=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();d.label=6;case 6:if(!!(o=(u=i.next()).done))return[3,9];l=u.value;return[4,l()];case 7:d.sent();d.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:f=d.sent();a=true;c=f;return[3,12];case 11:try{if(!o&&i.return!=null){i.return()}}finally{if(a){throw c}}return[7];case 12:return[3,14];case 13:E=d.sent();throw ew.error('Failed to setup "'.concat(e.join(", "),'": ').concat(E.message)),E;case 14:return[2]}})});return eH.apply(this,arguments)}N(eQ,"setupPackages");import eV from"node-persist";var eK=eR();function eW(){return eJ.apply(this,arguments)}function eJ(){eJ=s(function(){var e;return T(this,function(t){switch(t.label){case 0:e=eV.defaultInstance;if(e)return[3,2];return[4,eV.init({dir:eK.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return eJ.apply(this,arguments)}N(eW,"initNodePersist");var e$={get:function e(e){return s(function(){var t,n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eW()];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,(ew.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eW()];case 1:r.sent();return[4,eV.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ew.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eW()];case 1:n.sent();return[4,eV.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ew.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eW()];case 1:n.sent();return[4,eV.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,(ew.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return T(this,function(t){try{return[2,"".concat(eK.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ew.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eX=eR(),ez=eT.promisify(eI);function eZ(e){return"error_list:".concat(e)}N(eZ,"getErrorListKey");function e0(e){return e2.apply(this,arguments)}function e2(){e2=s(function(e){var t,n,r;return T(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eZ(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,e$.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,e$.getLogLink(n)];case 1:e=t.sent();e&&ew.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=o.sent();ew.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return e2.apply(this,arguments)}N(e0,"saveErrorListToStorage");function e1(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,i,u,l,f;var E=s.exec(e)||[],d=o.exec(e)||[],p=a.exec(e)||[];var h,m,g,v,O,y;E.length&&r?t.push({file:r,position:"".concat(E[1],":").concat(E[2]),type:E[3]===eD.Error?eD.Error:eD.Warning,message:(h=E===null||E===void 0?void 0:(c=E[4])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:"",rule:(m=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:""}):d.length?t.push({file:(g=d===null||d===void 0?void 0:d[1])!==null&&g!==void 0?g:"",position:"".concat(d[2],":").concat(d[3]),type:d[4]===eD.Error?eD.Error:eD.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:eD.Error,message:(O=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&O!==void 0?O:"",rule:(y=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&y!==void 0?y:""}):n.push(e.trim())}}),t.length&&e0(t),eX.DEBUG&&n.length&&(ew.warn("Unmatched lines:"),n.forEach(function(e){return ew.info(" ".concat(e))}))}N(e1,"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,s=e.line,o=e.column,a=e.ruleId,c=e.message;n.push({type:r===2?eD.Error:eD.Warning,file:t,position:"".concat(s,":").concat(o),rule:a,message:c})})}),n.length&&e0(n)}catch(t){e1(e)}}N(e3,"parseCommandOutput");function e4(e){return e5.apply(this,arguments)}function e5(){e5=s(function(e){var t,n,r,s,o,a,c,i,u;var l=arguments;return T(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:e3;n=new AbortController;eC.on("SIGINT",function(){ew.warn("Process interrupted. Terminating..."),n.abort(),eC.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(),s=r.stdout,o=r.stderr;[s,o].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();c=a.stdout,i=a.stderr,u=a.message;[c,i].forEach(function(e){return e&&t(e)}),!i&&!c&&ew.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return e5.apply(this,arguments)}N(e4,"executeCommand");function e8(e){return{raw:!0,cmd:e}}N(e8,"rawCommand");function e6(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tk," ").concat(ti," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tk," ").concat(tP," ").concat(tR," ").concat(e):"".concat(tk," ").concat(tS," ").concat(e)}N(e6,"formatCLI");function e7(e,t){return typeof e=="function"?e6(e(t),t):(typeof e==="undefined"?"undefined":_(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e6(e,t):e}N(e7,"formatCommand");function e9(e,t){return te.apply(this,arguments)}function te(){te=s(function(e,t){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ew.start("".concat(e)),eX.DEBUG&&ew.info("→ ".concat(t));return[4,e4(t)];case 1:r.sent(),ew.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ew.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return te.apply(this,arguments)}N(e9,"runCommand");import{join as tt,resolve as tn}from"node:path";var tr=eR();function ts(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tn.apply(void 0,[tr.CWD].concat(R(t)))}N(ts,"resolveWorkingPath");function to(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tt.apply(void 0,R(t))}N(to,"join");var ta=eR(),tc=ta.CWD,ti="@cyberskill/shared",tu="node_modules",tl="dist",tf="package.json",tE="package-lock.json",td="tsconfig.json",tp=".gitignore",th=".simple-git-hooks.json",tm="pnpm-lock.yaml",tg=".git/hooks/",tv=".git/COMMIT_EDITMSG",tO=".migrate-mongo.config.js",ty=to(tc,tu,ti,tl),tS="cyberskill",tR="src/nodejs/cli/index.ts",t_="eslint",tI="eslint",tC="vitest",tT="playwright",tD="vitest",tA="@commitlint/cli",tN="commitlint",tb="lint-staged",tG="lint-staged",tM="typescript",tw="tsc",tP="tsx",tL="git",tU="pnpm",tk="pnpm exec",tF="simple-git-hooks",tj="simple-git-hooks",tx="@eslint/config-inspector",tY="eslint-config-inspector",tq="node-modules-inspector",tB="node-modules-inspector",tQ="migrate-mongo",tH="./node_modules/migrate-mongo/bin/migrate-mongo",tV={CYBERSKILL_DIRECTORY:ty,WORKING_DIRECTORY:tc,TS_CONFIG:ts(td),GIT_IGNORE:ts(tp),GIT_HOOK:ts(tg),GIT_COMMIT_MSG:ts(tv),SIMPLE_GIT_HOOKS_JSON:ts(th),PACKAGE_JSON:ts(tf),PACKAGE_LOCK_JSON:ts(tE),PNPM_LOCK_YAML:ts(tm),NODE_MODULES:ts(tu),MIGRATE_MONGO_CONFIG:ts(tO),LINT_STAGED_CONFIG:ts("".concat(ty,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ts("".concat(ty,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ts("".concat(ty,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ts("".concat(ty,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ts("".concat(ty,"/react/vitest/vitest.e2e.js"))};function tK(e,t,n){return tW.apply(this,arguments)}function tW(){tW=s(function(e,t,n){return T(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case e_.CLI:return[3,1];case e_.STRING:return[3,3]}return[3,4];case 1:return[4,eQ(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),e7(e8("".concat(tk," ").concat(n))))];case 3:return[2,e7(e8(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return tW.apply(this,arguments)}N(tK,"buildCommand");function tJ(e,t,n){return /*#__PURE__*/s(function(){return T(this,function(r){return[2,tK(e,t,n)]})})}N(tJ,"commandFactory");var t$={simpleGitHooks:tJ(e_.CLI,tF,tj),eslintInspect:tJ(e_.CLI,tx,tY),nodeModulesInspect:tJ(e_.CLI,tq,tB),eslintCheck:tJ(e_.CLI,t_,"".concat(tI," ").concat(tV.WORKING_DIRECTORY)),eslintFix:tJ(e_.CLI,t_,"".concat(tI," ").concat(tV.WORKING_DIRECTORY," --fix")),typescriptCheck:tJ(e_.CLI,tM,"".concat(tw," -p ").concat(tV.TS_CONFIG," --noEmit")),configureGitHook:tJ(e_.STRING,"".concat(tL," config core.hooksPath ").concat(tV.GIT_HOOK)),testUnit:tJ(e_.CLI,tC,"".concat(tD," --config ").concat(tV.UNIT_TEST_CONFIG)),testE2e:tJ(e_.CLI,"".concat(tC," ").concat(tT),"".concat(tD," --config ").concat(tV.E2E_TEST_CONFIG)),mongoMigrateCreate:N(function(e){return tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," create ").concat(e," -f ").concat(tV.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," up -f ").concat(tV.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tJ(e_.CLI,tQ,"".concat(tP," ").concat(tH," down -f ").concat(tV.MIGRATE_MONGO_CONFIG)),commitLint:tJ(e_.CLI,tA,"".concat(tN," --edit ").concat(tV.GIT_COMMIT_MSG," --config ").concat(tV.COMMITLINT_CONFIG)),lintStaged:tJ(e_.CLI,tb,"".concat(tG," --config ").concat(tV.LINT_STAGED_CONFIG)),stageBuildDirectory:tJ(e_.STRING,"".concat(tL," add ").concat(tl)),build:tJ(e_.STRING,"".concat(tU," run build")),pnpmInstallStandard:tJ(e_.STRING,"".concat(tU," install")),pnpmInstallLegacy:tJ(e_.STRING,"".concat(tU," install --legacy-peer-deps")),pnpmInstallForce:tJ(e_.STRING,"".concat(tU," install --force"))};var tX={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return Q(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:J(),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:J,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,o=e.standalone,a=o===void 0?!1:o;var c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),a||c.add(tX.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,o=s===void 0?!1:s,a=e.aggregate,c=a===void 0?!1:a,i=e.virtuals,u=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 E=tX.createSchema({mongoose:t,schema:r,virtuals:u});return tX.applyPlugins(E,[o&&W,c&&K]),tX.applyMiddlewares(E,f),t.model(n,E)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return g(h({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=s(function(e){return T(this,function(t){return[2,!en.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=s(function(t){var n;return T(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return u({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=s(function(t){return T(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!E(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:g(h({},H),{setConfig:N(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eo(tV.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tO,"\n");ed(tV.GIT_IGNORE)?es(tV.GIT_IGNORE,"utf-8").split("\n").includes(tO)||ec(tV.GIT_IGNORE,n,"utf-8"):eo(tV.GIT_IGNORE,n,"utf-8")},"setConfig")})},tz=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);b(this,"collection");this.collection=t.collection(n)}i(e,[{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=h({},tX.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=o.sent(),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=e.map(function(e){return h({},tX.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=o.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=o.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=o.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();N(tz,"MongoController");var tZ=tz,t0=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);b(this,"model");this.model=t}i(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var o=this;return s(function(){var s,a,c;return T(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);s=o.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 1:a=i.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(o.getModelName()," found."),code:$.NOT_FOUND.CODE}];case 2:c=i.sent();return[2,{success:!1,message:c.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var o=this;return s(function(){var s,a,c;return T(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);s=o.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 1:return[2,(a.result=i.sent(),a)];case 2:c=i.sent();return[2,{success:!1,message:c.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=o.sent(),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=o.sent(),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=o.sent().map(function(e){return E(e,V)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,o;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 1:s=a.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:$.NOT_FOUND.CODE}];case 2:o=a.sent();return[2,{success:!1,message:o.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,o;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=a.sent(),s)];case 2:o=a.sent();return[2,{success:!1,message:o.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:$.NOT_FOUND.CODE}];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=o.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:$.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=o.sent();return[2,{success:!1,message:s.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return s(function(){var r,s,o,a;return T(this,function(c){switch(c.label){case 0:r=new Set;s=0;c.label=1;case 1:if(!(s<10))return[3,5];o=et(e,s+t);a=!r.has(o);if(!a)return[3,3];r.add(o);return[4,n.model.exists({shortId:o})];case 2:a=!c.sent();c.label=3;case 3:if(a)return[2,{success:!0,result:o}];c.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:$.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var o,a,c,i,u,l,f,E,d,p,h;return T(this,function(m){switch(m.label){case 0:m.trys.push([0,8,,9]);o=t[e],a=N(/*#__PURE__*/function(){var e=s(function(e){var s,o,a;return T(this,function(c){switch(c.label){case 0:return[4,r.model.findOne(tX.createSlugQuery(e,n,t.id))];case 1:s=c.sent();if(!s)return[2,e];o=1;c.label=2;case 2:a="".concat(e,"-").concat(o);return[4,r.model.findOne(tX.createSlugQuery(a,n,t.id))];case 3:s=c.sent(),o++;c.label=4;case 4:if(s)return[3,2];c.label=5;case 5:return[2,a]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof o==="undefined"?"undefined":_(o))=="object"))return[3,5];c={};i=[];for(u in o)i.push(u);l=0;m.label=1;case 1:if(!(l<i.length))return[3,4];f=i[l];E=ee(o[f]);return[4,a(E)];case 2:c[f]=m.sent();m.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:c}];case 5:d=ee(o);p={success:!0};return[4,a(d)];case 6:return[2,(p.result=m.sent(),p)];case 7:return[3,9];case 8:h=m.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:$.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:$.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();N(t0,"MongooseController");var t2=t0;export{B as C_Collection,k as C_Db,j as C_Document,Y as C_Model,G as MONGO_MIGRATE_OPTIONS,tZ as MongoController,t2 as MongooseController,K as aggregatePaginate,tX as mongo,W as mongoosePaginate};