@cyberskill/shared 1.133.0 → 1.135.0

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