@cyberskill/shared 1.116.0 → 1.117.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.
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(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 a(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function c(e){s(o,r,a,c,u,"next",e)}function u(e){s(o,r,a,c,u,"throw",e)}c(undefined)})}}function o(e,t,n){t=f(t);return y(e,b()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function c(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function i(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function l(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 f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(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 _(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function h(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var a=false;var o,c;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){a=true;c=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(a)throw c}}return r}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(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 O(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{m(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function y(e,t){if(t&&(I(t)==="object"||typeof t==="function")){return t}return r(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function R(e,n){return t(e)||h(e,n)||T(e,n)||g()}function C(e){return n(e)||_(e)||T(e)||v()}function I(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function T(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 b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function A(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 N=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var U=function(e,t,n){return t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var L=function(e,t){return N(e,"name",{value:t,configurable:!0})};var k=function(e,t){for(var n in t)N(e,n,{get:t[n],enumerable:!0})},F=function(e,t,n,r){var s=true,a=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":I(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!w.call(e,s)&&s!==n&&N(e,s,{get:function(){return t[s]},enumerable:!(r=M(t,s))||r.enumerable})};for(var u=P(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 j=function(e,t,n){return n=e!=null?D(G(e)):{},F(t||!e||!e.__esModule?N(n,"default",{value:e,enumerable:!0}):n,e)},q=function(e){return F(N({},"__esModule",{value:!0}),e)};var x=function(e,t,n){return U(e,(typeof t==="undefined"?"undefined":I(t))!="symbol"?t+"":t,n)};var Y={};k(Y,{C_Collection:function(){return Z},C_Db:function(){return K},C_Document:function(){return $},C_Model:function(){return X},MONGO_MIGRATE_OPTIONS:function(){return B},MongoController:function(){return t5},MongooseController:function(){return t7},aggregatePaginate:function(){return er.default},mongo:function(){return t4},mongoosePaginate:function(){return es.default}});module.exports=q(Y);var B="MONGO_MIGRATE_OPTIONS";var H=require("mongodb"),V=require("mongoose");var Q=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(H.Db);L(Q,"C_Db");var K=Q,W=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(V.Document);L(W,"C_Document");var $=W,J=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(V.Model);L(J,"C_Model");var X=J,z=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(H.Collection);L(z,"C_Collection");var Z=z;var ee=require("date-fns"),et=j(require("migrate-mongo"),1),en=require("mongoose"),er=j(require("mongoose-aggregate-paginate-v2"),1),es=j(require("mongoose-paginate-v2"),1),ea=require("uuid");var eo={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 ec=j(require("unorm"),1);var eu={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},ei=Object.entries(eu).reduce(function(e,t){var n=R(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function el(e){return(typeof e==="undefined"?"undefined":I(e))=="object"&&e!==null&&!Array.isArray(e)}L(el,"isObject");var ef=require("buffer");var ed=j(require("crypto-js"),1),eE=j(require("slugify"),1);var e_=eE.default.default||eE.default;function eh(e,t){var n=L(function(e){var n,r;return e_(e!==null&&e!==void 0?e:"",p({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(el(e)){var r={};var s=true,a=false,o=undefined;try{for(var c=Object.entries(e)[Symbol.iterator](),u;!(s=(u=c.next()).done);s=true){var i=R(u.value,2),l=i[0],f=i[1];r[l]=n(f)}}catch(e){a=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(a){throw o}}}return r}return n(e)}L(eh,"generateSlug");function eg(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return ed.default.SHA256(e).toString(ed.default.enc.Hex).slice(0,t)}L(eg,"generateShortId");var ev={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":I(e))=="object"?E(e,Date)?!1:E(e,Map)||E(e,Set)?e.size===0:E(e,WeakMap)||E(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var ep=j(require("fs-extra"),1),em=require("path");var eO=ep.default,ey=eO.lstatSync,eS=eO.readdirSync,eR=eO.mkdirSync,eC=eO.readFileSync,eI=eO.writeFileSync,eT=eO.appendFileSync,eb=eO.unlinkSync,eA=eO.statSync,eD=ep.default.readJsonSync,eN=ep.default.writeJsonSync;function eM(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ep.default.pathExistsSync(e)})}L(eM,"pathExistsSync");var eP=".cyberskill-storage";var eG=j(require("@dotenvx/dotenvx"),1),ew=require("envalid"),eU=j(require("os"),1),eL=j(require("path"),1),ek=j(require("process"),1);eG.default.config();function eF(){var e={DEBUG:ek.default.env.DEBUG||!1,CWD:ek.default.env.CWD||ek.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:ek.default.env.CYBERSKILL_STORAGE_DIRECTORY||eL.default.join(eU.default.homedir(),eP)};return(0,ew.cleanEnv)(e,{DEBUG:(0,ew.bool)(),CWD:(0,ew.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,ew.str)()})}L(eF,"getEnv");var ej=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var eq=require("child_process"),ex=j(require("process"),1),eY=j(require("util"),1);var eB=function(e){return e.Error="error",e.Warning="warning",e}({});var eH=j(require("chalk"),1),eV=j(require("consola"),1),eQ=require("graphql");var eK=eF();eK.DEBUG||(eV.default.level=4);function eW(e){var t=eH.default[e];return typeof t=="function"?t:eH.default.green}L(eW,"chalkKeyword");var e$={silent:eV.default.silent,level:eV.default.level,fatal:eV.default.fatal,error:eV.default.error,warn:eV.default.warn,log:eV.default.log,info:eV.default.info,success:eV.default.success,ready:eV.default.ready,start:eV.default.start,box:eV.default.box,debug:eV.default.debug,trace:eV.default.trace,verbose:eV.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)){eV.default.box(eH.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;eV.default.log("".concat(eH.default.gray("File:")," ").concat(eH.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eV.default.log(" ".concat(eW(n)("Rule:")," ").concat(s)),eV.default.log(" ".concat(eW(n)("Message:")," ").concat(a))}),eV.default.box(eW(n)("".concat(e," : ").concat(t.length))),eV.default.log(eH.default.gray("─".repeat(40)))}};var eJ={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eX=j(require("node-fetch"),1);var ez=eF();function eZ(e){var t=td(ez.CWD,tp);if(!eM(t))return!1;try{var n=eD(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 e$.warn("Failed to read package.json: ".concat(e.message)),!1}}L(eZ,"getPackage");function e0(e){return /*#__PURE__*/a(function(){var t,n,r,s;return A(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eX.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 e$.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}L(e0,"getLatestPackageVersion");function e1(e,t){return /*#__PURE__*/a(function(){var n,r,s,a,o,c,u,i,l,f,d,E,_,h,g,v,m,O,y,S,R;return A(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=eZ(e);if(!n)return[2,p({},eJ)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},_=(s=i.devDependencies)!==null&&s!==void 0?s:{},h=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=_[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];m=h;return[3,3];case 1:return[4,e0(e)];case 2:m=C.sent();C.label=3;case 3:g=m,v=l||h===g;if(!v&&(t===null||t===void 0?void 0:t.update)){;y=f?"dependencies":d?"devDependencies":null;y&&((O=i[y])===null||O===void 0?void 0:O[e])!==g&&(i[y]=(S=i[y])!==null&&S!==void 0?S:{},i[y][e]=g,eN(u,i),e$.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:v}];case 4:R=C.sent();return[2,(e$.error('Error checking package "'.concat(e,'": ').concat(R.message)),p({},eJ))];case 5:return[2]}})})()}L(e1,"checkPackage");function e2(){return /*#__PURE__*/a(function(){var e,t,n,r,s,a,o,c,u,i,l,f;return A(this,function(d){switch(d.label){case 0:e=[{command:L(function(){return t2.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:L(function(){return t2.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:L(function(){return t2.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,tu("".concat(u," using: ").concat(i),i)];case 5:d.sent();return[2];case 6:l=d.sent();e$.warn("Installation attempt failed: ".concat(u)),e$.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.")}})})()}L(e2,"installDependencies");function e4(e,t){return /*#__PURE__*/a(function(){var n,r,s,a,o,c,u,i,l,f,d;return A(this,function(E){switch(E.label){case 0:if(!eM(tZ.PACKAGE_JSON)){e$.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=C(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e1(e,p({},(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,e2()];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 e$.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})})()}L(e4,"setupPackages");var e3=j(require("node-persist"),1);var e5=eF();function e6(){return /*#__PURE__*/a(function(){var e;return A(this,function(t){switch(t.label){case 0:e=e3.default.defaultInstance;if(e)return[3,2];return[4,e3.default.init({dir:e5.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]}})})()}L(e6,"initNodePersist");var e7={get:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e6()];case 1:r.sent();return[4,e3.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(e$.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/a(function(){var n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e6()];case 1:r.sent();return[4,e3.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();e$.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/a(function(){var t;return A(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e6()];case 1:n.sent();return[4,e3.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();e$.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/a(function(){var e,t;return A(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e6()];case 1:n.sent();return[4,e3.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(e$.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(e$.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/a(function(){return A(this,function(t){try{return[2,"".concat(e5.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(e$.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e8=eF(),e9=eY.promisify(eq.exec);function te(e){return"error_list:".concat(e)}L(te,"getErrorListKey");function tt(e){return /*#__PURE__*/a(function(){var t,n,r;return A(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=te(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,e7.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/a(function(){var e;return A(this,function(t){switch(t.label){case 0:return[4,e7.getLogLink(n)];case 1:e=t.sent();e&&e$.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();e$.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}L(tt,"saveErrorListToStorage");function tn(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)||[],_=o.exec(e)||[];var h,g,v,p,m,O;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eB.Error?eB.Error:eB.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:(g=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&g!==void 0?g:""}):E.length?t.push({file:(v=E===null||E===void 0?void 0:E[1])!==null&&v!==void 0?v:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eB.Error?eB.Error:eB.Warning,message:(p=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&p!==void 0?p:""}):_.length?t.push({file:"commitlint",type:eB.Error,message:(m=_===null||_===void 0?void 0:(l=_[1])===null||l===void 0?void 0:l.trim())!==null&&m!==void 0?m:"",rule:(O=_===null||_===void 0?void 0:(f=_[2])===null||f===void 0?void 0:f.trim())!==null&&O!==void 0?O:""}):n.push(e.trim())}}),t.length&&tt(t),e8.DEBUG&&n.length&&(e$.warn("Unmatched lines:"),n.forEach(function(e){return e$.info(" ".concat(e))}))}L(tn,"parseTextErrors");function tr(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?eB.Error:eB.Warning,file:t,position:"".concat(s,":").concat(a),rule:o,message:c})})}),n.length&&tt(n)}catch(t){tn(e)}}L(tr,"parseCommandOutput");function ts(e){return /*#__PURE__*/a(function(e){var t,n,r,s,a,o,c,u,i;var l=arguments;return A(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tr;n=new AbortController;ex.default.on("SIGINT",function(){e$.warn("Process interrupted. Terminating..."),n.abort(),ex.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,e9(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&&e$.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})}).apply(this,arguments)}L(ts,"executeCommand");function ta(e){return{raw:!0,cmd:e}}L(ta,"rawCommand");function to(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tH," ").concat(th," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tH," ").concat(tx," ").concat(tD," ").concat(e):"".concat(tH," ").concat(tA," ").concat(e)}L(to,"formatCLI");function tc(e,t){return typeof e=="function"?to(e(t),t):(typeof e==="undefined"?"undefined":I(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?to(e,t):e}L(tc,"formatCommand");function tu(e,t){return /*#__PURE__*/a(function(){var n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);e$.start("".concat(e)),e8.DEBUG&&e$.info("→ ".concat(t));return[4,ts(t)];case 1:r.sent(),e$.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw e$.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}L(tu,"runCommand");var ti=j(require("path"),1);var tl=eF();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(C(t)))}L(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,C(t))}L(td,"join");var tE=eF(),t_=tE.CWD,th="@cyberskill/shared",tg="node_modules",tv="dist",tp="package.json",tm="package-lock.json",tO="tsconfig.json",ty=".gitignore",tS=".simple-git-hooks.json",tR="pnpm-lock.yaml",tC=".git/hooks/",tI=".git/COMMIT_EDITMSG",tT=".migrate-mongo.config.js",tb=td(t_,tg,th,tv),tA="cyberskill",tD="src/nodejs/cli/index.ts",tN="eslint",tM="eslint",tP="vitest",tG="playwright",tw="vitest",tU="@commitlint/cli",tL="commitlint",tk="lint-staged",tF="lint-staged",tj="typescript",tq="tsc",tx="tsx",tY="git",tB="pnpm",tH="pnpm exec",tV="simple-git-hooks",tQ="simple-git-hooks",tK="@eslint/config-inspector",tW="eslint-config-inspector",t$="node-modules-inspector",tJ="node-modules-inspector",tX="migrate-mongo",tz="./node_modules/migrate-mongo/bin/migrate-mongo",tZ={CYBERSKILL_DIRECTORY:tb,WORKING_DIRECTORY:t_,TS_CONFIG:tf(tO),GIT_IGNORE:tf(ty),GIT_HOOK:tf(tC),GIT_COMMIT_MSG:tf(tI),SIMPLE_GIT_HOOKS_JSON:tf(tS),PACKAGE_JSON:tf(tp),PACKAGE_LOCK_JSON:tf(tm),PNPM_LOCK_YAML:tf(tR),NODE_MODULES:tf(tg),MIGRATE_MONGO_CONFIG:tf(tT),LINT_STAGED_CONFIG:tf("".concat(tb,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:tf("".concat(tb,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:tf("".concat(tb,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:tf("".concat(tb,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:tf("".concat(tb,"/react/vitest/vitest.e2e.js"))};function t0(e,t,n){return /*#__PURE__*/a(function(){return A(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case ej.CLI:return[3,1];case ej.STRING:return[3,3]}return[3,4];case 1:return[4,e4(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tc(ta("".concat(tH," ").concat(n))))];case 3:return[2,tc(ta(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}L(t0,"buildCommand");function t1(e,t,n){return function(){return /*#__PURE__*/a(function(){return A(this,function(r){return[2,t0(e,t,n)]})})()}}L(t1,"commandFactory");var t2={simpleGitHooks:t1(ej.CLI,tV,tQ),eslintInspect:t1(ej.CLI,tK,tW),nodeModulesInspect:t1(ej.CLI,t$,tJ),eslintCheck:t1(ej.CLI,tN,"".concat(tM," ").concat(tZ.WORKING_DIRECTORY)),eslintFix:t1(ej.CLI,tN,"".concat(tM," ").concat(tZ.WORKING_DIRECTORY," --fix")),typescriptCheck:t1(ej.CLI,tj,"".concat(tq," -p ").concat(tZ.TS_CONFIG," --noEmit")),configureGitHook:t1(ej.STRING,"".concat(tY," config core.hooksPath ").concat(tZ.GIT_HOOK)),testUnit:t1(ej.CLI,tP,"".concat(tw," --config ").concat(tZ.UNIT_TEST_CONFIG)),testE2e:t1(ej.CLI,"".concat(tP," ").concat(tG),"".concat(tw," --config ").concat(tZ.E2E_TEST_CONFIG)),mongoMigrateCreate:L(function(e){return t1(ej.CLI,tX,"".concat(tx," ").concat(tz," create ").concat(e," -f ").concat(tZ.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:t1(ej.CLI,tX,"".concat(tx," ").concat(tz," up -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:t1(ej.CLI,tX,"".concat(tx," ").concat(tz," down -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),commitLint:t1(ej.CLI,tU,"".concat(tL," --edit ").concat(tZ.GIT_COMMIT_MSG," --config ").concat(tZ.COMMITLINT_CONFIG)),lintStaged:t1(ej.CLI,tk,"".concat(tF," --config ").concat(tZ.LINT_STAGED_CONFIG)),stageBuildDirectory:t1(ej.STRING,"".concat(tY," add ").concat(tv)),build:t1(ej.STRING,"".concat(tB," run build")),pnpmInstallStandard:t1(ej.STRING,"".concat(tB," install")),pnpmInstallLegacy:t1(ej.STRING,"".concat(tB," install --legacy-peer-deps")),pnpmInstallForce:t1(ej.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,ee.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,ea.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:ea.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&&es.default,c&&er.default]),t4.applyMiddlewares(d,f),t.model(n,d)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/a(function(){return A(this,function(t){return[2,!ev.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/a(function(){var n;return A(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 l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return /*#__PURE__*/a(function(){return A(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)})]})})()}}},migrate:O(p({},et.default),{setConfig:L(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eI(tZ.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tT,"\n");eM(tZ.GIT_IGNORE)?eC(tZ.GIT_IGNORE,"utf-8").split("\n").includes(tT)||eT(tZ.GIT_IGNORE,n,"utf-8"):eI(tZ.GIT_IGNORE,n,"utf-8")},"setConfig")})},t3=/*#__PURE__*/function(){function e(t,n){c(this,e);x(this,"collection");this.collection=t.collection(n)}i(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=p({},t4.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];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]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/a(function(){var t,n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return p({},t4.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return /*#__PURE__*/a(function(){var e,t,n;var r=arguments;return A(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/a(function(){var e,t,n;var r=arguments;return A(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return /*#__PURE__*/a(function(){var n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return /*#__PURE__*/a(function(){var n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();L(t3,"MongoController");var t5=t3,t6=/*#__PURE__*/function(){function e(t){c(this,e);x(this,"model");this.model=t}i(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return /*#__PURE__*/a(function(){var e,t,n,r,s,a,o;var c=arguments;return A(this,function(u){switch(u.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:a=u.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:eo.NOT_FOUND.CODE}];case 3:o=u.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return /*#__PURE__*/a(function(){var e,t,n,r,s,a,o;var c=arguments;return A(this,function(u){switch(u.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 2:return[2,(a.result=u.sent(),a)];case 3:o=u.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return /*#__PURE__*/a(function(e){var t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/a(function(){var e,t,n;var r=arguments;return A(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/a(function(e){var t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=a.sent().map(function(e){return E(e,en.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r,s;var a=arguments;return A(this,function(o){switch(o.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,p({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:eo.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r,s;var a=arguments;return A(this,function(o){switch(o.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:eo.NOT_FOUND.CODE}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=a.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:eo.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return /*#__PURE__*/a(function(){var n,r,s,a;return A(this,function(o){switch(o.label){case 0:n=new Set;r=0;o.label=1;case 1:if(!(r<10))return[3,5];s=eg(e,r+t);a=!n.has(s);if(!a)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:a=!o.sent();o.label=3;case 3:if(a)return[2,{success:!0,result:s}];o.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:eo.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/a(function(){var r,s,o,c,u,i,f,d,E,_;return A(this,function(h){switch(h.label){case 0:r=this;h.label=1;case 1:h.trys.push([1,5,,6]);s=t[e],o=el(s),c=L(function(t){var r=p({},n!==null&&n!==void 0?n:{});return o?O(p({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):O(p({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),u=L(function(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(c(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!o)return[3,3];i={success:!0};f=Object.fromEntries;return[4,Promise.all(Object.entries(s).map(function(e){var t=R(e,2),n=t[0],r=t[1];return /*#__PURE__*/a(function(){var e,t;return A(this,function(s){switch(s.label){case 0:e=eh(r);t=[n];return[4,u(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(i.result=f.apply(Object,[h.sent()]),i)];case 3:d=eh(s);E={success:!0};return[4,u(d)];case 4:return[2,(E.result=h.sent(),E)];case 5:_=h.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(_.message),code:eo.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();L(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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(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 a(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function c(e){s(o,r,a,c,u,"next",e)}function u(e){s(o,r,a,c,u,"throw",e)}c(undefined)})}}function o(e,t,n){t=f(t);return y(e,b()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function c(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function i(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function l(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 f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(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 _(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function h(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var a=false;var o,c;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){a=true;c=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(a)throw c}}return r}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(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 O(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{m(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function y(e,t){if(t&&(I(t)==="object"||typeof t==="function")){return t}return r(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function R(e,n){return t(e)||h(e,n)||T(e,n)||g()}function C(e){return n(e)||_(e)||T(e)||v()}function I(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function T(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 b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function A(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 N=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var U=function(e,t,n){return t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var L=function(e,t){return N(e,"name",{value:t,configurable:!0})};var k=function(e,t){for(var n in t)N(e,n,{get:t[n],enumerable:!0})},F=function(e,t,n,r){var s=true,a=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":I(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!w.call(e,s)&&s!==n&&N(e,s,{get:function(){return t[s]},enumerable:!(r=M(t,s))||r.enumerable})};for(var u=P(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 j=function(e,t,n){return n=e!=null?D(G(e)):{},F(t||!e||!e.__esModule?N(n,"default",{value:e,enumerable:!0}):n,e)},x=function(e){return F(N({},"__esModule",{value:!0}),e)};var q=function(e,t,n){return U(e,(typeof t==="undefined"?"undefined":I(t))!="symbol"?t+"":t,n)};var Y={};k(Y,{C_Collection:function(){return Z},C_Db:function(){return K},C_Document:function(){return $},C_Model:function(){return X},MONGO_MIGRATE_OPTIONS:function(){return B},MongoController:function(){return t3},MongooseController:function(){return t6},aggregatePaginate:function(){return er.default},mongo:function(){return t2},mongoosePaginate:function(){return es.default}});module.exports=x(Y);var B="MONGO_MIGRATE_OPTIONS";var H=require("mongodb"),V=require("mongoose");var Q=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(H.Db);L(Q,"C_Db");var K=Q,W=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(V.Document);L(W,"C_Document");var $=W,J=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(V.Model);L(J,"C_Model");var X=J,z=/*#__PURE__*/function(e){d(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(H.Collection);L(z,"C_Collection");var Z=z;var ee=require("date-fns"),et=j(require("migrate-mongo"),1),en=require("mongoose"),er=j(require("mongoose-aggregate-paginate-v2"),1),es=j(require("mongoose-paginate-v2"),1),ea=require("uuid");var eo={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 ec=j(require("unorm"),1);var eu={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},ei=Object.entries(eu).reduce(function(e,t){var n=R(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function el(e){return(typeof e==="undefined"?"undefined":I(e))=="object"&&e!==null&&!Array.isArray(e)}L(el,"isObject");var ef=j(require("crypto-js"),1),ed=j(require("slugify"),1);var eE=ed.default.default||ed.default;function e_(e,t){var n=L(function(e){var n,r;return eE(e!==null&&e!==void 0?e:"",p({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(el(e)){var r={};var s=true,a=false,o=undefined;try{for(var c=Object.entries(e)[Symbol.iterator](),u;!(s=(u=c.next()).done);s=true){var i=R(u.value,2),l=i[0],f=i[1];r[l]=n(f)}}catch(e){a=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(a){throw o}}}return r}return n(e)}L(e_,"generateSlug");function eh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return ef.default.SHA256(e).toString(ef.default.enc.Hex).slice(0,t)}L(eh,"generateShortId");var eg={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":I(e))=="object"?E(e,Date)?!1:E(e,Map)||E(e,Set)?e.size===0:E(e,WeakMap)||E(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var ev=j(require("fs-extra"),1),ep=require("path");var em=ev.default,eO=em.lstatSync,ey=em.readdirSync,eS=em.mkdirSync,eR=em.readFileSync,eC=em.writeFileSync,eI=em.appendFileSync,eT=em.unlinkSync,eb=em.statSync,eA=ev.default.readJsonSync,eD=ev.default.writeJsonSync;function eN(){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.default.pathExistsSync(e)})}L(eN,"pathExistsSync");var eM=".cyberskill-storage";var eP=j(require("@dotenvx/dotenvx"),1),eG=require("envalid"),ew=j(require("os"),1),eU=j(require("path"),1),eL=j(require("process"),1);eP.default.config();function ek(){var e={DEBUG:eL.default.env.DEBUG||!1,CWD:eL.default.env.CWD||eL.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eL.default.env.CYBERSKILL_STORAGE_DIRECTORY||eU.default.join(ew.default.homedir(),eM)};return(0,eG.cleanEnv)(e,{DEBUG:(0,eG.bool)(),CWD:(0,eG.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,eG.str)()})}L(ek,"getEnv");var eF=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ej=require("child_process"),ex=j(require("process"),1),eq=j(require("util"),1);var eY=function(e){return e.Error="error",e.Warning="warning",e}({});var eB=j(require("chalk"),1),eH=j(require("consola"),1),eV=require("graphql");var eQ=ek();eQ.DEBUG||(eH.default.level=4);function eK(e){var t=eB.default[e];return typeof t=="function"?t:eB.default.green}L(eK,"chalkKeyword");var eW={silent:eH.default.silent,level:eH.default.level,fatal:eH.default.fatal,error:eH.default.error,warn:eH.default.warn,log:eH.default.log,info:eH.default.info,success:eH.default.success,ready:eH.default.ready,start:eH.default.start,box:eH.default.box,debug:eH.default.debug,trace:eH.default.trace,verbose:eH.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)){eH.default.box(eB.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;eH.default.log("".concat(eB.default.gray("File:")," ").concat(eB.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eH.default.log(" ".concat(eK(n)("Rule:")," ").concat(s)),eH.default.log(" ".concat(eK(n)("Message:")," ").concat(a))}),eH.default.box(eK(n)("".concat(e," : ").concat(t.length))),eH.default.log(eB.default.gray("─".repeat(40)))}};var e$={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eJ=j(require("node-fetch"),1);var eX=ek();function ez(e){var t=tf(eX.CWD,tv);if(!eN(t))return!1;try{var n=eA(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 eW.warn("Failed to read package.json: ".concat(e.message)),!1}}L(ez,"getPackage");function eZ(e){return /*#__PURE__*/a(function(){var t,n,r,s;return A(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eJ.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 eW.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}L(eZ,"getLatestPackageVersion");function e0(e,t){return /*#__PURE__*/a(function(){var n,r,s,a,o,c,u,i,l,f,d,E,_,h,g,v,m,O,y,S,R;return A(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=ez(e);if(!n)return[2,p({},e$)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},_=(s=i.devDependencies)!==null&&s!==void 0?s:{},h=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=_[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];m=h;return[3,3];case 1:return[4,eZ(e)];case 2:m=C.sent();C.label=3;case 3:g=m,v=l||h===g;if(!v&&(t===null||t===void 0?void 0:t.update)){;y=f?"dependencies":d?"devDependencies":null;y&&((O=i[y])===null||O===void 0?void 0:O[e])!==g&&(i[y]=(S=i[y])!==null&&S!==void 0?S:{},i[y][e]=g,eD(u,i),eW.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:v}];case 4:R=C.sent();return[2,(eW.error('Error checking package "'.concat(e,'": ').concat(R.message)),p({},e$))];case 5:return[2]}})})()}L(e0,"checkPackage");function e1(){return /*#__PURE__*/a(function(){var e,t,n,r,s,a,o,c,u,i,l,f;return A(this,function(d){switch(d.label){case 0:e=[{command:L(function(){return t1.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:L(function(){return t1.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:L(function(){return t1.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();eW.warn("Installation attempt failed: ".concat(u)),eW.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.")}})})()}L(e1,"installDependencies");function e2(e,t){return /*#__PURE__*/a(function(){var n,r,s,a,o,c,u,i,l,f,d;return A(this,function(E){switch(E.label){case 0:if(!eN(tz.PACKAGE_JSON)){eW.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=C(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e0(e,p({},(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,e1()];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 eW.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})})()}L(e2,"setupPackages");var e4=j(require("node-persist"),1);var e3=ek();function e5(){return /*#__PURE__*/a(function(){var e;return A(this,function(t){switch(t.label){case 0:e=e4.default.defaultInstance;if(e)return[3,2];return[4,e4.default.init({dir:e3.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]}})})()}L(e5,"initNodePersist");var e6={get:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e5()];case 1:r.sent();return[4,e4.default.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 /*#__PURE__*/a(function(){var n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e5()];case 1:r.sent();return[4,e4.default.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 /*#__PURE__*/a(function(){var t;return A(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e5()];case 1:n.sent();return[4,e4.default.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 /*#__PURE__*/a(function(){var e,t;return A(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e5()];case 1:n.sent();return[4,e4.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eW.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(eW.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/a(function(){return A(this,function(t){try{return[2,"".concat(e3.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(eW.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e7=ek(),e8=eq.promisify(ej.exec);function e9(e){return"error_list:".concat(e)}L(e9,"getErrorListKey");function te(e){return /*#__PURE__*/a(function(){var t,n,r;return A(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e9(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,e6.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/a(function(){var e;return A(this,function(t){switch(t.label){case 0:return[4,e6.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=s.sent();eW.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}L(te,"saveErrorListToStorage");function tt(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)||[],_=o.exec(e)||[];var h,g,v,p,m,O;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eY.Error?eY.Error:eY.Warning,message:(h=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:"",rule:(g=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&g!==void 0?g:""}):E.length?t.push({file:(v=E===null||E===void 0?void 0:E[1])!==null&&v!==void 0?v:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eY.Error?eY.Error:eY.Warning,message:(p=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&p!==void 0?p:""}):_.length?t.push({file:"commitlint",type:eY.Error,message:(m=_===null||_===void 0?void 0:(l=_[1])===null||l===void 0?void 0:l.trim())!==null&&m!==void 0?m:"",rule:(O=_===null||_===void 0?void 0:(f=_[2])===null||f===void 0?void 0:f.trim())!==null&&O!==void 0?O:""}):n.push(e.trim())}}),t.length&&te(t),e7.DEBUG&&n.length&&(eW.warn("Unmatched lines:"),n.forEach(function(e){return eW.info(" ".concat(e))}))}L(tt,"parseTextErrors");function tn(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?eY.Error:eY.Warning,file:t,position:"".concat(s,":").concat(a),rule:o,message:c})})}),n.length&&te(n)}catch(t){tt(e)}}L(tn,"parseCommandOutput");function tr(e){return /*#__PURE__*/a(function(e){var t,n,r,s,a,o,c,u,i;var l=arguments;return A(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tn;n=new AbortController;ex.default.on("SIGINT",function(){eW.warn("Process interrupted. Terminating..."),n.abort(),ex.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&&eW.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})}).apply(this,arguments)}L(tr,"executeCommand");function ts(e){return{raw:!0,cmd:e}}L(ts,"rawCommand");function ta(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tB," ").concat(t_," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tB," ").concat(tx," ").concat(tA," ").concat(e):"".concat(tB," ").concat(tb," ").concat(e)}L(ta,"formatCLI");function to(e,t){return typeof e=="function"?ta(e(t),t):(typeof e==="undefined"?"undefined":I(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ta(e,t):e}L(to,"formatCommand");function tc(e,t){return /*#__PURE__*/a(function(){var n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);eW.start("".concat(e)),e7.DEBUG&&eW.info("→ ".concat(t));return[4,tr(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]}})})()}L(tc,"runCommand");var tu=j(require("path"),1);var ti=ek();function tl(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,tu.resolve).apply(this,[ti.CWD].concat(C(t)))}L(tl,"resolveWorkingPath");function tf(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,tu.join).apply(this,C(t))}L(tf,"join");var td=ek(),tE=td.CWD,t_="@cyberskill/shared",th="node_modules",tg="dist",tv="package.json",tp="package-lock.json",tm="tsconfig.json",tO=".gitignore",ty=".simple-git-hooks.json",tS="pnpm-lock.yaml",tR=".git/hooks/",tC=".git/COMMIT_EDITMSG",tI=".migrate-mongo.config.js",tT=tf(tE,th,t_,tg),tb="cyberskill",tA="src/nodejs/cli/index.ts",tD="eslint",tN="eslint",tM="vitest",tP="playwright",tG="vitest",tw="@commitlint/cli",tU="commitlint",tL="lint-staged",tk="lint-staged",tF="typescript",tj="tsc",tx="tsx",tq="git",tY="pnpm",tB="pnpm exec",tH="simple-git-hooks",tV="simple-git-hooks",tQ="@eslint/config-inspector",tK="eslint-config-inspector",tW="node-modules-inspector",t$="node-modules-inspector",tJ="migrate-mongo",tX="./node_modules/migrate-mongo/bin/migrate-mongo",tz={CYBERSKILL_DIRECTORY:tT,WORKING_DIRECTORY:tE,TS_CONFIG:tl(tm),GIT_IGNORE:tl(tO),GIT_HOOK:tl(tR),GIT_COMMIT_MSG:tl(tC),SIMPLE_GIT_HOOKS_JSON:tl(ty),PACKAGE_JSON:tl(tv),PACKAGE_LOCK_JSON:tl(tp),PNPM_LOCK_YAML:tl(tS),NODE_MODULES:tl(th),MIGRATE_MONGO_CONFIG:tl(tI),LINT_STAGED_CONFIG:tl("".concat(tT,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:tl("".concat(tT,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:tl("".concat(tT,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:tl("".concat(tT,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:tl("".concat(tT,"/react/vitest/vitest.e2e.js"))};function tZ(e,t,n){return /*#__PURE__*/a(function(){return A(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eF.CLI:return[3,1];case eF.STRING:return[3,3]}return[3,4];case 1:return[4,e2(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),to(ts("".concat(tB," ").concat(n))))];case 3:return[2,to(ts(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}L(tZ,"buildCommand");function t0(e,t,n){return function(){return /*#__PURE__*/a(function(){return A(this,function(r){return[2,tZ(e,t,n)]})})()}}L(t0,"commandFactory");var t1={simpleGitHooks:t0(eF.CLI,tH,tV),eslintInspect:t0(eF.CLI,tQ,tK),nodeModulesInspect:t0(eF.CLI,tW,t$),eslintCheck:t0(eF.CLI,tD,"".concat(tN," ").concat(tz.WORKING_DIRECTORY)),eslintFix:t0(eF.CLI,tD,"".concat(tN," ").concat(tz.WORKING_DIRECTORY," --fix")),typescriptCheck:t0(eF.CLI,tF,"".concat(tj," -p ").concat(tz.TS_CONFIG," --noEmit")),configureGitHook:t0(eF.STRING,"".concat(tq," config core.hooksPath ").concat(tz.GIT_HOOK)),testUnit:t0(eF.CLI,tM,"".concat(tG," --config ").concat(tz.UNIT_TEST_CONFIG)),testE2e:t0(eF.CLI,"".concat(tM," ").concat(tP),"".concat(tG," --config ").concat(tz.E2E_TEST_CONFIG)),mongoMigrateCreate:L(function(e){return t0(eF.CLI,tJ,"".concat(tx," ").concat(tX," create ").concat(e," -f ").concat(tz.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:t0(eF.CLI,tJ,"".concat(tx," ").concat(tX," up -f ").concat(tz.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:t0(eF.CLI,tJ,"".concat(tx," ").concat(tX," down -f ").concat(tz.MIGRATE_MONGO_CONFIG)),commitLint:t0(eF.CLI,tw,"".concat(tU," --edit ").concat(tz.GIT_COMMIT_MSG," --config ").concat(tz.COMMITLINT_CONFIG)),lintStaged:t0(eF.CLI,tL,"".concat(tk," --config ").concat(tz.LINT_STAGED_CONFIG)),stageBuildDirectory:t0(eF.STRING,"".concat(tq," add ").concat(tg)),build:t0(eF.STRING,"".concat(tY," run build")),pnpmInstallStandard:t0(eF.STRING,"".concat(tY," install")),pnpmInstallLegacy:t0(eF.STRING,"".concat(tY," install --legacy-peer-deps")),pnpmInstallForce:t0(eF.STRING,"".concat(tY," install --force"))};var t2={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,ee.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"?t2.getDateTime():new Date;return{id:(0,ea.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:ea.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(t2.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=t2.createSchema({mongoose:t,schema:r,virtuals:i});return t2.applyPlugins(d,[a&&es.default,c&&er.default]),t2.applyMiddlewares(d,f),t.model(n,d)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/a(function(){return A(this,function(t){return[2,!eg.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/a(function(){var n;return A(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 l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return /*#__PURE__*/a(function(){return A(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)})]})})()}}},migrate:O(p({},et.default),{setConfig:L(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eC(tz.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tI,"\n");eN(tz.GIT_IGNORE)?eR(tz.GIT_IGNORE,"utf-8").split("\n").includes(tI)||eI(tz.GIT_IGNORE,n,"utf-8"):eC(tz.GIT_IGNORE,n,"utf-8")},"setConfig")})},t4=/*#__PURE__*/function(){function e(t,n){c(this,e);q(this,"collection");this.collection=t.collection(n)}i(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=p({},t2.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];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]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/a(function(){var t,n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return p({},t2.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return /*#__PURE__*/a(function(){var e,t,n;var r=arguments;return A(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/a(function(){var e,t,n;var r=arguments;return A(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return /*#__PURE__*/a(function(){var n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return /*#__PURE__*/a(function(){var n,r;return A(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();L(t4,"MongoController");var t3=t4,t5=/*#__PURE__*/function(){function e(t){c(this,e);q(this,"model");this.model=t}i(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return /*#__PURE__*/a(function(){var e,t,n,r,s,a,o;var c=arguments;return A(this,function(u){switch(u.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:a=u.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:eo.NOT_FOUND.CODE}];case 3:o=u.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return /*#__PURE__*/a(function(){var e,t,n,r,s,a,o;var c=arguments;return A(this,function(u){switch(u.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 2:return[2,(a.result=u.sent(),a)];case 3:o=u.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return /*#__PURE__*/a(function(e){var t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/a(function(){var e,t,n;var r=arguments;return A(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/a(function(e){var t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=a.sent().map(function(e){return E(e,en.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r,s;var a=arguments;return A(this,function(o){switch(o.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,p({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:eo.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r,s;var a=arguments;return A(this,function(o){switch(o.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:eo.NOT_FOUND.CODE}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return /*#__PURE__*/a(function(){var e,t,n,r;var s=arguments;return A(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=a.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:eo.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return /*#__PURE__*/a(function(){var n,r,s,a;return A(this,function(o){switch(o.label){case 0:n=new Set;r=0;o.label=1;case 1:if(!(r<10))return[3,5];s=eh(e,r+t);a=!n.has(s);if(!a)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:a=!o.sent();o.label=3;case 3:if(a)return[2,{success:!0,result:s}];o.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:eo.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/a(function(){var r,s,o,c,u,i,f,d,E,_;return A(this,function(h){switch(h.label){case 0:r=this;h.label=1;case 1:h.trys.push([1,5,,6]);s=t[e],o=el(s),c=L(function(t){var r=p({},n!==null&&n!==void 0?n:{});return o?O(p({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):O(p({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),u=L(function(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(c(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!o)return[3,3];i={success:!0};f=Object.fromEntries;return[4,Promise.all(Object.entries(s).map(function(e){var t=R(e,2),n=t[0],r=t[1];return /*#__PURE__*/a(function(){var e,t;return A(this,function(s){switch(s.label){case 0:e=e_(r);t=[n];return[4,u(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(i.result=f.apply(Object,[h.sent()]),i)];case 3:d=e_(s);E={success:!0};return[4,u(d)];case 4:return[2,(E.result=h.sent(),E)];case 5:_=h.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(_.message),code:eo.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/a(function(){var t,n;return A(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();L(t5,"MongooseController");var t6=t5;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
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,s,a,c){try{var o=e[a](c);var u=o.value}catch(e){n(e);return}if(o.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 c=e.apply(t,n);function o(e){r(c,s,a,o,u,"next",e)}function u(e){r(c,s,a,o,u,"throw",e)}o(undefined)})}}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function o(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 i(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function l(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function f(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var a=false;var c,o;try{for(n=n.call(e);!(s=(c=n.next()).done);s=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;o=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(a)throw o}}return r}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(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 h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function _(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{h(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function v(e,n){return t(e)||f(e,n)||y(e,n)||d()}function m(e){return n(e)||l(e)||y(e)||E()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function y(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 O(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=o(0),c["throw"]=o(1),c["return"]=o(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function o(e){return function(t){return u([e,t])}}function u(o){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,o[0]&&(a=0)),a)try{if(n=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:a.label++;return{value:o[1],done:false};case 5:a.label++;r=o[1];o=[0];continue;case 7:o=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){a=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){a.label=o[1];break}if(o[0]===6&&a.label<s[1]){a.label=s[1];s=o;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(o);break}if(s[2])a.ops.pop();a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e];r=0}finally{n=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}var S=Object.create;var R=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var b=function(e,t,n){return t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var D=function(e,t){return R(e,"name",{value:t,configurable:!0})};var N=function(e,t){for(var n in t)R(e,n,{get:t[n],enumerable:!0})},G=function(e,t,n,r){var s=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var o=function(){var s=i.value;!A.call(e,s)&&s!==n&&R(e,s,{get:function(){return t[s]},enumerable:!(r=I(t,s))||r.enumerable})};for(var u=C(t)[Symbol.iterator](),i;!(s=(i=u.next()).done);s=true)o()}catch(e){a=true;c=e}finally{try{if(!s&&u.return!=null){u.return()}}finally{if(a){throw c}}}return e};var M=function(e,t,n){return n=e!=null?S(T(e)):{},G(t||!e||!e.__esModule?R(n,"default",{value:e,enumerable:!0}):n,e)},P=function(e){return G(R({},"__esModule",{value:!0}),e)};var w=function(e,t,n){return b(e,(typeof t==="undefined"?"undefined":p(t))!="symbol"?t+"":t,n)};var U={};N(U,{MongoController:function(){return tq},MongooseController:function(){return tB},aggregatePaginate:function(){return j.default},mongo:function(){return tj},mongoosePaginate:function(){return x.default}});module.exports=P(U);var L=require("date-fns"),k=M(require("migrate-mongo"),1),F=require("mongoose"),j=M(require("mongoose-aggregate-paginate-v2"),1),x=M(require("mongoose-paginate-v2"),1),q=require("uuid");var Y={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var B=M(require("unorm"),1);var H={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},V=Object.entries(H).reduce(function(e,t){var n=v(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function Q(e){return(typeof e==="undefined"?"undefined":p(e))=="object"&&e!==null&&!Array.isArray(e)}D(Q,"isObject");var K=require("buffer");var W=M(require("crypto-js"),1),$=M(require("slugify"),1);var J=$.default.default||$.default;function X(e,t){var n=D(function(e){var n,r;return J(e!==null&&e!==void 0?e:"",g({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(Q(e)){var r={};var s=true,a=false,c=undefined;try{for(var o=Object.entries(e)[Symbol.iterator](),u;!(s=(u=o.next()).done);s=true){var i=v(u.value,2),l=i[0],f=i[1];r[l]=n(f)}}catch(e){a=true;c=e}finally{try{if(!s&&o.return!=null){o.return()}}finally{if(a){throw c}}}return r}return n(e)}D(X,"generateSlug");function z(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return W.default.SHA256(e).toString(W.default.enc.Hex).slice(0,t)}D(z,"generateShortId");var Z={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":p(e))=="object"?i(e,Date)?!1:i(e,Map)||i(e,Set)?e.size===0:i(e,WeakMap)||i(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var ee=M(require("fs-extra"),1),et=require("path");var en=ee.default,er=en.lstatSync,es=en.readdirSync,ea=en.mkdirSync,ec=en.readFileSync,eo=en.writeFileSync,eu=en.appendFileSync,ei=en.unlinkSync,el=en.statSync,ef=ee.default.readJsonSync,ed=ee.default.writeJsonSync;function eE(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ee.default.pathExistsSync(e)})}D(eE,"pathExistsSync");var eg=".cyberskill-storage";var eh=M(require("@dotenvx/dotenvx"),1),e_=require("envalid"),ev=M(require("os"),1),em=M(require("path"),1),ep=M(require("process"),1);eh.default.config();function ey(){var e={DEBUG:ep.default.env.DEBUG||!1,CWD:ep.default.env.CWD||ep.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:ep.default.env.CYBERSKILL_STORAGE_DIRECTORY||em.default.join(ev.default.homedir(),eg)};return(0,e_.cleanEnv)(e,{DEBUG:(0,e_.bool)(),CWD:(0,e_.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,e_.str)()})}D(ey,"getEnv");var eO=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var eS=require("child_process"),eR=M(require("process"),1),eI=M(require("util"),1);var eC=function(e){return e.Error="error",e.Warning="warning",e}({});var eT=M(require("chalk"),1),eA=M(require("consola"),1),eb=require("graphql");var eD=ey();eD.DEBUG||(eA.default.level=4);function eN(e){var t=eT.default[e];return typeof t=="function"?t:eT.default.green}D(eN,"chalkKeyword");var eG={silent:eA.default.silent,level:eA.default.level,fatal:eA.default.fatal,error:eA.default.error,warn:eA.default.warn,log:eA.default.log,info:eA.default.info,success:eA.default.success,ready:eA.default.ready,start:eA.default.start,box:eA.default.box,debug:eA.default.debug,trace:eA.default.trace,verbose:eA.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)){eA.default.box(eT.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;eA.default.log("".concat(eT.default.gray("File:")," ").concat(eT.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eA.default.log(" ".concat(eN(n)("Rule:")," ").concat(s)),eA.default.log(" ".concat(eN(n)("Message:")," ").concat(a))}),eA.default.box(eN(n)("".concat(e," : ").concat(t.length))),eA.default.log(eT.default.gray("─".repeat(40)))}};var eM={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eP=M(require("node-fetch"),1);var ew=ey();function eU(e){var t=e3(ew.CWD,te);if(!eE(t))return!1;try{var n=ef(t),r=n.name,s=n.dependencies,a=s===void 0?{}:s,c=n.devDependencies,o=c===void 0?{}:c,u=r===e,i=e in a,l=e in o;return u||i||l?{path:t,file:n,isCurrentProject:u,isDepend:i,isDevDepend:l}:!1}catch(e){return eG.warn("Failed to read package.json: ".concat(e.message)),!1}}D(eU,"getPackage");function eL(e){return /*#__PURE__*/s(function(){var t,n,r,s;return O(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eP.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 eG.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}D(eL,"getLatestPackageVersion");function ek(e,t){return /*#__PURE__*/s(function(){var n,r,s,a,c,o,u,i,l,f,d,E,h,_,v,m,p,y,S,R,I;return O(this,function(O){switch(O.label){case 0:O.trys.push([0,4,,5]);n=eU(e);if(!n)return[2,g({},eM)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},h=(s=i.devDependencies)!==null&&s!==void 0?s:{},_=l?(a=i.version)!==null&&a!==void 0?a:"0.0.0":f?(c=E[e])!==null&&c!==void 0?c:"0.0.0":d?(o=h[e])!==null&&o!==void 0?o:"0.0.0":"0.0.0";if(!l)return[3,1];p=_;return[3,3];case 1:return[4,eL(e)];case 2:p=O.sent();O.label=3;case 3:v=p,m=l||_===v;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])!==v&&(i[S]=(R=i[S])!==null&&R!==void 0?R:{},i[S][e]=v,ed(u,i),eG.info('Updated "'.concat(e,'" to version ').concat(v)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:m}];case 4:I=O.sent();return[2,(eG.error('Error checking package "'.concat(e,'": ').concat(I.message)),g({},eM))];case 5:return[2]}})})()}D(ek,"checkPackage");function eF(){return /*#__PURE__*/s(function(){var e,t,n,r,s,a,c,o,u,i,l,f;return O(this,function(d){switch(d.label){case 0:e=[{command:D(function(){return tF.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:D(function(){return tF.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:D(function(){return tF.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);s=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=s.next()).done))return[3,8];c=a.value,o=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,o()];case 4:i=d.sent();return[4,e0("".concat(u," using: ").concat(i),i)];case 5:d.sent();return[2];case 6:l=d.sent();eG.warn("Installation attempt failed: ".concat(u)),eG.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.")}})})()}D(eF,"installDependencies");function ej(e,t){return /*#__PURE__*/s(function(){var n,r,s,a,c,o,u,i,l,f,d;return O(this,function(E){switch(E.label){case 0:if(!eE(tU.PACKAGE_JSON)){eG.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=m(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ek(e,g({},(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,eF()];case 3:r=E.sent();E.label=4;case 4:r;a=true,c=false,o=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();c=true;o=f;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(c){throw o}}return[7];case 12:return[3,14];case 13:d=E.sent();throw eG.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})})()}D(ej,"setupPackages");var ex=M(require("node-persist"),1);var eq=ey();function eY(){return /*#__PURE__*/s(function(){var e;return O(this,function(t){switch(t.label){case 0:e=ex.default.defaultInstance;if(e)return[3,2];return[4,ex.default.init({dir:eq.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]}})})()}D(eY,"initNodePersist");var eB={get:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,ex.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(eG.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/s(function(){var n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,ex.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eG.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/s(function(){var t;return O(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,ex.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eG.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/s(function(){var e,t;return O(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,ex.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eG.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(eG.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/s(function(){return O(this,function(t){try{return[2,"".concat(eq.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(eG.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eH=ey(),eV=eI.promisify(eS.exec);function eQ(e){return"error_list:".concat(e)}D(eQ,"getErrorListKey");function eK(e){return /*#__PURE__*/s(function(){var t,n,r;return O(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eQ(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eB.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/s(function(){var e;return O(this,function(t){switch(t.label){case 0:return[4,eB.getLogLink(n)];case 1:e=t.sent();e&&eG.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=a.sent();eG.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}D(eK,"saveErrorListToStorage");function eW(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var o,u,i,l,f;var d=s.exec(e)||[],E=a.exec(e)||[],g=c.exec(e)||[];var h,_,v,m,p,y;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eC.Error?eC.Error:eC.Warning,message:(h=d===null||d===void 0?void 0:(o=d[4])===null||o===void 0?void 0:o.trim())!==null&&h!==void 0?h:"",rule:(_=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&_!==void 0?_:""}):E.length?t.push({file:(v=E===null||E===void 0?void 0:E[1])!==null&&v!==void 0?v:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eC.Error?eC.Error:eC.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:eC.Error,message:(p=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&p!==void 0?p:"",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&&eK(t),eH.DEBUG&&n.length&&(eG.warn("Unmatched lines:"),n.forEach(function(e){return eG.info(" ".concat(e))}))}D(eW,"parseTextErrors");function e$(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,a=e.column,c=e.ruleId,o=e.message;n.push({type:r===2?eC.Error:eC.Warning,file:t,position:"".concat(s,":").concat(a),rule:c,message:o})})}),n.length&&eK(n)}catch(t){eW(e)}}D(e$,"parseCommandOutput");function eJ(e){return /*#__PURE__*/s(function(e){var t,n,r,s,a,c,o,u,i;var l=arguments;return O(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:e$;n=new AbortController;eR.default.on("SIGINT",function(){eG.warn("Process interrupted. Terminating..."),n.abort(),eR.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eV(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),s=r.stdout,a=r.stderr;[s,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();o=c.stdout,u=c.stderr,i=c.message;[o,u].forEach(function(e){return e&&t(e)}),!u&&!o&&eG.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})}).apply(this,arguments)}D(eJ,"executeCommand");function eX(e){return{raw:!0,cmd:e}}D(eX,"rawCommand");function ez(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tT," ").concat(e7," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tT," ").concat(tR," ").concat(tf," ").concat(e):"".concat(tT," ").concat(tl," ").concat(e)}D(ez,"formatCLI");function eZ(e,t){return typeof e=="function"?ez(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ez(e,t):e}D(eZ,"formatCommand");function e0(e,t){return /*#__PURE__*/s(function(){var n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);eG.start("".concat(e)),eH.DEBUG&&eG.info("→ ".concat(t));return[4,eJ(t)];case 1:r.sent(),eG.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw eG.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}D(e0,"runCommand");var e1=M(require("path"),1);var e2=ey();function e4(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,e1.resolve).apply(this,[e2.CWD].concat(m(t)))}D(e4,"resolveWorkingPath");function e3(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,e1.join).apply(this,m(t))}D(e3,"join");var e5=ey(),e6=e5.CWD,e7="@cyberskill/shared",e8="node_modules",e9="dist",te="package.json",tt="package-lock.json",tn="tsconfig.json",tr=".gitignore",ts=".simple-git-hooks.json",ta="pnpm-lock.yaml",tc=".git/hooks/",to=".git/COMMIT_EDITMSG",tu=".migrate-mongo.config.js",ti=e3(e6,e8,e7,e9),tl="cyberskill",tf="src/nodejs/cli/index.ts",td="eslint",tE="eslint",tg="vitest",th="playwright",t_="vitest",tv="@commitlint/cli",tm="commitlint",tp="lint-staged",ty="lint-staged",tO="typescript",tS="tsc",tR="tsx",tI="git",tC="pnpm",tT="pnpm exec",tA="simple-git-hooks",tb="simple-git-hooks",tD="@eslint/config-inspector",tN="eslint-config-inspector",tG="node-modules-inspector",tM="node-modules-inspector",tP="migrate-mongo",tw="./node_modules/migrate-mongo/bin/migrate-mongo",tU={CYBERSKILL_DIRECTORY:ti,WORKING_DIRECTORY:e6,TS_CONFIG:e4(tn),GIT_IGNORE:e4(tr),GIT_HOOK:e4(tc),GIT_COMMIT_MSG:e4(to),SIMPLE_GIT_HOOKS_JSON:e4(ts),PACKAGE_JSON:e4(te),PACKAGE_LOCK_JSON:e4(tt),PNPM_LOCK_YAML:e4(ta),NODE_MODULES:e4(e8),MIGRATE_MONGO_CONFIG:e4(tu),LINT_STAGED_CONFIG:e4("".concat(ti,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:e4("".concat(ti,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:e4("".concat(ti,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:e4("".concat(ti,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:e4("".concat(ti,"/react/vitest/vitest.e2e.js"))};function tL(e,t,n){return /*#__PURE__*/s(function(){return O(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eO.CLI:return[3,1];case eO.STRING:return[3,3]}return[3,4];case 1:return[4,ej(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eZ(eX("".concat(tT," ").concat(n))))];case 3:return[2,eZ(eX(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}D(tL,"buildCommand");function tk(e,t,n){return function(){return /*#__PURE__*/s(function(){return O(this,function(r){return[2,tL(e,t,n)]})})()}}D(tk,"commandFactory");var tF={simpleGitHooks:tk(eO.CLI,tA,tb),eslintInspect:tk(eO.CLI,tD,tN),nodeModulesInspect:tk(eO.CLI,tG,tM),eslintCheck:tk(eO.CLI,td,"".concat(tE," ").concat(tU.WORKING_DIRECTORY)),eslintFix:tk(eO.CLI,td,"".concat(tE," ").concat(tU.WORKING_DIRECTORY," --fix")),typescriptCheck:tk(eO.CLI,tO,"".concat(tS," -p ").concat(tU.TS_CONFIG," --noEmit")),configureGitHook:tk(eO.STRING,"".concat(tI," config core.hooksPath ").concat(tU.GIT_HOOK)),testUnit:tk(eO.CLI,tg,"".concat(t_," --config ").concat(tU.UNIT_TEST_CONFIG)),testE2e:tk(eO.CLI,"".concat(tg," ").concat(th),"".concat(t_," --config ").concat(tU.E2E_TEST_CONFIG)),mongoMigrateCreate:D(function(e){return tk(eO.CLI,tP,"".concat(tR," ").concat(tw," create ").concat(e," -f ").concat(tU.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tk(eO.CLI,tP,"".concat(tR," ").concat(tw," up -f ").concat(tU.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tk(eO.CLI,tP,"".concat(tR," ").concat(tw," down -f ").concat(tU.MIGRATE_MONGO_CONFIG)),commitLint:tk(eO.CLI,tv,"".concat(tm," --edit ").concat(tU.GIT_COMMIT_MSG," --config ").concat(tU.COMMITLINT_CONFIG)),lintStaged:tk(eO.CLI,tp,"".concat(ty," --config ").concat(tU.LINT_STAGED_CONFIG)),stageBuildDirectory:tk(eO.STRING,"".concat(tI," add ").concat(e9)),build:tk(eO.STRING,"".concat(tC," run build")),pnpmInstallStandard:tk(eO.STRING,"".concat(tC," install")),pnpmInstallLegacy:tk(eO.STRING,"".concat(tC," install --legacy-peer-deps")),pnpmInstallForce:tk(eO.STRING,"".concat(tC," install --force"))};var tj={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,L.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"?tj.getDateTime():new Date;return{id:(0,q.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:q.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,c=a===void 0?!1:a;var o=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=o.virtual(t,n);r&&s.get(r)}),c||o.add(tj.createGenericSchema(t)),o},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,c=e.aggregate,o=c===void 0?!1:c,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=tj.createSchema({mongoose:t,schema:r,virtuals:i});return tj.applyPlugins(d,[a&&x.default,o&&j.default]),tj.applyMiddlewares(d,f),t.model(n,d)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/s(function(){return O(this,function(t){return[2,!Z.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/s(function(){var n;return O(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.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return /*#__PURE__*/s(function(){return O(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!i(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:_(g({},k.default),{setConfig:D(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eo(tU.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tu,"\n");eE(tU.GIT_IGNORE)?ec(tU.GIT_IGNORE,"utf-8").split("\n").includes(tu)||eu(tU.GIT_IGNORE,n,"utf-8"):eo(tU.GIT_IGNORE,n,"utf-8")},"setConfig")})},tx=/*#__PURE__*/function(){function e(t,n){a(this,e);w(this,"collection");this.collection=t.collection(n)}o(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=g({},tj.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];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]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/s(function(){var t,n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return g({},tj.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return /*#__PURE__*/s(function(){var e,t,n;var r=arguments;return O(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/s(function(){var e,t,n;var r=arguments;return O(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return /*#__PURE__*/s(function(){var n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return /*#__PURE__*/s(function(){var n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();D(tx,"MongoController");var tq=tx,tY=/*#__PURE__*/function(){function e(t){a(this,e);w(this,"model");this.model=t}o(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return /*#__PURE__*/s(function(){var e,t,n,r,s,a,c;var o=arguments;return O(this,function(u){switch(u.label){case 0:e=o.length>0&&o[0]!==void 0?o[0]:{},t=o.length>1&&o[1]!==void 0?o[1]:{},n=o.length>2&&o[2]!==void 0?o[2]:{},r=o.length>3?o[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:a=u.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:Y.NOT_FOUND.CODE}];case 3:c=u.sent();return[2,{success:!1,message:c.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return /*#__PURE__*/s(function(){var e,t,n,r,s,a,c;var o=arguments;return O(this,function(u){switch(u.label){case 0:e=o.length>0&&o[0]!==void 0?o[0]:{},t=o.length>1&&o[1]!==void 0?o[1]:{},n=o.length>2&&o[2]!==void 0?o[2]:{},r=o.length>3?o[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 2:return[2,(a.result=u.sent(),a)];case 3:c=u.sent();return[2,{success:!1,message:c.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return /*#__PURE__*/s(function(e){var t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/s(function(){var e,t,n;var r=arguments;return O(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/s(function(e){var t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=a.sent().map(function(e){return i(e,F.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r,s;var a=arguments;return O(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,g({new:!0},n)).exec()];case 2:r=c.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:Y.NOT_FOUND.CODE}];case 3:s=c.sent();return[2,{success:!1,message:s.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r,s;var a=arguments;return O(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=c.sent(),r)];case 3:s=c.sent();return[2,{success:!1,message:s.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:Y.NOT_FOUND.CODE}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=a.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:Y.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return /*#__PURE__*/s(function(){var n,r,s,a;return O(this,function(c){switch(c.label){case 0:n=new Set;r=0;c.label=1;case 1:if(!(r<10))return[3,5];s=z(e,r+t);a=!n.has(s);if(!a)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:a=!c.sent();c.label=3;case 3:if(a)return[2,{success:!0,result:s}];c.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:Y.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/s(function(){var r,a,c,o,i,l,f,d,E,h;return O(this,function(m){switch(m.label){case 0:r=this;m.label=1;case 1:m.trys.push([1,5,,6]);a=t[e],c=Q(a),o=D(function(t){var r=g({},n!==null&&n!==void 0?n:{});return c?_(g({},r),{$or:[u({},"slug.".concat(e),t),{slugHistory:{$elemMatch:u({},"slug.".concat(e),t)}}]}):_(g({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),i=D(function(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(o(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!c)return[3,3];l={success:!0};f=Object.fromEntries;return[4,Promise.all(Object.entries(a).map(function(e){var t=v(e,2),n=t[0],r=t[1];return /*#__PURE__*/s(function(){var e,t;return O(this,function(s){switch(s.label){case 0:e=X(r);t=[n];return[4,i(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(l.result=f.apply(Object,[m.sent()]),l)];case 3:d=X(a);E={success:!0};return[4,i(d)];case 4:return[2,(E.result=m.sent(),E)];case 5:h=m.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:Y.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();D(tY,"MongooseController");var tB=tY;0&&(module.exports={MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,s,a,c){try{var o=e[a](c);var u=o.value}catch(e){n(e);return}if(o.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 c=e.apply(t,n);function o(e){r(c,s,a,o,u,"next",e)}function u(e){r(c,s,a,o,u,"throw",e)}o(undefined)})}}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function o(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 i(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function l(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function f(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var a=false;var c,o;try{for(n=n.call(e);!(s=(c=n.next()).done);s=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;o=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(a)throw o}}return r}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(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 h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function _(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{h(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function v(e,n){return t(e)||f(e,n)||y(e,n)||d()}function m(e){return n(e)||l(e)||y(e)||E()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function y(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 O(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=o(0),c["throw"]=o(1),c["return"]=o(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function o(e){return function(t){return u([e,t])}}function u(o){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,o[0]&&(a=0)),a)try{if(n=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:a.label++;return{value:o[1],done:false};case 5:a.label++;r=o[1];o=[0];continue;case 7:o=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){a=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){a.label=o[1];break}if(o[0]===6&&a.label<s[1]){a.label=s[1];s=o;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(o);break}if(s[2])a.ops.pop();a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e];r=0}finally{n=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}var S=Object.create;var R=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var b=function(e,t,n){return t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var D=function(e,t){return R(e,"name",{value:t,configurable:!0})};var N=function(e,t){for(var n in t)R(e,n,{get:t[n],enumerable:!0})},G=function(e,t,n,r){var s=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var o=function(){var s=i.value;!A.call(e,s)&&s!==n&&R(e,s,{get:function(){return t[s]},enumerable:!(r=I(t,s))||r.enumerable})};for(var u=C(t)[Symbol.iterator](),i;!(s=(i=u.next()).done);s=true)o()}catch(e){a=true;c=e}finally{try{if(!s&&u.return!=null){u.return()}}finally{if(a){throw c}}}return e};var M=function(e,t,n){return n=e!=null?S(T(e)):{},G(t||!e||!e.__esModule?R(n,"default",{value:e,enumerable:!0}):n,e)},P=function(e){return G(R({},"__esModule",{value:!0}),e)};var w=function(e,t,n){return b(e,(typeof t==="undefined"?"undefined":p(t))!="symbol"?t+"":t,n)};var U={};N(U,{MongoController:function(){return tx},MongooseController:function(){return tY},aggregatePaginate:function(){return j.default},mongo:function(){return tF},mongoosePaginate:function(){return x.default}});module.exports=P(U);var L=require("date-fns"),k=M(require("migrate-mongo"),1),F=require("mongoose"),j=M(require("mongoose-aggregate-paginate-v2"),1),x=M(require("mongoose-paginate-v2"),1),q=require("uuid");var Y={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var B=M(require("unorm"),1);var H={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},V=Object.entries(H).reduce(function(e,t){var n=v(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function Q(e){return(typeof e==="undefined"?"undefined":p(e))=="object"&&e!==null&&!Array.isArray(e)}D(Q,"isObject");var K=M(require("crypto-js"),1),W=M(require("slugify"),1);var $=W.default.default||W.default;function J(e,t){var n=D(function(e){var n,r;return $(e!==null&&e!==void 0?e:"",g({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(Q(e)){var r={};var s=true,a=false,c=undefined;try{for(var o=Object.entries(e)[Symbol.iterator](),u;!(s=(u=o.next()).done);s=true){var i=v(u.value,2),l=i[0],f=i[1];r[l]=n(f)}}catch(e){a=true;c=e}finally{try{if(!s&&o.return!=null){o.return()}}finally{if(a){throw c}}}return r}return n(e)}D(J,"generateSlug");function X(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return K.default.SHA256(e).toString(K.default.enc.Hex).slice(0,t)}D(X,"generateShortId");var z={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":p(e))=="object"?i(e,Date)?!1:i(e,Map)||i(e,Set)?e.size===0:i(e,WeakMap)||i(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var Z=M(require("fs-extra"),1),ee=require("path");var et=Z.default,en=et.lstatSync,er=et.readdirSync,es=et.mkdirSync,ea=et.readFileSync,ec=et.writeFileSync,eo=et.appendFileSync,eu=et.unlinkSync,ei=et.statSync,el=Z.default.readJsonSync,ef=Z.default.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 Z.default.pathExistsSync(e)})}D(ed,"pathExistsSync");var eE=".cyberskill-storage";var eg=M(require("@dotenvx/dotenvx"),1),eh=require("envalid"),e_=M(require("os"),1),ev=M(require("path"),1),em=M(require("process"),1);eg.default.config();function ep(){var e={DEBUG:em.default.env.DEBUG||!1,CWD:em.default.env.CWD||em.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:em.default.env.CYBERSKILL_STORAGE_DIRECTORY||ev.default.join(e_.default.homedir(),eE)};return(0,eh.cleanEnv)(e,{DEBUG:(0,eh.bool)(),CWD:(0,eh.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,eh.str)()})}D(ep,"getEnv");var ey=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var eO=require("child_process"),eS=M(require("process"),1),eR=M(require("util"),1);var eI=function(e){return e.Error="error",e.Warning="warning",e}({});var eC=M(require("chalk"),1),eT=M(require("consola"),1),eA=require("graphql");var eb=ep();eb.DEBUG||(eT.default.level=4);function eD(e){var t=eC.default[e];return typeof t=="function"?t:eC.default.green}D(eD,"chalkKeyword");var eN={silent:eT.default.silent,level:eT.default.level,fatal:eT.default.fatal,error:eT.default.error,warn:eT.default.warn,log:eT.default.log,info:eT.default.info,success:eT.default.success,ready:eT.default.ready,start:eT.default.start,box:eT.default.box,debug:eT.default.debug,trace:eT.default.trace,verbose:eT.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)){eT.default.box(eC.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;eT.default.log("".concat(eC.default.gray("File:")," ").concat(eC.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&eT.default.log(" ".concat(eD(n)("Rule:")," ").concat(s)),eT.default.log(" ".concat(eD(n)("Message:")," ").concat(a))}),eT.default.box(eD(n)("".concat(e," : ").concat(t.length))),eT.default.log(eC.default.gray("─".repeat(40)))}};var eG={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eM=M(require("node-fetch"),1);var eP=ep();function ew(e){var t=e4(eP.CWD,e9);if(!ed(t))return!1;try{var n=el(t),r=n.name,s=n.dependencies,a=s===void 0?{}:s,c=n.devDependencies,o=c===void 0?{}:c,u=r===e,i=e in a,l=e in o;return u||i||l?{path:t,file:n,isCurrentProject:u,isDepend:i,isDevDepend:l}:!1}catch(e){return eN.warn("Failed to read package.json: ".concat(e.message)),!1}}D(ew,"getPackage");function eU(e){return /*#__PURE__*/s(function(){var t,n,r,s;return O(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eM.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 eN.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}D(eU,"getLatestPackageVersion");function eL(e,t){return /*#__PURE__*/s(function(){var n,r,s,a,c,o,u,i,l,f,d,E,h,_,v,m,p,y,S,R,I;return O(this,function(O){switch(O.label){case 0:O.trys.push([0,4,,5]);n=ew(e);if(!n)return[2,g({},eG)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},h=(s=i.devDependencies)!==null&&s!==void 0?s:{},_=l?(a=i.version)!==null&&a!==void 0?a:"0.0.0":f?(c=E[e])!==null&&c!==void 0?c:"0.0.0":d?(o=h[e])!==null&&o!==void 0?o:"0.0.0":"0.0.0";if(!l)return[3,1];p=_;return[3,3];case 1:return[4,eU(e)];case 2:p=O.sent();O.label=3;case 3:v=p,m=l||_===v;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])!==v&&(i[S]=(R=i[S])!==null&&R!==void 0?R:{},i[S][e]=v,ef(u,i),eN.info('Updated "'.concat(e,'" to version ').concat(v)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:m}];case 4:I=O.sent();return[2,(eN.error('Error checking package "'.concat(e,'": ').concat(I.message)),g({},eG))];case 5:return[2]}})})()}D(eL,"checkPackage");function ek(){return /*#__PURE__*/s(function(){var e,t,n,r,s,a,c,o,u,i,l,f;return O(this,function(d){switch(d.label){case 0:e=[{command:D(function(){return tk.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:D(function(){return tk.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:D(function(){return tk.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);s=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=s.next()).done))return[3,8];c=a.value,o=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,o()];case 4:i=d.sent();return[4,eZ("".concat(u," using: ").concat(i),i)];case 5:d.sent();return[2];case 6:l=d.sent();eN.warn("Installation attempt failed: ".concat(u)),eN.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.")}})})()}D(ek,"installDependencies");function eF(e,t){return /*#__PURE__*/s(function(){var n,r,s,a,c,o,u,i,l,f,d;return O(this,function(E){switch(E.label){case 0:if(!ed(tw.PACKAGE_JSON)){eN.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=m(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eL(e,g({},(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,ek()];case 3:r=E.sent();E.label=4;case 4:r;a=true,c=false,o=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();c=true;o=f;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(c){throw o}}return[7];case 12:return[3,14];case 13:d=E.sent();throw eN.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})})()}D(eF,"setupPackages");var ej=M(require("node-persist"),1);var ex=ep();function eq(){return /*#__PURE__*/s(function(){var e;return O(this,function(t){switch(t.label){case 0:e=ej.default.defaultInstance;if(e)return[3,2];return[4,ej.default.init({dir:ex.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]}})})()}D(eq,"initNodePersist");var eY={get:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eq()];case 1:r.sent();return[4,ej.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(eN.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/s(function(){var n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eq()];case 1:r.sent();return[4,ej.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eN.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/s(function(){var t;return O(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eq()];case 1:n.sent();return[4,ej.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eN.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/s(function(){var e,t;return O(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eq()];case 1:n.sent();return[4,ej.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eN.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(eN.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/s(function(){return O(this,function(t){try{return[2,"".concat(ex.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(eN.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eB=ep(),eH=eR.promisify(eO.exec);function eV(e){return"error_list:".concat(e)}D(eV,"getErrorListKey");function eQ(e){return /*#__PURE__*/s(function(){var t,n,r;return O(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eV(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eY.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/s(function(){var e;return O(this,function(t){switch(t.label){case 0:return[4,eY.getLogLink(n)];case 1:e=t.sent();e&&eN.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=a.sent();eN.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}D(eQ,"saveErrorListToStorage");function eK(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var o,u,i,l,f;var d=s.exec(e)||[],E=a.exec(e)||[],g=c.exec(e)||[];var h,_,v,m,p,y;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eI.Error?eI.Error:eI.Warning,message:(h=d===null||d===void 0?void 0:(o=d[4])===null||o===void 0?void 0:o.trim())!==null&&h!==void 0?h:"",rule:(_=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&_!==void 0?_:""}):E.length?t.push({file:(v=E===null||E===void 0?void 0:E[1])!==null&&v!==void 0?v:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eI.Error?eI.Error:eI.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:eI.Error,message:(p=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&p!==void 0?p:"",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&&eQ(t),eB.DEBUG&&n.length&&(eN.warn("Unmatched lines:"),n.forEach(function(e){return eN.info(" ".concat(e))}))}D(eK,"parseTextErrors");function eW(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,a=e.column,c=e.ruleId,o=e.message;n.push({type:r===2?eI.Error:eI.Warning,file:t,position:"".concat(s,":").concat(a),rule:c,message:o})})}),n.length&&eQ(n)}catch(t){eK(e)}}D(eW,"parseCommandOutput");function e$(e){return /*#__PURE__*/s(function(e){var t,n,r,s,a,c,o,u,i;var l=arguments;return O(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eW;n=new AbortController;eS.default.on("SIGINT",function(){eN.warn("Process interrupted. Terminating..."),n.abort(),eS.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eH(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),s=r.stdout,a=r.stderr;[s,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();o=c.stdout,u=c.stderr,i=c.message;[o,u].forEach(function(e){return e&&t(e)}),!u&&!o&&eN.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})}).apply(this,arguments)}D(e$,"executeCommand");function eJ(e){return{raw:!0,cmd:e}}D(eJ,"rawCommand");function eX(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tC," ").concat(e6," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tC," ").concat(tS," ").concat(tl," ").concat(e):"".concat(tC," ").concat(ti," ").concat(e)}D(eX,"formatCLI");function ez(e,t){return typeof e=="function"?eX(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eX(e,t):e}D(ez,"formatCommand");function eZ(e,t){return /*#__PURE__*/s(function(){var n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);eN.start("".concat(e)),eB.DEBUG&&eN.info("→ ".concat(t));return[4,e$(t)];case 1:r.sent(),eN.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw eN.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}D(eZ,"runCommand");var e0=M(require("path"),1);var e1=ep();function e2(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,e0.resolve).apply(this,[e1.CWD].concat(m(t)))}D(e2,"resolveWorkingPath");function e4(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,e0.join).apply(this,m(t))}D(e4,"join");var e3=ep(),e5=e3.CWD,e6="@cyberskill/shared",e7="node_modules",e8="dist",e9="package.json",te="package-lock.json",tt="tsconfig.json",tn=".gitignore",tr=".simple-git-hooks.json",ts="pnpm-lock.yaml",ta=".git/hooks/",tc=".git/COMMIT_EDITMSG",to=".migrate-mongo.config.js",tu=e4(e5,e7,e6,e8),ti="cyberskill",tl="src/nodejs/cli/index.ts",tf="eslint",td="eslint",tE="vitest",tg="playwright",th="vitest",t_="@commitlint/cli",tv="commitlint",tm="lint-staged",tp="lint-staged",ty="typescript",tO="tsc",tS="tsx",tR="git",tI="pnpm",tC="pnpm exec",tT="simple-git-hooks",tA="simple-git-hooks",tb="@eslint/config-inspector",tD="eslint-config-inspector",tN="node-modules-inspector",tG="node-modules-inspector",tM="migrate-mongo",tP="./node_modules/migrate-mongo/bin/migrate-mongo",tw={CYBERSKILL_DIRECTORY:tu,WORKING_DIRECTORY:e5,TS_CONFIG:e2(tt),GIT_IGNORE:e2(tn),GIT_HOOK:e2(ta),GIT_COMMIT_MSG:e2(tc),SIMPLE_GIT_HOOKS_JSON:e2(tr),PACKAGE_JSON:e2(e9),PACKAGE_LOCK_JSON:e2(te),PNPM_LOCK_YAML:e2(ts),NODE_MODULES:e2(e7),MIGRATE_MONGO_CONFIG:e2(to),LINT_STAGED_CONFIG:e2("".concat(tu,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:e2("".concat(tu,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:e2("".concat(tu,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:e2("".concat(tu,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:e2("".concat(tu,"/react/vitest/vitest.e2e.js"))};function tU(e,t,n){return /*#__PURE__*/s(function(){return O(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case ey.CLI:return[3,1];case ey.STRING:return[3,3]}return[3,4];case 1:return[4,eF(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ez(eJ("".concat(tC," ").concat(n))))];case 3:return[2,ez(eJ(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}D(tU,"buildCommand");function tL(e,t,n){return function(){return /*#__PURE__*/s(function(){return O(this,function(r){return[2,tU(e,t,n)]})})()}}D(tL,"commandFactory");var tk={simpleGitHooks:tL(ey.CLI,tT,tA),eslintInspect:tL(ey.CLI,tb,tD),nodeModulesInspect:tL(ey.CLI,tN,tG),eslintCheck:tL(ey.CLI,tf,"".concat(td," ").concat(tw.WORKING_DIRECTORY)),eslintFix:tL(ey.CLI,tf,"".concat(td," ").concat(tw.WORKING_DIRECTORY," --fix")),typescriptCheck:tL(ey.CLI,ty,"".concat(tO," -p ").concat(tw.TS_CONFIG," --noEmit")),configureGitHook:tL(ey.STRING,"".concat(tR," config core.hooksPath ").concat(tw.GIT_HOOK)),testUnit:tL(ey.CLI,tE,"".concat(th," --config ").concat(tw.UNIT_TEST_CONFIG)),testE2e:tL(ey.CLI,"".concat(tE," ").concat(tg),"".concat(th," --config ").concat(tw.E2E_TEST_CONFIG)),mongoMigrateCreate:D(function(e){return tL(ey.CLI,tM,"".concat(tS," ").concat(tP," create ").concat(e," -f ").concat(tw.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tL(ey.CLI,tM,"".concat(tS," ").concat(tP," up -f ").concat(tw.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tL(ey.CLI,tM,"".concat(tS," ").concat(tP," down -f ").concat(tw.MIGRATE_MONGO_CONFIG)),commitLint:tL(ey.CLI,t_,"".concat(tv," --edit ").concat(tw.GIT_COMMIT_MSG," --config ").concat(tw.COMMITLINT_CONFIG)),lintStaged:tL(ey.CLI,tm,"".concat(tp," --config ").concat(tw.LINT_STAGED_CONFIG)),stageBuildDirectory:tL(ey.STRING,"".concat(tR," add ").concat(e8)),build:tL(ey.STRING,"".concat(tI," run build")),pnpmInstallStandard:tL(ey.STRING,"".concat(tI," install")),pnpmInstallLegacy:tL(ey.STRING,"".concat(tI," install --legacy-peer-deps")),pnpmInstallForce:tL(ey.STRING,"".concat(tI," install --force"))};var tF={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,L.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"?tF.getDateTime():new Date;return{id:(0,q.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:q.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,c=a===void 0?!1:a;var o=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=o.virtual(t,n);r&&s.get(r)}),c||o.add(tF.createGenericSchema(t)),o},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,c=e.aggregate,o=c===void 0?!1:c,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=tF.createSchema({mongoose:t,schema:r,virtuals:i});return tF.applyPlugins(d,[a&&x.default,o&&j.default]),tF.applyMiddlewares(d,f),t.model(n,d)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/s(function(){return O(this,function(t){return[2,!z.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/s(function(){var n;return O(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.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return /*#__PURE__*/s(function(){return O(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!i(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:_(g({},k.default),{setConfig:D(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));ec(tw.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(to,"\n");ed(tw.GIT_IGNORE)?ea(tw.GIT_IGNORE,"utf-8").split("\n").includes(to)||eo(tw.GIT_IGNORE,n,"utf-8"):ec(tw.GIT_IGNORE,n,"utf-8")},"setConfig")})},tj=/*#__PURE__*/function(){function e(t,n){a(this,e);w(this,"collection");this.collection=t.collection(n)}o(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=g({},tF.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];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]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/s(function(){var t,n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return g({},tF.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return /*#__PURE__*/s(function(){var e,t,n;var r=arguments;return O(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/s(function(){var e,t,n;var r=arguments;return O(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return /*#__PURE__*/s(function(){var n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return /*#__PURE__*/s(function(){var n,r;return O(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();D(tj,"MongoController");var tx=tj,tq=/*#__PURE__*/function(){function e(t){a(this,e);w(this,"model");this.model=t}o(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return /*#__PURE__*/s(function(){var e,t,n,r,s,a,c;var o=arguments;return O(this,function(u){switch(u.label){case 0:e=o.length>0&&o[0]!==void 0?o[0]:{},t=o.length>1&&o[1]!==void 0?o[1]:{},n=o.length>2&&o[2]!==void 0?o[2]:{},r=o.length>3?o[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:a=u.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:Y.NOT_FOUND.CODE}];case 3:c=u.sent();return[2,{success:!1,message:c.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return /*#__PURE__*/s(function(){var e,t,n,r,s,a,c;var o=arguments;return O(this,function(u){switch(u.label){case 0:e=o.length>0&&o[0]!==void 0?o[0]:{},t=o.length>1&&o[1]!==void 0?o[1]:{},n=o.length>2&&o[2]!==void 0?o[2]:{},r=o.length>3?o[3]:void 0;u.label=1;case 1:u.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);a={success:!0};return[4,s.exec()];case 2:return[2,(a.result=u.sent(),a)];case 3:c=u.sent();return[2,{success:!1,message:c.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return /*#__PURE__*/s(function(e){var t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=a.sent(),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/s(function(){var e,t,n;var r=arguments;return O(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/s(function(e){var t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=a.sent().map(function(e){return i(e,F.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r,s;var a=arguments;return O(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,g({new:!0},n)).exec()];case 2:r=c.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:Y.NOT_FOUND.CODE}];case 3:s=c.sent();return[2,{success:!1,message:s.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r,s;var a=arguments;return O(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{};c.label=1;case 1:c.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=c.sent(),r)];case 3:s=c.sent();return[2,{success:!1,message:s.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:Y.NOT_FOUND.CODE}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return /*#__PURE__*/s(function(){var e,t,n,r;var s=arguments;return O(this,function(a){switch(a.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=a.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:Y.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=a.sent();return[2,{success:!1,message:r.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return /*#__PURE__*/s(function(){var n,r,s,a;return O(this,function(c){switch(c.label){case 0:n=new Set;r=0;c.label=1;case 1:if(!(r<10))return[3,5];s=X(e,r+t);a=!n.has(s);if(!a)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:a=!c.sent();c.label=3;case 3:if(a)return[2,{success:!0,result:s}];c.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:Y.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/s(function(){var r,a,c,o,i,l,f,d,E,h;return O(this,function(m){switch(m.label){case 0:r=this;m.label=1;case 1:m.trys.push([1,5,,6]);a=t[e],c=Q(a),o=D(function(t){var r=g({},n!==null&&n!==void 0?n:{});return c?_(g({},r),{$or:[u({},"slug.".concat(e),t),{slugHistory:{$elemMatch:u({},"slug.".concat(e),t)}}]}):_(g({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),i=D(function(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(o(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!c)return[3,3];l={success:!0};f=Object.fromEntries;return[4,Promise.all(Object.entries(a).map(function(e){var t=v(e,2),n=t[0],r=t[1];return /*#__PURE__*/s(function(){var e,t;return O(this,function(s){switch(s.label){case 0:e=J(r);t=[n];return[4,i(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(l.result=f.apply(Object,[m.sent()]),l)];case 3:d=J(a);E={success:!0};return[4,i(d)];case 4:return[2,(E.result=m.sent(),E)];case 5:h=m.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:Y.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/s(function(){var t,n;return O(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:Y.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();D(tq,"MongooseController");var tY=tq;0&&(module.exports={MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});