{"_id":"@ikoabo/server","_rev":"26-42823a9023871d8db69cda3ecb717e94","name":"@ikoabo/server","dist-tags":{"latest":"2.1.0"},"versions":{"1.1.6":{"name":"@ikoabo/server","version":"1.1.6","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"npm":">=12.0.0"},"scripts":{"build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@hapi/joi":"^17.1.1","@ikoabo/core":"^1.0.3","@typegoose/typegoose":"^7.2.0","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","express":"^4.17.1","helmet":"^3.23.3","method-override":"^3.0.0","moment":"^2.27.0","mongoose":"^5.10.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.7","@types/hapi__joi":"^16.0.12","@types/helmet":"0.0.45","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.9.1","@typescript-eslint/parser":"^3.9.1","chai":"^4.2.0","eslint":"^7.7.0","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.0.5","ts-node":"^8.10.2","typescript":"^3.9.7"},"gitHead":"7212ea8a641ee0e8a2267f74c793616cfddeb8eb","_id":"@ikoabo/server@1.1.6","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-+GblRmoMJFU+xwFz3U0LIXMXI4Pv7R13yw/0oOdkqSolJ9gkW/UoI1Xi6ALlfQsJqezhByhdDKbbNvur+ES6/w==","shasum":"b0d5dea3144b59301667066639ce1f4cccd38d03","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.6.tgz","fileCount":43,"unpackedSize":81048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQhgCCRA9TVsSAnZWagAAYrIP+QCWmZefI7G98PfR98kw\nejYpVXc7/0/1+XTJDMTgT2kAKnX4XYEGUM60CsUqaPvUGq9khyw0fOn2flxN\n+EGT2lv/1v61xEYSUCY1OIdrQiWHd3/UiW0iAxTotKFYBjDqHH38fcuQUpqb\n2hamzHmlYZ61xT1lkV10SOlqt44t1KIm8z8gh3c5y6FD3Uh/7GTUeR55na61\nr2ENT8hqJ4hIJN5gT9ovyi7t/SB9U4ixkxHqcGlucG9/FyNevm87z2aNrfrl\nzVeTWPw4+041HkZ96DMHt2xAOvvMEvqPXuhRYu2AXPCjDLYcmrF1yGGj0hTC\nvTIBz79n6pTZ5z+mVIRFrZFvNFb+du/rYoyNyMZnXteV0ghe6MYG7khHcvoJ\nLMze82HcobMb7K4Y4vC8IHUcbPt7cks9/W3jMGxXPwt0UMWB0joNFmwzv4NO\nayu9A/aaM5EdQVxIdftbvJG5XawMcb3XTYG4nYe6XB8BY8AscJCCGEvkdelG\nkrc8RiNIE6vzo3xi/kdbGEb2ewT73TanhK0TW0MbPpH+AzVPo6gLbHv/pwsM\nS9tPT996uUQJRzskBHIs1XLNYfa6U+6su+9lWbgQD2TjBM97cv9TmdvgvJ+P\nIrFvRFbh4h6Mq4cHN+jmpfthKbS4yzMG0DHfgQsoBd0PwwAEoGx7q13aBV1t\nENUj\r\n=engT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXQaimE3g1QzvfXO0nmCtpZUecXbLmZLjxd/l37a9jFgIgGjytzqAXy/ZbJ5PqH5Q2IRGrpg3k3YZ2kqpTSs2mNso="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.6_1598167042234_0.851833593535734"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.7":{"name":"@ikoabo/server","version":"1.1.7","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"npm":">=12.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","microservice"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.3","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","express":"^4.17.1","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"6145340e5e57559e13d99fa405c7457daef7b691","_id":"@ikoabo/server@1.1.7","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-X8bRC7s54j9XrAdE6rBI67Ctph8IpUOwCmvfh95QkheCBZR4R7LHYN4b8XxPD/vS47Uz24eUMjK2qREXTXSdxg==","shasum":"12de179502b668e63d627eaac47a34484cbdb092","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.7.tgz","fileCount":43,"unpackedSize":81141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUA8vCRA9TVsSAnZWagAAmEwP/0Coh6r72YPJL274RC/Z\ntS4v6KBSWlvsy5pXkIiJ5RgHrDyxjnAeA3OhqwiprSaRAQbZ5uu94e51SQtB\njEVNKy/JQGKpwQ7Os5wAUoFGNabEoNU38YQjhdjuecAhcb78MJWKx170Sp76\n/PSR1Dy9rBYOSKmf8RLIHWYDn2OasgZ7nLpCcQiqIoKVRo6wF4MWHPC2adjn\nGrAowjvjnGBd1l3A4fkIZ8SA+3P4N90E8y0YvqSowcxtaPYrPUE4ghNSvrq8\ntX53tzQnnJoj1I0BrOFWHzuUY+5OX0xNiD25ZlKpNajqW1+JcDNPmiXcZB7j\nQ4uuhsyiqktgoqwfEh0iKVJ0rcWpmzahyvV+vAz5Tt6pLTEgF97v0Acts1ba\nwdWUpqKW7r271A5gErjGjxMyopcLGtpofriWB4t1VIhtmylNIhFsFmGS70W+\nf9vLeNMpAlidBs5pb/Y/Sw2IHYoaDU9r2+q0+7yCGmqXGn+n8DL/LfpT8Yeb\nQZQtn3kMRyGkRRSIOgcRdnu/prpJR8OjGmypQrNfRnNRuUQW2gU80+fvFOvs\n/omtmzmIbOFuXe7b1sV4W9p3PwTidvObxpevJPNwnyoIhFYcpc1CSUj7ERo7\ne9Fakr9nStYO7oPr+a1s/IXBZomN5qO2eze8Ftp8zLXcUTFNWjbq45AV/wCK\n1XoL\r\n=G1Gy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTusxdm24SOZcadZcja8GZtckesfg4awMqtF/zufVukwIhAJfN3kbLG1umdKLXARigooc31bEOawbM0uQuNHmhZJ4A"}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.7_1599082286555_0.6881331931775987"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.8":{"name":"@ikoabo/server","version":"1.1.8","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.3","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","express":"^4.17.1","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"3d9dc6a1a680802feb70522b8be635f3dbed6f08","_id":"@ikoabo/server@1.1.8","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-tjcZm84/H1lHSdMYWgYHDZAmToy1O2FTSsjkkIZjg76H1t2eU5JCQhU5VUO2PixVhu96dlvZMT/8lnGvU75zIg==","shasum":"c3282cf4a80f6cb377af5819a03c164258c04a94","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.8.tgz","fileCount":43,"unpackedSize":81301,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUBErCRA9TVsSAnZWagAAiawP/A4Btf7QQp/9+LpasOUF\n0BULohLBq8OAeGdSFjFe8DQVfFj3O6Sx/WLAJclL0ZbQAcCfrk00Csfne5XB\nf9sME/XK6Rh1oFcMRdPG4dH2Kbs8Sumr1vXMOy1XSKXDgt8r4qL6RAz7HGq0\nPz5Yb+DIBISROO/Co/m3j0RxdJUYYU7zItM6OAx7g3HGPUpA2/4sHTWDp18x\neMGFOMkO250mLPSp+8GcAu9VNjrttAL3zvEXlSTje9U+IRyi+rSvEwq3FEW8\nOrtHl4NbL+CH/j2IN4qF9Z3mZXzq2MUpMLOYAnfD7Epk5rA8hQVTjSwvjDij\ngb+P4TdMWbazTt70GzdvaitbaQCsc9EYzz/CeJ6S0fjhoO1mIS83Ha/SGfu7\n7nSTb79Is0OQnzZQwAbt2KicAB27vcJ9NkiO/VTXInwhNX8Ab+ohLd/B7DcB\nAvcdBZRUAmgXMgN/kCdYimhbp81vnG2BOmjcrF8KDcQ65tLCWA1VO2/6IDic\nHya4flq8IvyooPpXuAMOJTBWvDg3d6iwGCGHl1TQ9eDvqu6CBBNdcCq4Qx7M\nd/7ARYnE5L9bcWDqTLwJlc+vER64mSZhDTKlPwpxc2K1o9H7EfKUMZy43POr\nhS8qfF9XEi+dwr0l2qqdMk/Vt+ZsPeKZy8mjRREIoTtZTi0bdxj1WI7Sn7k+\nizDA\r\n=mMH1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO6bwCQXqHlnhySsDCJa3Ju8zLnsCf6S/Oc5vwBqfpDAIgEbF4rfD8rRqkgYhu9UIdZ/F22bUYuwHX7UZzTuj4wS4="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.8_1599082795198_0.7174235502785418"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.9":{"name":"@ikoabo/server","version":"1.1.9","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"65b94283c63d33733610bbbe9a7fb051397ec6f0","_id":"@ikoabo/server@1.1.9","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Gf0k9ATWAABYmC7L4D/BrrSienAEEtVHTknRFf58nMvzk4xDGq8KBHKcQBlrdCAsujmEfDVPtxR9NYi9xMJhzw==","shasum":"bf0af12da70e33bbc5ece6f3b0d2036d52fdbd7f","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.9.tgz","fileCount":43,"unpackedSize":81396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUWfHCRA9TVsSAnZWagAAl7sP/R4BcSW18vYV5yeQmGJ+\nRc19FV2sAa8RlDJtI1572E7vT7+BIA7Ta7S8lo0ZdxK0sqGxJVaNvum1qKKR\nCxG/nncKGK3BNSVWueKqGNU39nIlfQUNFoRoZ5JG44t2IwkyQpe+0inOi4L3\n8Y1QcvUC8bZS1PFtWBRMoPywOTtlNzscoCxZGf1o56BAveXtlvaCkaD86e9J\n/4jdsWYrDFv+oPTbd9hvaPZF+PQ48KVUtE+euzsH9Vizrt90+BVlctqlXztJ\noUxUsRjI8FydR2jO87b9wBzJK6rPn1cG2k8fJX1atLjo1fXbR9ahkN/KPKZ4\ne+xOnBPfZVuS3dmEWuFSFcrMT4Pe/rOfU7E90Bwf6n2NodaqVilATzDyd5NO\nBa77ESEKldlRKHjS2PMlkx22uDwMR+N8iXoAdSQvsvMmu9fLoswCCeCFI+6R\n7hulbk+P5sYw0eCkwa4uac1VW+CaDCUUKBDzNdrEUBIdmE8t0RDxdfbJKlLq\nRF9wcLcSrOkYSfGp2JEL1Q7s8fV3GOOl0LIs6TFhdqnXagoaA3BWNbQoOetO\nkECSnJD2wJzT/LNWSh7Eahgco54MPvEZi+/+Z8z5F4FIgg6YnD6C5lXTEG4s\nrl4MmdSG8UkhA3MEpvZqY3KPVrIFv/m8oDyxQiLv5zzQikHSnH62Kzwd/gW+\n4YzV\r\n=mRkF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFjxNENnvR3V72o9r8MNBg+Y4dl54l3OqgWtR5VCXBJlAiAaKsq6PRaG8IHJWyxukObk0EWvfyB0+rVA57WchVutpQ=="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.9_1599170503032_0.6991405073938686"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.10":{"name":"@ikoabo/server","version":"1.1.10","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"ea22001ce58b3a56a3b455989cd55e754c02804b","_id":"@ikoabo/server@1.1.10","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-gIVoS4iFwZ2yAPolIun2PLEDfrGWsnDgeGn6K1yR7lUnXjD7myRe2VHPnfShya1xEpBjgxgDTrNnz/2MlR+2pQ==","shasum":"e14ab2c53015f48c6411ee0fb171aef7ae6045e3","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.10.tgz","fileCount":31,"unpackedSize":73947,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWolzCRA9TVsSAnZWagAAvZIP/1i3HFzSr1yq7+nWN5E2\ntXw3ytgQWFZdOFqdI5JdwlQv+3RP67DwdVyxA2b+B6Ox5vHL1DauXPqTX5Ue\n9Unk5l1bBNHDYhgYmDXHS+zh5wF7iuEtkMhOuCEqnb0a++i+kbZUIVpTsx9I\nr3W6WqlIsui5e+yT0YnE+ATrqs1UnEHgRy9WNRx4OCKXtMg/sPvfuEiRc99f\nU2U4JnbYDsKMZU0WHEZvt5KLBanJWo3gglcNzjyZFalfVIR4heAAznFEHcPu\nuRWMFTG8xM8qq6MEaAN4ZZgqEdrSyD8XS6eMrja6SCKMcnFq5os0ahAvFFCJ\nuwP3UWsvo73qYHNiDZ69RL71PyRT/Qb/KGs/iEjHWmTKO5LIXm7+N7U2UWVn\nCK+3zreX0C4Y69CWKgydp6jYHuLFghZCtbOyOIJMJZis4Ia13lGG4RVcjAfh\nmskm23Q+5Xsc7MaHTg14i6fG5h1+cLCP97uN+lbtyZNbw+BkQKrt+OaZ+atX\nKBGWApdHGTyUoh5gwJTZjQExadinFgesHrSDX9cHCLUClcGKzhfhjDmTOx3n\nUltF0N8WW9HSwIOYMYXX+uDGWYXKNPJSIcK7vZp9tElbKJKCTbm23V+76c26\nPrT7vudjVGed8UTrBlBDYwP7Sm8PX8aUL3HKXnyCEEAgae6vYq4SPRxMQ/Wh\nr5gO\r\n=TUpN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxb3tAan0ZRQSHPu0jEIqV5gQpW7YemEwJruKfnY832AiBHibjvysYwRNJQQtfb/6R9xzOZnWejHS4cSFnMTj98zA=="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.10_1599768946454_0.06448337153580086"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.11":{"name":"@ikoabo/server","version":"1.1.11","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"f1952e11590b5d454cb4803d82de5a1cefe12406","_id":"@ikoabo/server@1.1.11","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-tjKlNLKRWBpZsJDGRtaPAL6NyQvssowYfBJ87pdIgfzQnjpiAQqULPy1myummzJCW4s05kgSLz9RmyeyCdptAw==","shasum":"0960a3ecf7356b46fb9bf98664f6e7af9d059d3c","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.11.tgz","fileCount":43,"unpackedSize":80590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXy+TCRA9TVsSAnZWagAARoEP/jMN6DnkYxrIRlPS1YnP\nvWklCEHnuDf1WsgZ0L+X73JH38zv0q3HYA1aQm7CS/hlQd5hl/gPI/UlaK8r\nCESffpUqO9iA06Jdw1gLjsG2ws3PUW4gYTSXcMAIz218oddIf0DH53lgmf5E\n55qZVDIMIU2HPfAKcuXBBoVX2dCXV4JSgHLpKE5av1p2C+imvXrU9aYY6pX8\nk3mddJ+kZlIfKmOwwe/wp+qr4kMkxLLquyFvg6AZana2b/3U0lGW7cQYJAiN\nU9FBHD9NqnG/nxMS3f5McMUq/VhB06Br88eHTxaWMTxJ4rJ1P9xWTGOhw9QJ\n3obsaqWDpz8nUm8kKMMftxhVujE1/ZUa089f6e8J0d5ErUW9Zr4TldD1bdZm\nIsm1n1xeuk7uIlPZOPF7eVAfyLwBy2l76UJS7qC6VsK+qM7D9qP6bGw5vpRQ\n/sh3gP7RXqQk+Z3HBGbwTmWErpRxgiDY6hLRMkKT53+K/Jp3WvnhAoLdmVW9\nVm/yP9/TExe9XgFo7OrerLPGpTeYs4rzzbkWMB28x6xoB6JDT8RB1QvYVNCa\nO15YUiLf98oziFfwuTMMftKo47ptZR0h1Af19PpG0ipE+PYnH6Es/p1zr53E\nUpMXLXr2CqrnISLP8sOR3mqg3C12VcwF5jEi2uvhbeQgNHP+xVkMg2bTf89f\nDrsj\r\n=5rSz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBlQHd6ko7eKCDQ6piSsxKGDLVQZ2kUN6yXEO7dX02xbAiAJ4LNccCSnsgAc+cLEtgkAqUTUX9Oe55Lp10g/QuW1aA=="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.11_1600073619128_0.8369144856905126"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.12":{"name":"@ikoabo/server","version":"1.1.12","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"3f450bfc8ec56024915393659b53f9aa6af34e34","_id":"@ikoabo/server@1.1.12","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-BCFQWR/a18CLuiuh+8fsZlQ6HaLLfw0qaNFdA7FKDLqPuT/WxkDadIg4weK5NmrxwiUqLWDd4ouF0Zv2/0Uj3g==","shasum":"1bff8df69decf2a3713e4f8e362bbf36937abe64","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.12.tgz","fileCount":43,"unpackedSize":80686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXzM+CRA9TVsSAnZWagAAc0MP/jKrXFeBugsJVxQ2Tmq1\nXp3LHZ7xE97tiXKI+g3N3CNAF79gW1HjcMB7LL8RFhwaEha847obqOUz8L/6\nfMF+iqBxjMfjE85vuPdZ3M2HR+R6oOMzrwLl06cHuBefTcvvmQxmlaQV2eWt\nxxs36xccb5HskFs7MNfTKYeDLbPWdcQ4Jt4S254aRc+cKq/A33UoqLz51tXZ\nA3w0ZQFvSAyqWwasSvln9EaW0CeKd9TrvoO27PFg9ot9rOMnq7nkzFlxhd5I\ncm3OFFuQv+xSIdO0LfNkugkcGRbeYfS+CEcLckH0S+650qxoeBr6xUrgrCKj\nQ7DI1chakEbOG9p7nJpH0LRdf8J4az0ZNKRku5D+BG27Fn6kUzLxTcJ36wVg\n/3AJFCwlTVSnLOu3rugw/ln1yLqnxrZEvEiLCkh2Msy5qXRpSRjPJWKkI34F\n+PWNqW9NF1GG/7E5RN7xjEuQNwPQEpjNxE3IcIOWocIvl1eQ3LNm8/3p2j1m\n+51inEfrD8doEtHoSwhc25JDyAUkFOxdHhQk+pf79ALB5PZvjKVtUprQIUba\nvPFMn8oXqg4uOAWPzSBiAir94TdPL+4tgPYTiZ5/Z1IK1OWZqPkCPQm/MntB\nS7iin3gaFzj4eEh8xLqKzDNKtYk1EJ26rULwnsitxAtwY+Cci39igyprUpBu\npTF0\r\n=L5b4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIZnP4AZHceMUTTgPOBy7BRKPnVoyjpqnhRpoFHfbAvwIgYFngkoVCirsp/+zTWmPNJ2nieONpmUBtAJKincl3fCI="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.12_1600074557596_0.4519072181754291"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.13":{"name":"@ikoabo/server","version":"1.1.13","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.2.1","method-override":"^3.0.0","moment":"^2.27.0","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.12","@types/cors":"^2.8.7","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.36","@types/morgan":"^1.9.1","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.8.1","eslint-config-prettier":"^6.11.0","eslint-plugin-import":"^2.22.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.1","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"1a7e3bf9ad3989c77bd57ba92256847981f9f7cb","_id":"@ikoabo/server@1.1.13","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-/yFqr2lkv/BrBnYmMtN0uDvv+TAl/0+0wIqK/jEV4jmCIdnX+8KO8pchZLhhVA7vJaH+28UNmnGxfyFV8dWwPg==","shasum":"3d3d98621f31cf3c809dcbb02c7855d66d115f53","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.13.tgz","fileCount":43,"unpackedSize":80805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXziPCRA9TVsSAnZWagAAwXkP/iwynsexVZpTFDMjl0Nl\njrTkapbJ6vm25y19HD2ZEFpVPA1xJkDfbl32N50jo1ZyR+Z6V+UMT+4MG479\nRJhEJgjWsjh8BnNEyQNNBIJw8TtHwAaBphPWexd9kJsDZZLsqJsgEZALcMVu\niJm6p0tzi+YYT6xZMsL/ys3Dt5GlE9EqpAc3rzpD0+3QDYzQn/YgtNc6TTpj\nw0Vzufar0BYbICU5UCvt+NtTpATJeNrYYrKpoyXFMZJS3QwUW2ljKpXM8YJi\nbxYr+wn8ZRNBeyVtdDR5YPCdWFadcizugMevzT8DLBBTsMpfWKdS9IT+5dKS\n1TQMv1v8/dMjYzC6XEvuWbvieNyx56B5MxZfLnRv/mXc7mSznbHNhoP3GRts\n1QhapG1KZdOehrhcqcxGjfMGQCHNqHKtkFBatn37dn1wLeQ6lUldtGD19Z5D\nUhoQMyTfV4V0ssoS27rVDhmz7H6H7bk2cpeGqDpfQ7bvW2zpipeLRbeRuRJp\ndUYv2uIXOALdPzKLqOlsoN1spdgYS2V4I3NSi3Ky8kGbg9A6joleqj75ymHL\nQyOdcbjm6pFQ0XDry+WtouyiRrR6JvAd5DJwMBJjnGaib3mBT27NpVxmWFRI\nHnn1A1adW3NCquqNtktCV2YWVazkr4a2UMVjomdMPz1fJomKYZGJc8GuILhR\n7g3/\r\n=Na3t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFpFL0iBA9PEvD19tzobAhXWam7fCDEY2ijiXSdbsG+fAiEA3Xl9vXUx8O8R+utpSZ6vOgwkcFHzwmspbmNM3RUBV2U="}]},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.13_1600075918616_0.39287264992207405"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.14":{"name":"@ikoabo/server","version":"1.1.14","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.3.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.14","@types/cors":"^2.8.8","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.37","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.12.1","eslint-config-prettier":"^6.15.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.2","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"f22358fbbdc412cf49fe39bd80e7cf57ed01ee62","_id":"@ikoabo/server@1.1.14","_nodeVersion":"12.18.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-whx7McCYLDZuF9q3Cj7lbQz1qt37P7mAy3WvKmHW9fxPDY5fCKwDYhUuL+YGTZVCo0dRsQDgIJYegmFmAxiV9w==","shasum":"486f410af6d8460be93a45372bb169c71c8586db","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.14.tgz","fileCount":31,"unpackedSize":74938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnlaGCRA9TVsSAnZWagAAtuMP/2VQoTfEh8ZW47ezwl7D\nuZ7iPqzTGsdBERwcy0RW2ufgC8zVqnvPFTvK/2XpYCMdxaCREewbDRc2LZ9f\n3/z71hQK05O69jUq7+KQe9Xf38RZHUaJqfXiLyoglPYvYPC9bEMpKS3BYSuH\n6AXnILDw2ChCNZK9ibob8X/elAQbWxV+AXNCsJBPmg72KudsAsc9Nim7oUG0\n9BKDrxWWnZPi65DGuPQfDF0jJYMwpGYfFxDZ9hUUyWaeXRQtGmfyyYZE7eLn\nIbgyjBhqMweTQ8n6L1GyUORYkM3WIed5FiEmybc+ElqU0xDAsa2BNG2OsEbU\nA9Dc2pnVFvBzpA5oDACI8Pag4cwRoDNHltw/ZGlqF1VqwqLfRKABwTkAGLqh\nV7szEbKu2XJD7XoZ1YtCSxdQl2x3mvt40pHRySYsxaGvKoIGrrEBAcftnPCX\nbGfvoH7Uvc25Rb6KTGAfaj5dCoMGw1IkVtP1igquTeJtTWIpk9M29jk+QKeM\n0U6HNlunTUDZL2NCE00734H3eQkHtKkb9n7EvSdK0GmnoVbAgozeryVVAv5U\netAhzTL5k/Bqn9E+1iZ1sBLZMpmfE9S2wf1nesHJbwnKMTrJ39IsVF4MKTZA\nkMcQ/0n+yQCTHGASu/57Sa+Xxd76A1Wms9ojgay3NNlUl9OQLBXgPgbvXR96\nmJJW\r\n=KFIe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3WX+O6Mp+RtYYXEa7l45edAShfCaaF3Miy+rhK5tMwQIgI16gPMVMVEGPUjTUnOYAATVwFgR1iRRm+tErkQEED7Y="}]},"maintainers":[{"name":"omorffa","email":"omorffa@gmail.com"},{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.14_1604212358234_0.5040636883881557"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.15":{"name":"@ikoabo/server","version":"1.1.15","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.3.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.14","@types/cors":"^2.8.8","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.37","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.12.1","eslint-config-prettier":"^6.15.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.2","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"6136fdc45c311f8adc7d88b6ed994380fe753a08","_id":"@ikoabo/server@1.1.15","_nodeVersion":"12.18.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RU4PS3y8paxn0uscED7VrBQ8Pj4gehi/vlgXaALqNo7hbD8N4q3VFPhM0ATOe6ow0r7uV/8D7XEJFK6W7Ed6Qw==","shasum":"8a1a6f554eddf6f5f0b09176268a18881e3bd7c3","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.15.tgz","fileCount":34,"unpackedSize":77122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoDV9CRA9TVsSAnZWagAAiBsQAIoE8ikA1X0hxHml3B17\nE6WzrHeBJq2QCHcR7SqfIIl3cYa0/77YUDu77uuwyhzjGnrPTdIfuYDRy+7s\nZ8GNiZNOx5vViNqZETwJglpeFJ0oZ0h/LhfOvS0AfwhOn453k8IOt0rtJnrV\ndPFgcDJ4qkR+UNlezsoBA9zlhec0dfp45sXzWAlJVOhSCdLpEM2TJOvjn7VS\nZWdTZmLy1WPJrHucyIKOO5AbkAm7HqVf1j3ivVHsdXCprmexjlyeGZ+yXh1t\nwQzMnje2bTpBt1JoxAZFApvmoIJqGYei3k7ybOI+keePld88PWP/RRKIia+6\n20VYNfmoUArnYZpqa0VqDvLev8PAPCkJz4XGKRwF2VEg+zIspExuhKrjXQO4\nBe87EQDnaOflON0lUzR+RO0qYyX6br4RJtRkUxfCciSx6/8qSRdMIPnxY0Gw\nVGngN0ZMIHnZe1yN9cAV2ntFPJaDN4QieY34T4S3+VPnqmvRsKr7ZoCEf6uw\nqR4hpmcGioaiRfTFcoe45h5BRMPToIHakXRxkVNaEBKFRSac+J7VgOcaQ7pn\nEtzUJqu4cg7bvqwLiT2G+zBvdtVbJsDPy+Yjw6Op9lwC38egOWbuPHkmVlTs\nDfdGN4GUawv64BB5wcJdmnYvrR+cnt65mqaN/FLMbnu8jpLMjZbtl5RTpUcb\nrZeS\r\n=bNRx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/EyIfAn11drVGUZU8+sJazDzf15yT0w72ZsazJ9Q0LwIgHRyK6lBwIFEtvk6X1XNh2nr4gYycDvdkn4o096offbk="}]},"maintainers":[{"name":"omorffa","email":"omorffa@gmail.com"},{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.15_1604334972371_0.13308688959760206"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.16":{"name":"@ikoabo/server","version":"1.1.16","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.3.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.14","@types/cors":"^2.8.8","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.37","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.12.1","eslint-config-prettier":"^6.15.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.2","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.x","mongoose":"5.x","express":"4.x"},"gitHead":"ae3e2cf4c9aceddc8c1b5ac1508a786f6b7c70a0","_id":"@ikoabo/server@1.1.16","_nodeVersion":"12.18.3","_npmVersion":"6.14.8","dist":{"integrity":"sha512-oisNLnCt0mkGYsKy+QTGZBfX/2LNTLu3drn7E/BfpiB1oH3KPFxGsSrRYrRlYgjvkyHNXn5GyEyutTea65MXfg==","shasum":"9a7dacbaa6fe0212ffe299fa55b998f9fbc2950b","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.16.tgz","fileCount":34,"unpackedSize":78280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrBlpCRA9TVsSAnZWagAAj7QQAKQ3iblPewxZA1vMWUsy\nKu7J4lhyA0/Yue0ImgiJGazOu1ax0EJN1iK8e/xoxzKK7y/Kqrd9RlQqeBKy\nrnlJzZHwv0aWsqbsfyLMlDaO7BvFB8bcXZ117RvJ0aBgLhFunSmIJu0Uc+2p\n7PJM0NvEL28ahGXFbdYUIRz7C8Y4VaXMzJpamvlvRcWgIk5c6oIG01U4by2p\n5LG5HjrLQFXobbBdA5F/qjlzVjVmgWX7A9btyjB0myq7Ub3XiZp9TSQYm8Zt\nvryu5tN6neINa+bIsWPkoaHTT9cmOwECM8ASiAS7Z+66ADvGME/jmaBAvmxr\nAHgF/Ubuvzo+Y62Nckh3+Wv23by15LETvvNZykZzfOaTsZigs3D1FdcWvipF\nz9OaeoyUMgIGNm9xrWHYMu3xUgYWF8ozO3Lyh2u7AnszLwv+ogLX3+Sm6/YJ\npqDhN1SI3S1uQMiDTDPyqGzLtrK+1B+Y2JThc2Z9hGXFAg9e8r/4OHn12luN\n3scwfNu3gXHVSTOv2r8Xp4TOK+OYemkpOmUkst7I8iurXojgbY2UyXzt/hE+\nck5k7y3gISHA0loouibt/IZiRlF5hK81qHU2T49YRsYbKn24J39ngQf+u39c\n8NYYRmb40rzC3Sgl1wYGHX9G3WTvzvMyNwII2ZejDvlGy7EPFoP+xQu+h0Cd\nA0IL\r\n=cHaO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfPjlzVJ1h6lKNfv00fnAjwyR351zIurENzK1vTpIYkAiBGPfpfDl39wMnde8VXP5j+xxb3UQkdl5FnYwgzVwJ0Nw=="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"omorffa","email":"omorffa@gmail.com"},{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.16_1605114217140_0.9882694636185538"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.17":{"name":"@ikoabo/server","version":"1.1.17","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@ikoabo/core":"^1.0.6","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.3.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.14","@types/cors":"^2.8.8","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.7.37","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.12.1","eslint-config-prettier":"^6.15.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.2","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@typegoose/typegoose":"7.4.x","mongoose":"5.10.x","express":"4.x"},"gitHead":"91ce61ecbe8fdaafeb87fc743ff1ec93fe9b0934","_id":"@ikoabo/server@1.1.17","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tUobbEFi31rqysWKzCuZHFbRac/697RqceU4gG8oqpUF8w4qBzsB/45DS7jjpj9bGbq1Jor/VUG9wHLtiyTKdg==","shasum":"3be5e41811926dcd8a57b4e1b4775e228bfa018c","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.17.tgz","fileCount":46,"unpackedSize":86483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyZhhCRA9TVsSAnZWagAA/WcP/0W3b/DmN5F9D7w6MN9G\n6aujEYsDaIRs4GNXxrxcmCW63mxIL+N8dahnv3uunGBVWCyOjZOgi4Wjyued\nd+xdMSWHnFyRrn1YUun66aYCz7yMaqg73x7A7DSRn8Ns2wyxx1SvoArpnVPP\n++0MSJJcNDZE6al4BMy6y6aTr2tcCmm1aQ5aT4eTxJdVq7nGWQLnhGkstb6m\nYdHi3GtCDjCJtGFg9KdmqVnDTdOFwwofEZEIK21IQl063qCLpD8Zx1Cnx8zI\nEpKLMIO2TX0GRxd65SgQR3F59TvMeNXOXUSgv4nYRG9RO43qsvYAgAgwxrUC\n6uNtAVEu+RR79mrJKaHZmVxO7P+3oxPRX/+zre3Vm/BLxk2ZCghXmSS7PgpX\nXPBhWEF4CQ04mnq/s+/uIe7ANdZwtngztgNROFskmSE30ld8wlVcnNhIGTRx\n57s6ZGX0T8J/w+V9kCjVVykqaaDTFSmK+CzXjULG86NwxctI4jMzBup38sVu\nchqG6GvL1CGaOd+Mc+SJRfvXD9p+ADjU7IFquWFxNGx27zlG9yzqHkP7nNnR\nxGm3z2dPXuSq30UdtJEBc8NsPySaUwkjohGNJAhPeutABFluvtbn35NVGLSo\n91QowSiIwbh6BukX9YicfFVOFFcSEBIjwcYoAGz8fDEkUSIsedomSJqBJHpq\nEBUF\r\n=ay/4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBiDr4bQYbnRi8mgp1B7gH8uCdh54KCX5uaU/w4cH3lIAiBwagygorSFdB9rqY4hNke8ebpSqXyL4yPq/IsDH1clQw=="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"omorffa","email":"omorffa@gmail.com"},{"name":"rmillo","email":"millo@ikoabo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.17_1607047264332_0.40198376889811094"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.18":{"name":"@ikoabo/server","version":"1.1.18","description":"IKOA Business Opportunity Server API","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^3.23.3","joi":"^17.3.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.14","@types/cors":"^2.8.9","@types/express":"^4.17.8","@types/helmet":"0.0.45","@types/joi":"^14.3.4","@types/method-override":"0.0.31","@types/mocha":"^7.0.2","@types/mongoose":"^5.10.3","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.16.0","eslint-config-prettier":"^6.15.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.3.0","eslint-plugin-unused-imports":"^0.1.3","install-peers-cli":"^2.2.0","mocha":"^7.2.0","nyc":"^15.1.0","prettier":"^2.1.2","ts-node":"^8.10.2","typescript":"^3.9.7"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.4.x","mongoose":"5.10.x","express":"4.x"},"gitHead":"969323407f52b0024f167f439cc84bbe6d95e255","_id":"@ikoabo/server@1.1.18","_nodeVersion":"14.15.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-BxLR6CiDe93DdtT9P0z3fc/XBIyiPm8ar+uWqEErVcq80qAnI6ir5oouWcoCTQmE9SP50DmXCYCRo4XinzoWmQ==","shasum":"ea1cbc3ec1fffb2c18ee0330328d5f13cc485bda","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.18.tgz","fileCount":46,"unpackedSize":86579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6AXyCRA9TVsSAnZWagAAw18P/0Hr8uh2qG2T3tMM/8lY\nEuiBBTh468Jqwv5/nb2hETOEFsK69Sb6lye2RoErYH5mU1QseJkZQ1tK2OTS\n9aN5CkDos8ozIbLZE16ktpKuYJDH+0cCzwwU5UwcjLTi0gjiwWtwLcSwagRp\nC45mCKVj9m1LGwEk5JKkIPpmOhM4LySqIyMyH1OebD9Sn+3W3Za3H5EszRQ3\nGLfZ4vNhQDYEjHKvvWIfs7koTpJqvjAO0vJQzqYiQ9bJD2FKHEJ5CMFMLs5S\n6iQW0cG5cv3/wdHTXA3/+eN6dhh/tFrhUv7FJgzVDQ6aLcvJAGBwAAehvJau\nEAo2qatTBExq+XQGsjjwOjOZaKqyTKJrqLF2w7DtvqPQKcTJO0xIALZXokVj\njEkvPEKNlFp3T0sj0+xP1whHrDfvcEXEVBtYRb4zOo4rgaBFDE9+Fjf7EUKI\nEKAFT0NsJEMwZ6+v6NjrwFWgZymETKsTTObuT9thAfnQDVH0zAzZ+oPi1FMj\nHsDA7zzjTCCLcR8FxP3U/LNkay3L9PPaEg9jeg8OAlH66jhBetexuFjeJkqs\n5PcZllkIK8Ai4CQrNHi/5cpFlJAC1tUVzPMa9ncNJehC8ZrZack44XjKjnMw\njr2ceM5CzpVprmzv2NU1BKRXky0obyykfY6QqjGWLSEjwyTwvtm+nJiXuTX5\neUTc\r\n=DS+b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRxSz2YbKCD0IKbcx45obgGZH7AxLtkeM0KgNNS5h9eQIhANUoXaZ5PfSSeWjKfA8W/8+0I5QNhEVCeIfVcowrSYGG"}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.18_1609041393834_0.5269850598552537"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.19":{"name":"@ikoabo/server","version":"1.1.19","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.5.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.16","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/helmet":"^4.0.0","@types/joi":"^17.2.3","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"^5.10.5","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","chai":"^4.3.4","eslint":"^7.24.0","eslint-config-prettier":"^8.2.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.4.0","eslint-plugin-unused-imports":"^1.1.1","install-peers-cli":"^2.2.0","mocha":"^8.3.2","nyc":"^15.1.0","prettier":"^2.2.1","ts-node":"^9.1.1","typescript":"^4.2.4"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.6.x","mongoose":"5.10.x","express":"4.x"},"gitHead":"3bca769d6634c63ac0712a4e2b44079cb0b4d568","_id":"@ikoabo/server@1.1.19","_nodeVersion":"14.15.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-Z424kCxJYoxzLTPmOvJEEu3pLXQKYXW1nCCDeYhPVBjIIp4xsjFaEmVFxQtffURQpFc7VRqtWeizyQhcYyBIQg==","shasum":"9922295255e0cf3b4965ba134abc9f5fad87fa98","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.19.tgz","fileCount":46,"unpackedSize":86862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgf8j/CRA9TVsSAnZWagAAWloP/0HGzvU90e3QfpSMmezt\nxahe+dhV/tWEblf5dis9ZjDr7q6yBnBXEdgzcY8My/gF/+wYLAe8v4O27YGd\nAaaIeeDPx3rYyhnhET8C+LSBR3ln5EI+V09L4V+Ztnn/D9pJp1tTO0RgD0wB\nmiju5GfNWlcpX2XEg5cLlFIr5Hp41dhXKVbKVu4tfsqiginXqv1QvTnZqB3/\n4mYNxWqg0p6vOAwmP77xx+CmMgZQE4Jx0817ZleUbLHonrGv8CY4WajF+pnP\n5iQavzWLhLNG10Dhr8mtCd7GJoJt6bw/FcyR/ytxQfeYHyLxrtEU3YcFhDVS\nvIOQJ9mjlpcKUfcJCXLPFiP0zEW4xhp8HTc+AQRRyGSQhgvsJXikLRd9DfPr\nen8lKt7GIreeOB6eqpD91iXutnsMWcNIgWg5t5KRG5TE9d7IfjWMfCarOt2v\no8rGvtEwOSNpqIZ1joEPoIGQsNCrdac9GqFkbjDQBS8nVYP6dDHp8YAkim8m\ncuRRqwMQPmSYQbMdi8Gdl+82Dg+ao2Kn4+asIO+JLyhgX37Ovxnz1VKZzw9P\nEYYC+MN0d6xi83lAktaNEkv2prFU5oBEM4SpqckmWD9J4hBG1WPbuPYkTloX\ny2LT78srryiosyUL+tAu/FwxaJivHjKUXnZyZ7wnS6auqz47Eg8ZXISKZBvO\nxo3o\r\n=0/t6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYf77jepK7+TZ2G1wgrAOpz27PGZOssXSOhEoDcHlRewIgOOeou/YcebXDlFJiFuvNLQqAm729kVDY8Wtkb+9T+l0="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.19_1618987263146_0.20283828090159406"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.20":{"name":"@ikoabo/server","version":"1.1.20","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.5.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.16","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/helmet":"^4.0.0","@types/joi":"^17.2.3","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"^5.10.5","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","chai":"^4.3.4","eslint":"^7.24.0","eslint-config-prettier":"^8.2.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.4.0","eslint-plugin-unused-imports":"^1.1.1","install-peers-cli":"^2.2.0","mocha":"^8.3.2","nyc":"^15.1.0","prettier":"^2.2.1","ts-node":"^9.1.1","typescript":"^4.2.4"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.6.x","mongoose":"5.10.x","express":"4.x"},"gitHead":"3283b0687fc91ee126ff4f4e8916a7ebc74d4217","_id":"@ikoabo/server@1.1.20","_nodeVersion":"14.15.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-OW5EnuHrR10TNYoVk9+w7TH3PORHTqD2UmlW5FhtwII7NDOEWWuBZMrXv6WD/9xvt9+vtuXM1etpsw/fsP5Ihg==","shasum":"33bb9592a375883c7820caadae41d0f863361e53","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.20.tgz","fileCount":46,"unpackedSize":87306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghS6/CRA9TVsSAnZWagAAITYQAKGJgoitQKLzwyRFxi6n\nLPNYMODso4p9O8nqzll7KwKAIzNNs/BPB4OnJV6+LUMOKS1g6Uqgw+uDLlPx\n8/v0Ls2dKpErFkDP6JTW+BLEPHDR74pp1qMBQzHE+jxDnVainbzLjyQCCyCG\n8PHI3TK3yGF07lAJC2K+LLgRV4TUyCfmt/UHKiknj9C/k41nmLoez1LMpf/M\nt2KMCioVdQEUd+cPNg2qccrVJpSCpbe4KBtjCoMhyt7f2vbHa0ko6iRXdnbO\nqkP8w0NQNa7wi74vwxa7/17oQe00ygRfVIVasqafaCrxBh0Xs+LvBMQo4OQH\nZ6b8S0OgQFn6/X1/jQsi/dqDjwBs7qMUbQGuaXUVLa/xbpyepntuEW60lmSW\n7ehIv/6L3PM5SlO/LOgU4OVtB5MzVQTfX+nhiPUyMRbTn/lEZM6nKN3X3D5X\nppbMX/1vd8zBVOZQvg60rOS+2J0HKpsiawLA89HOoqT8/outocN8IlRx38a0\nyyObjGAYvP5eYVUuaggFKkLkoNGbWooxzuguT1p/ygm46MMH/yRh+VYxFkNq\nBcjxNZ59JAfUDZjURc3AoNNpWrah54IK8z2XlYWuh7qgrKxh46ax1X3nYhGw\n2BPOD5eLjLdJv/OCHj/S78e8Hlx96jldqwDPPm5gEgIhD9g98Hdfev+t++7n\nvoh6\r\n=ZFuC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfXGczRrkOJT3i0lTHU6H/NOrHS/nqTS/TFXfSq6Yl+AiEA0zLZFjNQE2KpgT3+QMHd2udkA+mVRLN5Vf9pAMoOPcw="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.20_1619340991353_0.5803715882087848"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.21":{"name":"@ikoabo/server","version":"1.1.21","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.5.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.16","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/helmet":"^4.0.0","@types/joi":"^17.2.3","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"^5.10.5","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","chai":"^4.3.4","eslint":"^7.24.0","eslint-config-prettier":"^8.2.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.4.0","eslint-plugin-unused-imports":"^1.1.1","install-peers-cli":"^2.2.0","mocha":"^8.3.2","nyc":"^15.1.0","prettier":"^2.2.1","ts-node":"^9.1.1","typescript":"^4.2.4"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.6.x","mongoose":"5.10.x","express":"4.x"},"gitHead":"647f0a24391a8364c3ba1e588085f601ddb8f30f","_id":"@ikoabo/server@1.1.21","_nodeVersion":"14.15.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-O+1NvSt/1yvewKdFIQYiAFuzVKiWFzjycNPBlpf1lTCzmmTINFHRS1PJWIx1E02x7UbJOv/FRAHJa5+x1SX5cA==","shasum":"df2330e3dd1be267887a14f9a331adb6cb493b1f","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.21.tgz","fileCount":46,"unpackedSize":87356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghaLgCRA9TVsSAnZWagAA4JUP/RSuup8M1qy++P+Dfgmj\nwSARBNcqva3KljfS+kyyJLndhOUo03HGKU9VEfivVdbmdLMPRzT3QpkeAcyJ\nKZqe08YNoTU4sNar6/uxgEWmkFdGLh9QrGrSoMbhNDOr6IaIq6gNZytMTihM\ne5jG9Rr9h11q1b5AVGIRkzWv2c6LawViNwZDlUo+M1LGBqwUaphqWaSx5MuF\n48Kx5motIhPH0v+iKA3RgqPYSMOt+SOcJzdIqIkDmXsnNPXatJvP7Edls6eW\nCs03djj9aHOdr+Zv0Sos6eb18qCqjNHmBBRTfEiUWiZzvmmx3aNlzqGHRndp\nsMEonM7DXlF4bD63QZTWOUOHz4O1AM99tHuiwZkLD5ZYpkkMyTLd+3E2ug21\n8L4MFtq5b84IQ9TB1vZQxXVir959ni87RzsM2iqfMYoZnDwwiqe8jgnqH+V0\nqGGa6+Vf8dj6+DsFBVeLYdXVynsLVjNWFnTCDpUO9ik9QwXqwgSipLdDEysx\nDV6hWiETm27gIIwT6QMdlYjORPlfWyqmOwwW50xxMPiUwIBUZDx2h1ppfrpn\n7bZ/FoE271Sz05IDVdv0lyxAD5fTOkqRJwN7V/ISe3KWtTVVlDDh6EjNV2Z1\niXKIvk9WXKNaZDCjKE8wMpiPXrvowxeh2FVNJJnhLuhRzzW+U62BYs2BZnTI\ndhqc\r\n=AIm2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAzbeDYa8zo/YTeqGJ/2/pD5dr1LV1fC8jXU1rbWkDF7AiBN9Ig/Wj0nWu+3X38X0FiScDlFw/PDAeORt+eBBy3f1g=="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.21_1619370720114_0.3875462068892559"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.22":{"name":"@ikoabo/server","version":"1.1.22","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.5.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/chai":"^4.2.16","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/helmet":"^4.0.0","@types/joi":"^17.2.3","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"^5.10.5","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","chai":"^4.3.4","eslint":"^7.24.0","eslint-config-prettier":"^8.2.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.4.0","eslint-plugin-unused-imports":"^1.1.1","install-peers-cli":"^2.2.0","mocha":"^8.3.2","nyc":"^15.1.0","prettier":"^2.2.1","ts-node":"^9.1.1","typescript":"^4.2.4"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.6.x","mongoose":"5.10.x","express":"4.x"},"gitHead":"8ddcd4b8dc015913a818121667fffc2f66dea412","_id":"@ikoabo/server@1.1.22","_nodeVersion":"14.15.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-zcLAs/rOeHxU3mV/MO8D3zjWGIpyyX4vEL/IHOVBEI8NkK+clLXAZ2ut/3lX6zL+cgkssuoDqberkvnBzZGIXQ==","shasum":"3c9fe84ff7687029248254d6d62ca37fee2a2585","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.22.tgz","fileCount":46,"unpackedSize":88655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjCnfCRA9TVsSAnZWagAAb7IP/RNRheC5UT2H4CFHAyxz\ns5CNWANj0KoAqc45TA7+kgsG+z3oxFtCAhGi6RP84nS9QwRw9u9QpBnFA15Z\nKOs+vOGmfKkZnvh/VJHNG1lWo6CcrbsU9iKrL+QhveCmuORyWM+DvIj8gU0w\nzjZ7ajMkQm8Io3M7+9r6QkTp8ZsSlMvzvFGC+3OfeVto3nZCauL6XUoHrVfb\nXwQCvjHUEHD22yJy1kyfYjMLoi/k8r+XohWIukcnm5Ap+UgfyyNZGf+FDDwi\nTJySGqb3SEy5TVFTYnAsPRruGQ/7k2EBGMz+geN4G8dX0L4oQ8sULv7XNHJj\nWC45ND3vd+jO5wl26LbBAf5uUxR9vbQlPzObPOwh+FRRCXR7KxNSaFAn6XK9\nmNyG5YsEzhGSLvX8VNgn+o7mFXazauhGA0YK4GxMZGuo7Ffc1Ju2MMq/anU9\nDdO4sBKSoLQPqF5U27LME51UmLf6hziFKCOrKd9fCKZWN/n2gBwLv5t01Oz4\nkUTqQZS1VsqECTzHQIrLD0aK8wyPOJEa4QCmuI5a8nMgwfW2UGd3IfY4OA/l\nHkMHDaSnlCtkkZ6b4nZFfoKOuJlSWeLcJkUmPwwmx0rPPomyfOBqVj5htoOZ\n1OUvg589B0Y+2rUPLLG1iWY+o8z4pKIDchzEtBTnVfv55J6auXf/XWpipeia\np2sZ\r\n=Gwc0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdqeTgqJsljCljJYSPl8+C3Xk1Xu1RmoUYLGwaZFbZagIgLuy2TDQI+wze2m9lKcGWuU0D/ETuVAsL3b+aJY/Qt6U="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.22_1619798494567_0.07894146005403102"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.23":{"name":"@ikoabo/server","version":"1.1.23","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm && npm run publish-nexus","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","publish-nexus":"npm publish --registry='https://nxs.ikoabo.com/repository/npm-local/'","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.6","@types/chai":"^4.2.18","@types/cors":"^2.8.10","@types/express":"^4.17.12","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","chai":"^4.3.4","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","install-peers-cli":"^2.2.0","mocha":"^9.0.0","nyc":"^15.1.0","prettier":"^2.3.1","ts-node":"^10.0.0","typescript":"^4.3.2"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"8.0.0-beta.13","express":"4.x","mongoose":"5.x"},"gitHead":"8ddcd4b8dc015913a818121667fffc2f66dea412","_id":"@ikoabo/server@1.1.23","_nodeVersion":"14.16.0","_npmVersion":"7.15.0","dist":{"integrity":"sha512-WgR4nCo6BhRiHJiZDlVDuCTgLIvsh2EhK4NqpqbGTYGyljl7Tvc0LyEjHZiqCR8e7ult1S9J/nZmXe3wOT4oDg==","shasum":"4f43df3686240bc4562ee4106a3a05d77125cfe1","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.23.tgz","fileCount":33,"unpackedSize":81089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx3MpCRA9TVsSAnZWagAAni4QAKSvmbqpgsv8EPM/HnxR\n0KIAsoRu383Wb1ra9DQ45CARIuL5pMaCK1iRrgfig+jLWxbOXkPEN9jlblTZ\n4MnELb7NVPhPFym0jc2nmBpYG32uBKJcDZYqGmaULcTrVvFEYKLjxXSLcAdD\n853VkxXe9ytaNbG9DwxJq4UT2+ZnAW2VKSVA6TicyOS7o9misMhI4u+EVCIB\n7aXiqdHrGUGYrs09zP33EBiE11Iq7q8J1n1Y6jKTQEDZ0wESwKsGktKObw6v\npNlJxr6jKpUws1HaXNzlbmYaIEvPvjeoq6kGdUxt3e647QGVBosB2JLfgpCB\nUijGwhP2WUrHJtbbg+QyZ0ZVi9R+wkJ9MdSQoQeKYdV5JlXpVE6LY0jh+3aU\nfntzHL1IdUU3gxu/dmN65axw6EVSxxGPOlHWhJKBEvViqAskWUasM9WagFjX\nlPQgHC0TwIlegU+m2A3+cTdgYiTZwKJVRljRvbUTx86/S3AlIdBwwkc3lgAr\nVrWc2K/t+Nide9pQiz/xbvJaUAK4TswgEMe3BzlLpJxnubNYL7EHmidxXgi9\n3wexHPw5x/I2sEOdIDVu0AX8pOD8LAix9ovelINl4dQLq/CPVYbqdF1VIDoG\nVmVE4i98Qr9M/7E/yNgiTjrlQtCuGr/UFT2cp3XZWudDVYQ6iz17iWo46g4C\nid/2\r\n=ClTc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuDJ3IDHirc+WGMp30EVHfV3KLQVbQsuCKi5y7gR3+6wIhAObxDe8WP21Vfg/E7rTtJcTLFT4wO5BkBbNdu9FXYd/W"}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.23_1623683881297_0.2876632970723503"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.24":{"name":"@ikoabo/server","version":"1.1.24","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.6","@types/chai":"^4.2.18","@types/cors":"^2.8.10","@types/express":"^4.17.12","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"5.10.x","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","chai":"^4.3.4","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","install-peers-cli":"^2.2.0","mocha":"^9.0.0","nyc":"^15.1.0","prettier":"^2.3.1","ts-node":"^10.0.0","typescript":"^4.3.2"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.x","express":"4.x","mongoose":"5.10.18"},"gitHead":"553f6d3cde96f137e6d686d8a6803cc110acd9a0","_id":"@ikoabo/server@1.1.24","_nodeVersion":"14.16.0","_npmVersion":"7.16.0","dist":{"integrity":"sha512-OdWQ5FQ4paSbv+fIkejHgyW+IoFYpdlc2QlyknhuCvvdfcr0zC8+uW6b8iEFgp/5nxf0Kvaj2uoDO7Lo+ZJRwQ==","shasum":"9321b09c7155c3d4f79426314676bb19cf2a4117","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.24.tgz","fileCount":33,"unpackedSize":85203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy9eZCRA9TVsSAnZWagAAcboP/ic8P8LlgKbxDhUOblQ/\nyWvTt12qJGhQvZrLS3uGRYckbNVMhvGJbMC0kqyxCyVMQ2a/pa+Vqb4Syeiz\nMweBwrY0JmWr7bK+tw0Qxb5peE5LSgEpklvEgcPEoTXPyAO5eCFCQHTvyLjR\nEU1hkQ3trEzZEMmcKJJjqe28caFysT3Jpw/heaDF8xyXdp3vB2QutpFd4/Il\n2pCUius/xGPY6lqDQI3IU9KGa6pzfO1yHvciUSg8OzUQJHHhku6t6pFyKBfP\nqbBERNDSXktlT7xZi0NqKnpRaZVlYvi4tyniOzRDSgu28PyyGOPyR134+SCp\n59aL5Bvyuy5S3R3lYzWVJTyjsWh1kkzC6QUskH3og4/OeJznXGGoKnFuzdgR\n8inDC1EKEYcdvh8+aXoy7n/d6kbWseycf/IErdg6VDfPtqrujhMGLKEmtmxv\nV/HovVRWO5YiGZACg9yNggpJuCYRltb7oyyXgwUdDZ3SWvSQVl4GPM1Vnv/z\nPnajEK/N1xeM8VNRW9gqWTWRAljdKay84+vOS0hQ1X0JN9gUrShVFyQFpnTY\nUOxZb+bBCrDX6+CKMjn/9WWFckkfHYhwDliY6PWdufWg1yPc+aPQpZWKHTQ/\nIm7MWQfaca7WjdgGX/1W9UCfjngk9wnX6GlXgH3TH9kDgj38XhczU7ibLsPP\nSPUY\r\n=0M90\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHnG1WO69f1UktPPl/lvAMPGShbBwoL9aUMai8TolxLZAiEAyjbwLQ2uepaT+Jb97iR9tt8jwgUz8MRt/GmkD7v6YWo="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.24_1623971736652_0.33726211905093395"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.25":{"name":"@ikoabo/server","version":"1.1.25","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.6","@types/chai":"^4.2.18","@types/cors":"^2.8.10","@types/express":"^4.17.12","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"5.10.x","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","chai":"^4.3.4","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","install-peers-cli":"^2.2.0","mocha":"^9.0.0","nyc":"^15.1.0","prettier":"^2.3.1","ts-node":"^10.0.0","typescript":"^4.3.2"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.x","express":"4.x","mongoose":"5.10.18"},"gitHead":"ae66b4fc0c329244e38e0f7769c87408397576dd","_id":"@ikoabo/server@1.1.25","_nodeVersion":"14.16.0","_npmVersion":"7.16.0","dist":{"integrity":"sha512-ZSbiUq/zRSiVyGAmpMUMe8N+qYIuZEmrGD+ZB1NcGRN3/Kss0c4Ho8d8nPfXqZ48GJulPcuJV9iPYgEjJswX7g==","shasum":"0cc4b989086480ac6075a11d9e33dcea1f804f5b","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.25.tgz","fileCount":33,"unpackedSize":84885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzBreCRA9TVsSAnZWagAAzRsP/1voMLEQw0Jiqr8Z4mq4\nXFybiWuJqobffU/eKsQ/hvIbpaqkyYQzHRtUPeywwFOTyg/F5ZPMSIGLoVrl\nBaIj3Gx18LAW/sTsWEKzxZoUgzxS0BrqqGhCTvw2flT1kJzb1aKRgbCWH6Es\nFRa6wudBw1xkLAqkQ2WP1IfR7LANYI0Ur1VsXUNT3o2KmmZii/3mUKWoyGkZ\nqpzqgWu000sWxS7QPZcGYdXWMsaCv29vuangWDJOOpSQNrNulkGr1g7AA9WY\nGGH1/zVmqKidNk0wbE5UZamon+5dniHXtC5Z6SCiRZ77zR+y56TxE1um/G6V\nCSzsPLW9f4ZDx1ApBG5bEph+NUXTdpeOZ0hAB494sjMTPLfFaBc0DgCFOR3e\nh98xX/iw5cKs/6g84amoSaHb+UfH4WP8BOX8gtW48hLVvScv0sqdjnnuOTdA\nTLC9KceSimZngAIWt4WqGdiFt6RKgJcVdnL80krFdkoEYOBNIt478DNPsDN0\n3U/SGsNGhVpIRkkU+cOnL0Is1Q9cRcL/VtBDhY/2fa1/i4g+z2aDbMKQvSC/\n4jAECcMsaUEmTKh+IErD7YfeB2wb2tG3rxVbt5pYhGZTec5/yI9Q1gYS+9N1\n824nKQnF0jeGpy6C7zN08DcnSMVKnj467Ij8EzT+WcnKDqeCtewqp3uvf0q9\nSPgw\r\n=w4sp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTmLuVjbXKNdNB87pyzzCAahdvgXPULhziPlgE6Q20XQIgUusi/kwWNzpykiEAc52tOegAYlWhZ9CzQVE+y6l9k+c="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.25_1623988958456_0.5085710508229011"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.26":{"name":"@ikoabo/server","version":"1.1.26","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=12.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.0","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.6","@types/chai":"^4.2.18","@types/cors":"^2.8.10","@types/express":"^4.17.12","@types/method-override":"0.0.31","@types/mocha":"^8.2.2","@types/mongoose":"5.10.x","@types/morgan":"^1.9.2","@types/on-finished":"^2.3.1","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","chai":"^4.3.4","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","install-peers-cli":"^2.2.0","mocha":"^9.0.0","nyc":"^15.1.0","prettier":"^2.3.1","ts-node":"^10.0.0","typescript":"^4.3.2"},"peerDependencies":{"@ikoabo/core":"1.x","@typegoose/typegoose":"7.x","express":"4.x","mongoose":"5.10.18"},"gitHead":"ed99e3663e89399050ecf748e7e33ebc3fac9544","_id":"@ikoabo/server@1.1.26","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-zs9Fm7MSXIBKvnDeWKys4jUmIAXBaX/6FiOTqA/MPkt6JAolNX65UzXoUVy49wWPPa3n9sXyxnpRW1fztLXMKw==","shasum":"7013270c896f1e75983bfbf7edea2278d723269c","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-1.1.26.tgz","fileCount":34,"unpackedSize":87186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3eMvCRA9TVsSAnZWagAAQScQAKSbBoLnJchmp+d9ju2L\n1TLDhJRBm2++eZkLig2/PDl5f1F7SczIWBOSxWUWJMz06wRqGodiv4yQ61+w\nFQG/elkaj2EDm1f4Ezi+wV2e7IjKALHGOlbML0zse5bGU1+BFm0+hXiOmqhb\nzwVQOnPtUFczr56h+ARyUWy4orJUIHf5pei8eC1msWl8SqUA7bUA0FUboCKo\nkHE7WEKH5Kz4uv3sjong3pA46ki8tcyJmiomk7zRxlALG2zm5ULDQo2WvI2+\ngLyAEuvDzLefCoW4Ba9298RJwLyJioAjiLwxsZWZKkubZlpPped39R0TqVyl\nLOh5rjkjkMv5I8CRIDf29nSkiouf1Wrdbk81vyOg6FJnDttYjT+sBWGRmZCt\n2zR1dLeoMMp8b7wQcZP53xwiV+woxILewdaOUU9CAzzrZm7gODe1x2qnqWog\n4ar0HLxa8YAklGpfJTy5CjHozH9ZN5UAJni9xQE6UFsd7YYK4DK1Hjo7a0tU\nXGWACSVrW3HCKq7c2GzQ1vCvQE+/9kyL9s273bG8U3NtfDihuiYXFsVWPUwO\nHguzKuIhWpG+YelFfxmTGyEGN9vL31erjhih4Y57cE3QJC+R2cP6JKHTPy+R\nM4AwXRsxXJJyAfP/aY0vLZ3do5o6EwTt0ucSd/mwU9FQYrYve1ye0GukRpmV\nARyY\r\n=BSMY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHMBdokyWOZtRK8hQyO3Ozv6pk1ql5zwoBBtHkl0DH6NAiAYS1LamkqcO8yh16sK5o9kzxddd72HDbB1Jft1q+bD3g=="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_1.1.26_1625154350882_0.42052684557933606"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"@ikoabo/server","version":"2.0.0","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=14.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.2","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0","sha.js":"^2.4.11","through":"^2.3.8","uniqid":"^5.3.0","winston":"^3.3.3"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.7","@types/chai":"^4.2.21","@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/method-override":"0.0.32","@types/mocha":"^9.0.0","@types/morgan":"^1.9.3","@types/on-finished":"^2.3.1","@types/sha.js":"^2.4.0","@types/through":"0.0.30","@types/uniqid":"^5.3.0","@typescript-eslint/eslint-plugin":"^4.29.0","@typescript-eslint/parser":"^4.29.0","chai":"^4.3.4","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","install-peers-cli":"^2.2.0","mocha":"^9.0.3","nyc":"^15.1.0","prettier":"^2.3.2","ts-node":"^10.1.0","typescript":"^4.3.5"},"peerDependencies":{"@typegoose/typegoose":"8.1.x","express":"4.x","mongoose":"5.13.x"},"gitHead":"77c0aaf5cbdf348c7bde95af79898e3392f10d63","_id":"@ikoabo/server@2.0.0","_nodeVersion":"14.17.2","_npmVersion":"6.14.13","dist":{"integrity":"sha512-CyfApeEo+dlDQmSJDxP6QwwmO7RdNS+kbmfzrf2SROkHpPukUm1tlcGKmqMWodX4vVCBnqmOcYXQR+42nZMTRQ==","shasum":"cd79261e7019a5e5e180d665c9576aeae91bec6b","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-2.0.0.tgz","fileCount":61,"unpackedSize":124040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCfWiCRA9TVsSAnZWagAAP1oP/R0CvDyydEyIv+/1Cg7e\na9Dt8jae7BGPz1wKX1StKxODh/jcI4APVVQUcD5ITo12oFwZcQGsPOm1b0eY\nuS8nrxYug1dTG3u4ssjWgQ8dgHEzGV27X3iCMLF0h8KB5zABqKGhiIrK/9J0\nbI0MErNyf95FK9EjVTdBDPUxAmsQqVyxtFh3386N2/8MOoog9h0WKCFse/Tu\nrg9NEaNam1+wW4x7o5H0s/QVyJ4MlPOiC0uylHMcJHGBnD3l4gv84f7Vl+he\nOxEdWSPR/oGiusHFcFo9Xc9JwWODUN7V2PZpPMsNjye19iaNub7yGjD2vrcN\nxjXf382PeaLdSJf43k41veybKqvkMpX7bbaP2osCH+g707+o/YfaO4nnenTc\nQX5WSXhTTWlhI3apLzO6XdUaCDb75f8AIEvcUo3nXaTMBo0WRR7qbvqTiq8r\n6nxR6ZzoRKi6kp+ZKrcTiUpp07VyFc4DnW4y17XVUIdJqQuNKELoTsqFBVba\nxvAEQWOBtizsfUZjeZB5rJTs5aKTQYsr/2Z8XFOJpGJBT8VnmFia1ZVjxZle\naDukm7qAYdCAjlurnL/2QUCtLgbFpqDJyQ4GT9L5uYIjP02r6Bei8EORiu7n\nQDuq43bLrDDeRfk/O+CVW69V8NRCnQUhoj66xsGDFqyiSUBge5BztK3DNo6f\nJqtB\r\n=YfhF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1VmaqdKFkRnvidUciM7VkWmqGiTOtKZUZndAGli+fjwIhAPzzug8imVZVHMTew4k8WrmHgSxYD0t//n5RfTeXSkG+"}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_2.0.0_1628042658437_0.24347419727982067"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.1":{"name":"@ikoabo/server","version":"2.0.1","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=14.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@types/through":"0.0.30","app-root-path":"^3.0.0","async":"^3.2.0","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.2","method-override":"^3.0.0","moment":"^2.29.1","morgan":"^1.10.0","on-finished":"^2.3.0","sha.js":"^2.4.11","through":"^2.3.8","uniqid":"^5.3.0","winston":"^3.3.3"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.7","@types/chai":"^4.2.21","@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/method-override":"0.0.32","@types/mocha":"^9.0.0","@types/morgan":"^1.9.3","@types/on-finished":"^2.3.1","@types/sha.js":"^2.4.0","@types/uniqid":"^5.3.0","@typescript-eslint/eslint-plugin":"^4.29.0","@typescript-eslint/parser":"^4.29.0","chai":"^4.3.4","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.4.0","eslint-plugin-import":"^2.23.4","eslint-plugin-prettier":"^3.4.0","install-peers-cli":"^2.2.0","mocha":"^9.0.3","nyc":"^15.1.0","prettier":"^2.3.2","ts-node":"^10.1.0","typescript":"^4.3.5"},"peerDependencies":{"@typegoose/typegoose":"8.1.x","express":"4.x","mongoose":"5.13.x"},"gitHead":"030d20b23cb0e8880280022c8fc2b66b8d5d745b","_id":"@ikoabo/server@2.0.1","_nodeVersion":"14.17.2","_npmVersion":"6.14.13","dist":{"integrity":"sha512-LGxiZ+wfizF1OneNQrEAXKWq0uI0+w5qMaxoDcPRZ/n+Q4nFS3CCNGo9+68cA//+8fP9xk0/uZkmEwokXewTSA==","shasum":"052625fc22cfb166d780938870b6745322b7a2ce","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-2.0.1.tgz","fileCount":61,"unpackedSize":124094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCfluCRA9TVsSAnZWagAAnPoP/iWdENvh/drlC266bSXR\nvd/zF7ZgKe5a6pDKwyYUQanhss2rDDus30cwZKL9zV111EJ9LxVy/9YRgij4\nedbnqXW4leGxVZlxXNN/v3+C50Z0UFxjRstXyaLDdNUQyV+3U+m4yAgOhf1D\nepJ3hhSCcgCAa+AEeUiN2DJ8zQEt/epmgk3/kDA6VBIqnm0cZyk6TfILb2lB\n8etPAu9exomQXs4q3kGbq/AW8IacETATOdgH2a9ZHCi6wh779B9tm3I4wrNY\ntQsfh++lK0ifcItVG44Pwi5QuuTwmyQC24K4629BLcnzT+JBlEZiUJJ/Oq6f\n8+A+bEpMnu/nlDcXYWcKMjqZEn2xEuXpRQ9obxagGrDnvi2EUnfBT6dvjJbv\nVZHxauPXDZ52PjSa2ygWXwWVdA8gw+NcNUkAL1sir7Y8DdSi7xOgVkoGVeHv\nOkTCXdHhAkspF4xPQnoStHRVp4ndCCrnBWuk8UyauO3MP2OogMQwRhMThnWo\nEr8lRlU8KResIRCHvxNGTECs9l+fq/ooJJN2JoBroxohsUWJSHuX/BEFfuS8\n1CF9p++o2zsXs4SyAFVQ/bCBqaZFyPF/3YsD1r3gkoU9THAvewu2Viq3HXg3\n8xespcRr9PQPjtbt1J9S/OyZVzmyPPOj4nc5b3KJqLtkuDqoAVkGV9krLCL+\n9HMK\r\n=WdgN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1wYpXNW8c0OGvEzdycoUzI20K/8Nw99mJGqRZBM1U+AiB20Y2eYgl5GBRmAibklXHGxh4wUa5utp/PbQsSeln/kA=="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_2.0.1_1628043630771_0.288054863649583"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0":{"name":"@ikoabo/server","version":"2.1.0","description":"IKOA Business Opportunity Server Package","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=14.0.0","npm":">=6.0.0"},"scripts":{"prepare":"install-peers","build":"tsc","deploy":"tsc && npm run publish-npm","publish-npm":"npm publish --registry='https://registry.npmjs.org/' --access public","lint":"tsc --noEmit && eslint '*/**/*.ts' --fix","test":"mocha --require ts-node/register tests/*.ts","coverage":"nyc npm run test"},"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"homepage":"https://gitlab.com/ikoabo/packages/server#readme","dependencies":{"@types/through":"0.0.30","app-root-path":"^3.0.0","async":"^3.2.1","cors":"^2.8.5","helmet":"^4.6.0","joi":"^17.4.2","method-override":"^3.0.0","morgan":"^1.10.0","on-finished":"^2.3.0","sha.js":"^2.4.11","through":"^2.3.8","uniqid":"^5.4.0","winston":"^3.3.3"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/async":"^3.2.8","@types/chai":"^4.2.22","@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/method-override":"0.0.32","@types/mocha":"^9.0.0","@types/morgan":"^1.9.3","@types/on-finished":"^2.3.1","@types/sha.js":"^2.4.0","@types/uniqid":"^5.3.1","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","chai":"^4.3.4","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.24.2","eslint-plugin-prettier":"^4.0.0","install-peers-cli":"^2.2.0","mocha":"^9.1.1","nyc":"^15.1.0","prettier":"^2.4.1","ts-node":"^10.2.1","typescript":"^4.4.3"},"peerDependencies":{"@typegoose/typegoose":"9.x","express":"4.x","mongoose":"6.x"},"gitHead":"cabfb2b6f36c43338beeba2d4524f32fad5c89c7","_id":"@ikoabo/server@2.1.0","_nodeVersion":"14.17.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Jwkz36K24nLWvr3vGR5hRZJsXArCj8qVWuyyP2dDHy8THg8R0D3QBrbNOBwKcMC50kRcb6R93JmsvY/JBr/vtQ==","shasum":"dcc3321436f5930c94fe49a821354c57cee81043","tarball":"https://registry.npmjs.org/@ikoabo/server/-/server-2.1.0.tgz","fileCount":61,"unpackedSize":121619,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAoiZKJSa4f8ithZ1U4eBFh0FiyNtbPSdV/gTKEbQ8+SAiEAl5wx9zkrc5QwQxwTpMxs+lg0SUAGr93J4XgVmEJ5H60="}]},"_npmUser":{"name":"rmillo","email":"millo@ikoabo.com"},"directories":{},"maintainers":[{"name":"rmillo","email":"millo@ikoabo.com"},{"name":"omorffa","email":"omorffa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/server_2.1.0_1632637461293_0.22598903138973014"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2020-08-23T07:17:21.989Z","1.1.6":"2020-08-23T07:17:22.353Z","modified":"2022-04-05T19:50:53.630Z","1.1.7":"2020-09-02T21:31:26.722Z","1.1.8":"2020-09-02T21:39:55.332Z","1.1.9":"2020-09-03T22:01:43.195Z","1.1.10":"2020-09-10T20:15:46.576Z","1.1.11":"2020-09-14T08:53:39.270Z","1.1.12":"2020-09-14T09:09:17.711Z","1.1.13":"2020-09-14T09:31:58.818Z","1.1.14":"2020-11-01T06:32:38.399Z","1.1.15":"2020-11-02T16:36:12.591Z","1.1.16":"2020-11-11T17:03:37.283Z","1.1.17":"2020-12-04T02:01:04.539Z","1.1.18":"2020-12-27T03:56:34.006Z","1.1.19":"2021-04-21T06:41:03.313Z","1.1.20":"2021-04-25T08:56:31.479Z","1.1.21":"2021-04-25T17:12:00.242Z","1.1.22":"2021-04-30T16:01:34.715Z","1.1.23":"2021-06-14T15:18:01.414Z","1.1.24":"2021-06-17T23:15:36.763Z","1.1.25":"2021-06-18T04:02:38.580Z","1.1.26":"2021-07-01T15:45:50.990Z","2.0.0":"2021-08-04T02:04:18.588Z","2.0.1":"2021-08-04T02:20:30.905Z","2.1.0":"2021-09-26T06:24:21.473Z"},"maintainers":[{"name":"omorffa","email":"omorffa@gmail.com"},{"name":"rmillo","email":"millo@ikoabo.com"}],"description":"IKOA Business Opportunity Server Package","homepage":"https://gitlab.com/ikoabo/packages/server#readme","keywords":["ikoabo","server","utilities functions","express","microservice","cluster","crud","validator","response","json","error"],"repository":{"type":"git","url":"git+https://gitlab.com/ikoabo/packages/server.git"},"author":{"name":"Reinier Millo Sánchez","email":"millo@ikoabo.com"},"bugs":{"url":"https://gitlab.com/ikoabo/packages/server/issues","email":"millo@ikoabo.com"},"license":"MIT","readme":"# IKOA Business Opportunity Server API\n\nUtility functions for basic development. This library is part of IKOA Business Opportunity Microservices Infraestructure.\n\n[![Version npm](https://img.shields.io/npm/v/@ikoabo/server.svg?style=flat-square)](https://www.npmjs.com/package/@ikoabo/server)[![npm Downloads](https://img.shields.io/npm/dm/@ikoabo/server.svg?style=flat-square)](https://npmcharts.com/compare/@ikoabo/server?minimal=true)[![Build Status](https://gitlab.com/ikoabo/packages/server/badges/master/pipeline.svg)](https://gitlab.com/ikoabo/packages/server)[![coverage testing report](https://gitlab.com/ikoabo/packages/server/badges/master/coverage.svg)](https://gitlab.com/ikoabo/packages/server/-/commits/master)\n\n[![NPM](https://nodei.co/npm/@ikoabo/server.png?downloads=true&downloadRank=true)](https://nodei.co/npm/@ikoabo/server/)\n\n## Installation\n\n```bash\nnpm install @ikoabo/server\n```\n\n## Environment variables\n\nTo run a microservice using `@ikoabo/server` there are some environment variables that can be configured to initialize the server. Environment variables are separated into three groups.\n\n### Service variables\n\n- `INTERFACE`: Set the service listening interface, by default `127.0.0.1` if the variable is omitted.\n- `PORT`: Set the service listening port, by default `3000` if the variable is omitted.\n- `NODE_ENV`: NodeJS running environment, used to additional logger on request. Set to `production` to disable extended logger. Any other value is considered as `development`.\n- `INSTANCES`: Number of instances to run inside the cluster of process, by default `1` if the variable is omitted.\n- `LOG`: Components log level, it use the `Logger` wrapper off `@ikoabo/core`. By default `error` if the variable is omitted.\n- `BODY_TRACE`: Set if the request body must be debbuged in development mode.\n- `RESPONSE_TRACE`: Set if the response body must be debbuged in development mode.\n\n### Database environment variables\n\n- `MONGODB_URI`: MongoDB database URI connection. If the variable is omitted the database connection is omitted.\n- `MONGODB_NOT_AUTO_INDEX`: If it's `true` prevent Mongoose connection use the `autoIndex` initialization option. Any value different of `true` is considered as false.\n- `MONGODB_POOL_SIZE`: Set the Mongoose pool size, by default `10` if the variable is omitted.\n\n### HTTP server environment variables\n\n- `HTTP_BODY_SIZE`: Set the maximum request body size, by default it use the configured value in `express`.\n- `HTTP_NOT_METHOD_OVERRIDE`: If it's `true` prevent Express to configure HTTP verbs such as PUT or DELETE in places where the client doesn't support it. Any value different of `true` is considered as false.\n- `HTT_NOT_CORS`: If it's `true` prevent Express allowing CORS access. Any value different of `true` is considered as false. In this service implementation CORS is allowed for all origins. If you need a more specific configuration, then global CORS must be disabled and enabled manually in the required points.\n- `HTTP_NOT_TRUST_PROXY`: If it's `true` prevent Express set the `trust proxy` configuration. Any value different of `true` is considered as false.\n\n## Write my first server\n\nTo start your first server only needs develop the routes to be called, for example:\n\n```js\nimport { Router, Request, Response, NextFunction } from \"express\";\nconst router = Router();\n\nrouter.get(\"/hello\", (req: Request, res: Response, next: NextFunction) => {\n  res.send(\"Hello World\");\n  res.end();\n});\n\nexport default router;\n```\n\n### Write small cluster server\n\nA single instance of Node.js runs in a single thread. To take advantage of multi-core systems, the user will sometimes want to launch a cluster of Node.js processes to handle the load. This advantage can be also achieved using external web server using load balance between several instances of your NodeJS server, but this instances must runs at different ports.\n\nTo start an small server with with several worker processes we use:\n\n```js\nimport { ClusterServer } from \"@ikoabo/server\";\nimport MyRouter1 from \"./routes1\";\nimport MyRouter2 from \"./routes2\";\nimport MyRouter3 from \"./routes3\";\n\n/* Initialize cluster server */\nconst clusterServer = ClusterServer.setup();\n\n/* Run cluster with routes */\nclusterServer.run({\n  \"/api/v1/greetings\": MyRouter1,\n  \"/api/v1\": [MyRouter2, MyRouter3]\n});\n```\n\nAnd the server is ready to be started. In the cluster initialization you can add many routes as you want. By default the package register the route `/version` to get the server running version, so you can't use this route because the package route is declared first and it will be called always.\n\nThe cluster serve initialization or setup set hooks for master process and slave process\n\n```js\npublic static setup(slaveHooks?: ISlaveHooks, masterHooks?: IMasterHooks): ClusterServer;\n```\n\nThe slave process hooks control the whole process of server initialization calling hook before opening MongoDB connection, after the connection is opened, before starting express server and after it's initialized and finally when the server is listening for connections.\n\n```js\ninterface ISlaveHooks {\n  preMongo?: () => Promise<void>;\n  postMongo?: () => Promise<void>;\n  preExpress?: () => Promise<void>;\n  preRoutes?: (app: express.Application) => Promise<void>;\n  postExpress?: (app: express.Application) => Promise<void>;\n  running?: () => Promise<void>;\n}\n```\n\nThe master process hooks allow to handle when a new worker is started.\n\n```js\ninterface IMasterHooks {\n  worker?: (worker: any) => Promise<void>;\n}\n```\n\nBy default each slave process follow an initialization process:\n\n- Connect database\n- Initialize express server\n- Listen by connections\n\nWith the help of slaves hooks you can inject actions between this steps, for example: authenticating against a service or requesting external information. But in certain cases it's needed change the whole process. At moment of start the cluster you can add a custom master and slave runner.\n\n```js\npublic run(routes?: any, customMaster?: () => void, customSlave?: (server: HttpServer, routes?: any) => void);\n```\n\nIf the master runner is set, it must do the manual call to create and handle the slave process.\n\n### Write single thread server\n\nTo start a single threaded server we must execute the initialization process using the `HttpServer` class:\n\n```js\nimport { HttpServer } from \"@ikoabo/server\";\nimport MyRouter1 from \"./routes1\";\nimport MyRouter2 from \"./routes2\";\nimport MyRouter3 from \"./routes3\";\n\n/* Initialize the server */\nconst server = HttpServer.shared;\n\n/* Connect MongoDB database */\nserver\n  .initMongo()\n  .then(() => {\n    /* Init express server */\n    server\n      .initExpress(0, {\n        \"/api/v1/greetings\": MyRouter1,\n        \"/api/v1\": [MyRouter2, MyRouter3]\n      })\n      .then(() => {\n        /* Start http server */\n        server\n          .listen(3000)\n          .then(() => {\n            // Server is running\n          })\n          .catch((err) => {\n            console.error(\"Error starting http server: \" + JSON.stringify(err));\n            process.exit(-1);\n          });\n      })\n      .catch((err) => {\n        console.error(\"Error starting express server: \" + JSON.stringify(err));\n        process.exit(-1);\n      });\n  })\n  .catch((err) => {\n    console.error(\"Error connecting to MongoDB: \" + JSON.stringify(err));\n    process.exit(-1);\n  });\n```\n\nTo add customized options to express application server yo can use the HttpServer function:\n\n```js\nserver.use(\"/api/v2\", MyRouter3);\n```\n\nOr can access directly to the express application server:\n\n```js\nconst expressApp = server.app;\n```\n\n## Using middleware\n\nThe server package includes some middleware that optional can be used. These are some middleware used in the IKOA Business Platform development.\n\n### Response handlers\n\nThe response handlers are middleware to handle the express api response for success or error response.\n\nSuccess handler always send responses in JSON format, it only transform the response data to JSON and stream it to the client. To receive the response the server package the express response `locals` variable. Inside it handle `response`, any other variable in `locals` is not handled into the success handler.\n\nError handler takes into account several error sources like MongoDB, Joi validators, authentication service or the platform error schema:\n\n```js\nexport interface IError {\n  value: number;\n  str?: string;\n  status?: HTTP_STATUS;\n}\n\ninterface IErrorResponse {\n  boError: IError;\n  boStatus: HTTP_STATUS;\n  boData?: any;\n}\n```\n\nFor specific error sources, not all possible values are handled, only an small set of it are handled. If your server need handle an specific error type you can make your own handle error or can add an error handler middleware that translate the error to the platform error schema.\n\nThe platform error schema is translated to an express response setting the response stats to the value of `boStatus` or get value from `boError.status` or by default `400` if its omitted. The body of the response has the following schema:\n\n```js\n{\n  error: number; // Get from boError.value\n  description: string; // Get from boError.str\n  data: any; // Get from boData\n}\n```\n\nWe can write our router like:\n\n```js\nimport { Router, Request, Response, NextFunction } from \"express\";\nimport { ResponseHandler } from \"@ikoabo/server\";\nconst router = Router();\n\nrouter.get(\n  \"/hello\",\n  (req: Request, res: Response, next: NextFunction) => {\n    if (req.query[\"error\"]) {\n      /* Raise error handler */\n      return next({ boError: 1012, boStatus: 403 });\n    }\n\n    /* Send response with success handler */\n    res.locals[\"response\"] = {\n      name: \"John Doe\",\n      city: \"New York\",\n      age: 25\n    };\n    next();\n  },\n  ResponseHandler.success,\n  ResponseHandler.error\n);\n\nexport default router;\n```\n\n### Data validation\n\nTo allow data validation the package includes a middleware to validate any request data. Data validation is done using Joi schemas. The server package exports a custom instance of Joi with objectId validation.\n\nUsing validators router can be rewritten\n\n```js\nimport { Router, Request, Response, NextFunction } from \"express\";\nimport { ResponseHandler, Validator, ValidateObjectId } from \"@ikoabo/server\";\nconst router = Router();\n\nrouter.post(\n  \"/hello/:id\",\n  Validator.joi(ValidateObjectId, \"params\"), // Validate that :id parameter is an ObjectId\n  Validator.joi(OtherJoiSchemaBody), // Validate the request body with the given schema\n  Validator.joi(OtherJoiSchemaQuery, \"query\"), // Validate the request query parameters with the given schema\n  (req: Request, res: Response, next: NextFunction) => {\n    if (req.query[\"error\"]) {\n      /* Raise error handler */\n      return next({ boError: 1012, boStatus: 403 });\n    }\n\n    /* Send response with success handler */\n    res.locals[\"response\"] = {\n      name: \"John Doe\",\n      city: \"New York\",\n      age: 25\n    };\n    next();\n  }\n);\n\nexport default router;\n```\n\nIn this case the validator it's integrated with the error response handler, raising errors in the platform schema.\n\n## Using data model utilities\n\nAnother of the advantage of the package is the data model utilities classes. The package include a class to create Mongoose data models using `Typegoose` annotations and also include a class to create a basic CRUD controller.\n\n### Creating my first data model\n\nTo create our first data model we use the `BaseModel` class. This class include optional fields to handle document owning and document status.\n\n```js\nclass BaseModel {\n  @prop({ required: true, default: SERVER_STATUS.ENABLED })\n  status?: number;\n\n  @prop({ type: mongoose.Types.ObjectId })\n  owner?: string;\n\n  @prop()\n  createdAt?: Date;\n\n  @prop()\n  updatedAt?: Date;\n\n  @prop({ type: mongoose.Types.ObjectId })\n  modifiedBy?: string;\n}\n```\n\nThe document owner and modifiedBy can be used to integrate with an user controller server and set document property and give more security to our server data. The first model can be:\n\n```js\nimport mongoose from \"mongoose\";\nimport { BaseModel } from \"@ikoabo/server\";\nimport { getModelForClass, prop, DocumentType, index } from \"@typegoose/typegoose\";\n\n@index({name:1}, {unique: true})\nexport class MyModel extends BaseModel {\n  @prop({required: true, unique: true})\n  name!: string;\n\n  /**\n   * Get the mongoose data model\n   */\n  static get shared() {\n    return getModelForClass(MyModel, {\n      schemaOptions: {\n        collection: \"my-models\",\n        timestamps: true,\n        toJSON: {\n          virtuals: true,\n          versionKey: false,\n          transform: (_doc: any, ret: any) => {\n            return _doc;\n          },\n        },\n      },\n      options: { automaticName: false },\n    });\n  }\n}\n\nexport type MyModelDocument = DocumentType<MyModel>;\nexport const MyModelModel: mongoose.Model<MyModelDocument> = MyModel.shared;\n```\n\nFor each model we recommend create and export the document and the model to allow the integration with the data controller.\n\n### Creating my first data controller\n\nThe data controller can be implemented extending the `CRUD` class:\n\n```js\nimport { CRUD } from \"@ikoabo/core_srv\";\nimport { MyModelDocument, MyModelModel } from \"@/models/events.model\";\n\nclass MyModelCtrl extends CRUD<MyModelDocument>{\n  private static _instance: MyModelCtrl;\n\n  private constructor() {\n    super('MyModel Controller', MyModelModel);\n  }\n\n  public static get shared(): MyModelCtrl {\n    if (!MyModelCtrl._instance) {\n      MyModelCtrl._instance = new MyModelCtrl();\n    }\n    return MyModelCtrl._instance;\n  }\n}\n```\n\nThe `CRUD` class add to our data controller functions to handle de Mongoose model. Custom data manipulation can be implemented into the controller or called directly on the Mongoose model. The delete action implemented into the CRUD it's a soft-delete, data isn't removed from server, only the status field is marked as deleted.\n\n```js\nabstract class CRUD<T, D extends mongoose.Document> {\n  protected _model: mongoose.Model<D>;\n  protected _logger: Logger;\n\n  public create(data: T): Promise<D>;\n  public update(queryId: string | any, data?: T, update?: any, options?: any): Promise<D>;\n  public fetch(queryId: string | any, options?: any, populate?: string[]): Promise<D>;\n  public fetchAll(queryId: any, options?: any, populate?: string[]): mongoose.QueryCursor<D>;\n  public fetchRaw(queryId: any, options?: any, populate?: string[]): mongoose.DocumentQuery<D[], D>;\n  public delete(queryId: string | any): Promise<D>;\n  protected _updateStatus(queryId: string | any, status: SERVER_STATUS): Promise<D>;\n  public validate(path: string, owner?: string);\n}\n```\n\nBy default `CRUD` perform all queries with condition `status > 0`. If you don't handle the status field at object creation or the field is not needed, you can prevent use this fields in queries setting the options at the `CRUD` constructor:\n\n````js\nimport { CRUD } from \"@ikoabo/core_srv\";\nimport { MyModelDocument, MyModelModel } from \"@/models/events.model\";\n\nclass MyModelCtrl extends CRUD<MyModelDocument>{\n  private static _instance: MyModelCtrl;\n\n  private constructor() {\n    super('MyModel Controller', MyModelModel, {\n      /* Optional value, by default extract name from model class */\n      modelName: \"My model name\",\n\n      /* By default is set to false */\n      preventStatusQuery: true,\n    });\n  }\n\n  public static get shared(): MyModelCtrl {\n    if (!MyModelCtrl._instance) {\n      MyModelCtrl._instance = new MyModelCtrl();\n    }\n    return MyModelCtrl._instance;\n  }\n}\n``\n\n## Predefined constants\n\nPackage include a set of predefined constants to be used inside backend/frontend development.\nIt includes constants to prefeined object status, prefined general errors, logs level, and HTTP status responses.\n\n```js\nimport { LOG_LEVEL, SERVER_STATUS, SERVER_ERRORS, HTTP_STATUS } from \"@ikoabo/core\";\n````\n\n## Using Logger\n\nLogger is an small wrapper of [`winston`][winston] logger. It only hande logs to the console\noutput and must be configured on server initialization. Logger support the same log levels of\n[`winston`][winston].\n\n```js\nimport { Logger, LOG_LEVEL } from \"@ikoabo/core\";\n\n/* Set the global log level */\nLogger.setLogLevel(LOG_LEVEL.DEBUG);\n\n/* Initialize the logger for multiple components */\nconst _logger1 = new Logger(\"MiComponent\");\nconst _logger2 = new Logger(\"OtherComponent\");\n\n/* Log an error from one logger */\n_logger1.error(\"Error from one component\", {\n  code: 2,\n  msg: \"Invalid call\"\n});\n\n/* Log a debug message from the other logger */\n_logger2.debug(\"Debug from another component\", {\n  field: \"social\",\n  value: 10\n});\n```\n\n## Using Arrays utilities functions\n\nArrays implements functions to improve array data manipulation. it implements functions to ensure array initialization with include/exclude values, array sort, binary search and multiple arrays intersection.\n\n```js\nimport { Arrays } from \"@ikoabo/core\";\nlet arr1 = [1, 2, 3, 5, 7];\nlet arrInclude = [3, 15, 6];\nlet arrExclude = [2, 5];\n\n/* Get new array [1, 3, 7, 15, 6] */\nlet newArr = Arrays.initialize < number > (arr1, arrInclude, arrExclude);\nconsole.log(newArr);\n\n/* Sort the array and search a value inside the array */\nArrays.sort < number > newArr;\nconsole.log(Arrays.search(newArr, 7)); // Prints 3\n\n/* Intersect multiple arrays, gets [3] */\nlet intArr = Arrays.intersect < number > (newArr, arr1, arrInclude);\nconsole.log(intArr);\n```\n\n## Using Objects utilities functions\n\nObjects utilities functions allow to fetch object properties and set\na default value if any path don't exists.\n\n```js\nimport { Objects } from \"@ikoabo/core\";\n\nlet obj = {\n  alfa: {\n    profiles: [\n      {\n        name: \"Jhon\",\n        age: 25\n      }\n    ]\n  }\n};\n\n/* Print Jhon */\nconsole.log(Objects.get(obj, \"alfa.profiles.0.name\", \"no-name\"));\n\n/* Try to get non existent property */\nif (!Objects.get(obj, \"alfa.profiles.0.social.facebook\")) {\n  console.log(\"Facebook not configured\");\n}\n```\n\nAlso functions allow to set an object value following the geiven path.\nIf any elements inside path don't exists then it's created.\n\n```js\nimport { Objects } from \"@ikoabo/core\";\n\nlet obj = {\n  alfa: {\n    profiles: [\n      {\n        name: \"Jhon\",\n        age: 25\n      }\n    ]\n  }\n};\n\n/* Update property */\nObjects.set(obj, \"alfa.profiles.0.name\", \"Jhon Doe\");\nconsole.log(Objects.get(obj, \"alfa.profiles.0.name\"));\n\n/* Set non existent property */\nObjects.set(obj, \"alfa.profiles.0.social.facebook.profile\", \"facebookid\");\nconsole.log(Objects.get(obj, \"alfa.profiles.0.social.facebook.profile\"));\n```\n\n## Using Tokens utilities functions\n\nTokens its a set of function to generate pseudorandoms tokens. There are functions to generate\nshort, medium and long tokens. Short and medium token are generated with [`uniqid`][uniqid] and long tokens are generated with [`sha.js`][sha.js].\n\n```js\nimport { Tokens } from \"@ikoabo/core\";\n\n/* Generate short token (8 byte) */\nconst shortToken = Tokens.short;\n\n/* Generate medium token */\nconst mediumToken1 = Tokens.medium1; // 12 bytes\nconst mediumToken2 = Tokens.medium2; // 18 bytes\n\n/* Generate long token with sha256 */\nconst longToken = Tokens.long;\n```\n\n## Using Streams\n\nStream class allow to pipe streamed data to the `express` response. User can use a filter function to prepare the object data to be sent into the response. Filter function its an optional parameter.\n\n```js\nimport { Streams } from \"@ikoabo/core\";\n\n...\n\nrouter.get(\"/data\",\n  (req: Request, res: Response, _next: NextFunction) => {\n    MongoModel.find({ ... }).cursor().pipe(Streams.stringify((data: any)=>{\n      return {\n        id: data.id,\n        name: data.name\n      };\n    })).pipe(res.type(\"json\"));\n  },\n  ResponseHandler.success,\n  ResponseHandler.error\n);\n```\n","readmeFilename":"README.md"}