{"_id":"fastify-mongoose-api","_rev":"38-b8c76f55fa5a8283a9a5d0ceb8da992a","name":"fastify-mongoose-api","dist-tags":{"latest":"1.2.28"},"versions":{"1.0.0":{"name":"fastify-mongoose-api","version":"1.0.0","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.0","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"dist":{"shasum":"a7fed3af1b615903e6ec91a2ed419bd5940c2d91","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.0.tgz","fileCount":9,"integrity":"sha512-2KX8DZYrPVs3Cgi2qhQLBebSYZMgyuBpYpbxQkt9faGPLHmVZjOwt1MbtyNPf25KqPE+4FtEFTxTpq9Zlm6HCA==","signatures":[{"sig":"MEUCIQCaEDWAGpzM/DOrtW8zj8jUdgKVDtFBgPWac/cXX0Mz2QIgDoDU1G7c5pYrzTJ+ueXLxkcwDZvSInVgQ9fC8EL00aI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJhENCRA9TVsSAnZWagAAbW4QAJltwlNCZQ5wS5SwHFfW\njU5fi4wmDqjSHw3FbZW7L6GXlE8zIdFCa14XSWGLPdYkTCKlNDbT1QUNPBaK\nVFD426xAF+YDvjnoUpdIPDvK6LqFYull3mJCOW8NGdbu77DPkoifpOklkYRP\niBRJVahFtLPaZQb2AzIb5lJFwZy4gZMR0USYKnfwZxpOh/mL7/Z1rB81OJ0B\nq5QbWnZs1MILgU2ugpRqDbKmA9Jy5G6pYvgRGS0ynVOFQU+DLqHrC7t6P8QR\nhxsOmT9lQK8WxktqFaW2S4n80J8TTw0cO9Eks3dJkApmDlNfO/y282rJTCLe\nbHaCsJCPCBDSC0aZC++r7ZsDnnnSLF194xWxBnbs7tt4GlGLz1XD3ZcB4+vB\nxjTG020uXsrw5NQQuXug2Xzy25Ynq+ks3utfrM9Ez2iiGID7IgxWdR5wx7AL\nIifOWTEyEw37vbBjyjFJfOFX47njdPtEmzXLsrECWn1qcw1IFTF1iCMxTntZ\nTHfUbcD1lgmhFctril5BmaziYZhJtgG6ljLrv0oTa44I4+bmUCC7xpNPlJhR\nm9EFubnzyEilFSJMCCYL4SJcJG1sLXzsAtqpYNFs6kjZLPkN6GVjhXXLpQ85\ns0sOpAZakOTCGkSTkjtopncDxJwbxSU0WXHOmpk0AFEZv/zQLqOyVDYMw43u\npuYU\r\n=z5Fz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"ccf3b9a32f350adb3c8574ff6717175810a8bce7","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.0_1562775820621_0.5125621615904623","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"fastify-mongoose-api","version":"1.0.1","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.1","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"dist":{"shasum":"27e12e05b717617fb488f73bb341f8ee6bf4b4fd","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.1.tgz","fileCount":9,"integrity":"sha512-hD3IEhMpeE7i45otO66jGhG6Oavk7s09VVaAoySBh/ONYJ9CX+XPTGI8jWWes7MWNMqlBVbCon2eZDfZBNe+DQ==","signatures":[{"sig":"MEQCIA6w36UXwBeGnxwYNGqeC1/bgCDKyFPFMt2TZHkzeOGLAiBtLarcLZhPKV8DTL98Et8UIbeEZ2cg1HsImCu6n/IRag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJhyeCRA9TVsSAnZWagAAfZUQAI1q4G7y5wRY84T1JxlI\nZ4BTRS4DFAnW/bqzLLKp3pztN8vVO7RqCZfrURr4eCTA44M8mK94oip4/v0g\nFh2ATxQpOy63RsA3hPaMhgeeTWX27lQZCwLuJljLMJeAI36dpcdl5YXtEH7z\nU+TR3v+v7JyWOCNz3tvDLr2f2s0gGNJo/Z6qsC15OjITNClFf+CZ2JwkGSX6\neGJ8EamUXNhuC5AS0cTNXvDzdZextfDVn0fgIUdOwvFgwnXIU46QRx1P2FzT\nufFDNGUHqTXPzdILyNYrw5WEjjjybWhmSjo0GsW/BU/ITyRo53SI5i/Z2B7E\nkJJw5aPbvKrBA8DeBCoCrAUDQ2hUCebruyFMGgB16Z65rBzHRfuv2vvG7vYX\nlAW7GkFLRpB68RhE25isVxqDS6XeMajU4Ycahg9M4YkUntmaHfXm8S63hima\ntmvCC8tvucSCaJykLRjlExXQxbozRhIQ7JOJ3FU8Wdkq8UmoZHpPpRVSlrQq\nxDhNedsY7LieZWgb9RY7j++fPMjA5D29nb9pYlC0BSAp6GKu+fLBMAO+M/yT\nEiYzmnW6PbtDO4c8aRok/RoFx6rN9gZWD8Vwg3YAzrLehTxko6NBty41OBbp\ntrwkpUZmhlnfPgkH3L+HpsITeXPV8a8dqMbN+8sHs6S3EbifsgMwho8meUgb\ni/ej\r\n=U8gd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"dfc99facc7929bc7feab718e9b96533dc45d45e7","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.1_1562778782175_0.5063184722786398","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"fastify-mongoose-api","version":"1.0.2","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.2","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"dist":{"shasum":"10ffc0512a66c74a9a6b8208ec1cff5beb202582","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.2.tgz","fileCount":9,"integrity":"sha512-H0DcHeyuDavq+Xv4vwdY1jg94ZMp7Ows/nXPKAgetCyUIV2XFMoDX1EmqKarOvziLuY+nKGIs6Yd3nRp2aSy5A==","signatures":[{"sig":"MEUCIAcoKR6gmzwkMyg3rZHj/VOlkAWo9uDTMa8yyPPpt1LuAiEAt5X6d5cHIB+OV4kPj7317yxvSp1JwiNRV1g83pdsfM4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJiH4CRA9TVsSAnZWagAAmJEQAKLnVsqyTZQ0pbcpZUeV\ntvZuPSguc3csxK9hhGPm/kb8X32rqa506NsjUbbhJIi22lGLlPVX0BLvQB2A\n4xGAAD7VdH9Lem37CTHbfakw41w5QePqw81uPqcBEPjtdShbUz/XDF0Gf6DF\nCGbHXk3NSBaVHcw3mZBHs9jecmXdK1SzH8qSrUyxNbFOYtaw0sQFbRNoDJIU\nqcj9Y/VxCc3IP4mAuJRNzNaqykDgQOIWg/3kAoq2eb/BumO815c5eSaraqje\na+0fEMWZd4Bow1cWsA2xVwDiHC/3janMViXD1/sFciztKmi+e/lDIJb7nzHh\nFYSO7rVnLSK2lEK+6Piil3EKXlWCnMw+3ByUn+ViPRT6OZ55Sf4WR18KuSr0\nM9zBqoH1TLXal6zP+93PJh+UMKlORDJdSkn+OCtF1QOs2ZUc5q/T8VxCKSvh\ng5wzCqCqeSs5sBrEpCCvdkVQuOvKJBHE2OGlT7B5eCsgNM4kBmv7NtyiuD/i\nbfRU8lxsGJURiDqQv9azsRA0RLVp46a32EeWkUQTXF9mIHV1DzuLyhF5hy/J\nXqc1SfnoSC5d8iQoHl5Hr3pZ/Y9W0+P00AiFfiNyzncRojB3dL52SHDfIAur\nyjBysMKQgYaHCDud30O8LcQaXpp4xlrxQSl/e05G3X5g14fJZB88ZGke5JBQ\no0F6\r\n=1ypW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"9eab6eb171a167cb3fbc8ebb0854c5c76abaa001","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.2_1562780152409_0.03324805047232027","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"fastify-mongoose-api","version":"1.0.3","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.3","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"9306d6368c2ac1af47339aa3e8b1489f6f7c91ed","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.3.tgz","fileCount":9,"integrity":"sha512-kcVZ/9iGH1gS9nLnjUqD4rsZLnb015L1Nya01wXy0ZfuQHJeLhVw9ZQ43Pmzbr4IP9UzcGgfiOWDzCIHWYZMCg==","signatures":[{"sig":"MEUCIQD3tAXjVXhWawr81tA/0nOo5BIl8ECgDts7aR2TTceOcwIgXA+uVHaisMNcvXM8R9bJMpxDZmH0LHVnLV8rgm9S9L8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJiM9CRA9TVsSAnZWagAAd4YP/RMNJRmoTJf9R/EsvlHz\na4N9SMVhlQcUCQ8POxTbxx34ynKBb/Jy7c3lgdC7IuXZjEunMNgFgIbXPpD0\nz3BsPq5s/C76aOuqTyiNoEUS/1Z1fmSiv9nxoCt4zegva0eUyY8xuiOmazM1\nLSagsS2kaqaBuFgRpTRLHlVeNq2nwMF0oY0PKgX39JpRSwzThC8QegsHoSKy\n0MEqiDVTvbxzXvXdMHm+h/P4TY3Ktf2FSIgKVuNifkwGT+tCKlX8M1QBnICx\nB8sFHFwu3ZbUoKR6CcYd7R/AIQKquiU+AUs1g3hHay5S39f+yKGLJBUy/zp/\nRDeaHClMHnqnM8gPI0HWnVx6wqoUILieCa6JlKWCnRgUOjlTU7BrQ4dAl2L4\nXnsIpnV+/tB89qkKuA1OmTvU3hfUGnJTQyKc7WtNTicbeo81HZ2Ikdne/hEe\nVEyR3UGir3Zc6s3Buw3rLdKBEQAkY/KdGjm2cYMFMQGQ7ODv/G3NjiSKIrUk\nSclpph//rtxd7k8SkCpTCj3KdTVj88ob2+1I3Pz2aSlGM5ZSQd+kn4cycgGl\nGbqdCAlFr6iQLpyd4uvs/TZf3torknbyk3laITbabivxopTGP0mWkwRPA3tk\nhSISM7n1Y4Z9cKhuGnYnlMV3esBEkuzUCStT3DtQI6jcAdkVWjRpban6eJea\n5Jto\r\n=ZhNu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"bfb4fff446c5c59a430ac8a46a9a3720150dad10","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.3_1562780477018_0.9745912990094954","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"fastify-mongoose-api","version":"1.0.4","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.4","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"4c8243cd30aa4efdb723b13216676dd73b558e1e","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.4.tgz","fileCount":9,"integrity":"sha512-pg+c3YHm6x8MngSZ5Cc0HfkIAfHvuGabMrsPPBbj5ioc6W8RucTw53RGAJLSmWoJI95aWUo/UQAAJGlL3nQUbQ==","signatures":[{"sig":"MEUCIEqERdfXfNxUhoQS8NqfdPlguQ4aiZyZEmrGp85jDRAdAiEA8AzZpBH3G+3C2RnFDB/CeG3RouG6GU41Her5Gdc4gKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRxpVCRA9TVsSAnZWagAAOtYQAJo5F/wtWx9e7k42/15Z\nyD7pWs4nQeSPZskxGssy3jfPUoJTV+bAwDgIUqfYMqeaf3gp8ZuwtU9gv7Mi\nQ6ci9SFA4mTHEvatATRhyKFUpuWarsGiTlB/pfUfoPo7889+eJD2PN3OLomz\n09xJjTv5O6doJuolDaa0ZYi0xhwPEa9FGBsJYV0SMXmM//MY6TAM+BV9QaU+\nZU5OFtmL9r7Y3LH1935HZszC24Pq6/0p5EIdVLlWUC7i4BYGQSnKdXOBv4s4\nyCObHigajunuD7E5TDdX+ZhqJh0EYI7qwwt2pyD4fcitw2rRgOFaAQsA4bHA\n183yhQCYHhiq1jYOFuVIDufBjHJc3Q8YeyvSMYCXuRKi7LgNvcGv/GgPkybm\n6vwD8WilQM7Vy2cMcsiVtNbyg4WyQxJFHvjNGSwrXuxiM/1sFpA2cz6F0yxO\nDuKLlBftkJ07i7aImAsBEbUydhGux6bO9+zSqceGW5TC8nMdBMJdhn8QYqhS\n0lYHMwrypa9lFXib/npUnGW3CoZq8mu3C84ZxzcI+vL1tYd2CH0geYDBxwqb\nlf/mJ+jczn9MyMYlgZp7QVrWzlHzdLe6qAt9/F5kE7kq1j3ESou8bI9WT5l0\n2KvRSspmtZN+hXCdKn4kvdYRRtPdTNeUbZqyu7izIFHwR5vwG1Skky3N1sk9\n5pN1\r\n=IxHw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"f59d6fab778bb6775a32ad3796f5ea4ff8de75bc","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.4_1564940884435_0.27675368546769263","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"fastify-mongoose-api","version":"1.0.5","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.5","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"abe143c78025fecbd71f855bf8cc4a63be6c97a8","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.5.tgz","fileCount":9,"integrity":"sha512-lJ8rJ2Y0JREdbL/vMt4AYhh00lPIXSQcGDJI1ErrXqcv63svke5hfGASRkIDew/dzWOQ/rlKnlV+iR92o6w6og==","signatures":[{"sig":"MEUCIHjyU8RQ996r5t2gqeWMFPrFyJP9QYShIBWl3cb/rG25AiEA91Vq4aNtldyJPk+M9+4EXtb9MJr3V5WIgzS9KKrXtYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYr3/CRA9TVsSAnZWagAAY00P/3R3Flne/6VCB38uu2t1\nfGcSIhsNy+vfOqVUNR6l2kRSJvOlcrLI8y2fGFYWEPPw9Vav3d4kJt8fioF6\n9O2U848ugsxFLetwixaoZXSJpyur9sGJ6PQMXq1nRh4gLttvy19JQL3NPZoR\naA3rgCnJHwUTV1rI2zIF2gjEDlagzPG2+x+e8em0h14bS7gozruu/74Pe1k3\nTSIhnbZNIKaIUbdnjT+SbsBJ5+4KsgelArMiTFJfDs+CrKeK4/NKPd5irnEY\nZ4VjVgsjt4aLHHJRuEU4QAtbRL9x+X4vQ3u5hZdJg4Z4lCM4RRAYw4Fy+Yo+\na67pQCNuae/B9Bhni0X2U2w82U72X+SdJxI0RjsfHmqN2wFnWHOGQ/HjMXa7\nZkWaHNyo3PUvfUT+gqQLE10nfZ57fPj/ZOXBSz/0X4lvZcDYrVawwFci15kO\nFfXEC6vxU5tNLIeGvXV+Mv5GpSPnPXLts1opwL4UbXw0SvR74xwfF3l7bNDQ\nzycN1Vqz0gGpR8CwbMDZ5nuis4TvFfAPfpFwtUZuulcR741FM/dhVfcJ8kDw\nngvx37SwJcKcrdgV7+TqtT8ml8hYhz7j/wp8gvnce8LRmIY/XWVSRcnCm6As\nfmtkkG6YLhBpoKC+mAoxT+fv1We4/VYTyncCwqZeDNvNYYlYVlp6iYHww4Br\n6WId\r\n=Z9OH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"3a074a273ae4a246d8c869073635731471b2ecb0","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.5_1566752255016_0.8278869933027067","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"fastify-mongoose-api","version":"1.0.6","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.6","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"756072848dd7cb2671ce0a494b4105810a4ab937","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.6.tgz","fileCount":9,"integrity":"sha512-AoP06O/N2aanLcHwQdanXL2TktwZ1bcrnWscQKbkcZBsiSV6Olc7IB02Kvw0L2MY7k56QeaF2e8h6Pjtl2zILQ==","signatures":[{"sig":"MEQCIEF1upNQWRee+orRu8p5f+wiJjJCJ+rHGdoEeALPtMhZAiAuqd2/vEcdMDcaeWrAv7pRqMB/0MrlugmlIGuw3MRdVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZC87CRA9TVsSAnZWagAAKvUP/j10QO0Ew86xM0z7Q/WU\ngKRboSJuEv+aAPNLRCs+7p9+qN1CtVVyi8BNBz7pa8jbNs4kROg1vvhlzkDy\n1Yg7KN3++cdy9JyKAGbFGoLtyAORLTCYXx2CFFOFcmNjlzoiqYzgQttpVdHn\nU8PU3yqTi8IQpQXpCbt0LcUOQJvfD3onysZLqw55e9RJT47Q6qX++/LKUtus\nO0hSHv7KR1qsNki5LyQJnaYH4v8W7NPp2g5JwZjj1m17BvJbZa3FG92CyE21\n74+PTpt9fz9u8GHvZh11+vBueVJa/ytV40LKeNnnauGVIQeZHCpvQlZ9qS7q\nR4ldobtn0+HBGeZCnV8e3Xyqk6w3Vrrbp3gyavvQzCn2dCVuYcXeJw2Em/Ys\nZCdDKdZpLr/OTKIlSrG4w1zCWsxEMvadXzoCZae7vvgUqpDMcsUeG2UQkt9/\n7WLvfby/hAVPNkDntz/FuCqtTeLrooDEkWd5+/rIu8ig2yN5qcMyiKEfp0bG\ngk9GKdvFbaFqBgEoHKC2vYlEWmp2A7S3XkibObBXX7JZ5ww2HFYZfiIBEJym\nzLEoy2h63ePUIZ6bPiXruWjqG1+o8F4qPGbqS7lO0JNhtryevzN26CwVrYPb\n1wrtPe3GQPlbsNbW5LomM3mfEc8lJw4k5NFqBebxqiLJSpjBlGOPjiuh8Cap\nlxrT\r\n=KlKo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"0d872ca9812a420a1fdc41f832f5daea4177013f","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.6_1566846779009_0.7379825702991971","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"fastify-mongoose-api","version":"1.0.8","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.8","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"edaf268b29bcf635bb9097520555ee05d28fb4a6","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.8.tgz","fileCount":11,"integrity":"sha512-edqPwX8GN/IJsJhLA6/V+B0rVZ0dAuoxqbjTUfYMEs8Il1VqZlF5Ayw0xxaoHaFjmL+2WymMl2roW1J5pVSqzA==","signatures":[{"sig":"MEUCIEk8HZb519iB7aLoclTlBBUEKSHwOYBN7DaRiWQzPyYNAiEAu7EPUhHIbPyTPP6r/zBg4/I+dvQx2ay6xqg4GArxeKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZE0oCRA9TVsSAnZWagAA/voP+wYZedakbtUOBRRuJAHj\njCqGVmKyLQavOr9LZdaYFYmogdOm3C0KWJVl+aqnDPVp5CbCRY4hga3T00DV\n/Lby3nJFqoYD6Hkr8RBvdQ4gMHN2O3q+6WRWg7FfwO6T8Ed4EwcOU36O0fhR\nuhw3+XBtb1lRjlJj4Baz93MXNZt6nLkp3K84W3kzvP4HR6mXJyStPQ9yqPjd\nwYFtAzWLZyOl1VtfqNumIrBwKhAYZ0Pp5ZijnLej4+iOVyLjIYs8m+Pbft8V\nycOeXkvrYBfufhaHZ3Nkb96/TLA5eRUQNYGA+xX5mjVhk5nlK/EJ4u1fNX/Z\nOT0s7QEOb5njTleSn5qcAmpzmdrU/UGinMlQpKVbAb+OPgh/wIBPqJFvCLte\ndSijQSRYEDzOfAHB0a1UifW2FNgPC55/aspvUtFIAofFVgYTsrSGt0qkLSai\nhOODxGAzeI73WYenrDIJGjclDBmqftf0CrJd/nTKFNBKaUFz6QoGSIY18vmu\nGdZooYC34XVsPzTQcOU0jLdkoCzxjtK8hLBi76n2b84IJXCsM3u0fAhJ6Xrz\nDwct8rnOCaCr0eG5p1ioBFvIx2df1vAJ2YCM6A4HS3lisUaDszkQ2/F/Unyc\nsRXvzV8RaXkyWidHigT/Z0fYBg23RJ0xaqxnuoOsaDI516bayVbmnLNgVk7j\nlp+K\r\n=GVEG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"4c63e4da71fc9749cc6e23f1c6fa5d1892ded513","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.8_1566854439614_0.607810515057591","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"fastify-mongoose-api","version":"1.0.9","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.9","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"8aa6be20acec21739cbe1edf74892a775160b890","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.9.tgz","fileCount":11,"integrity":"sha512-ahbDLxPfprQP/KRy1SLsIQOTwHTFNMW+MMYuqUODF/8bPOhaPIiBC/kX5PdKo0irq6831vOxr4vLSopBFQfk6A==","signatures":[{"sig":"MEYCIQD86tkadFV11wSwP1Maoq1heXpWKzGaescmjBMpgiEomQIhAPCKMXx0ACuJ5PGEK9trXqHVugnA4F7TnNTf96egT37v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZE2RCRA9TVsSAnZWagAAdwsQAJDdeRcoJpdUfeRwOfeo\nfRmWS1QEDltPdtAR09wK37DA250nOdDJS9vEwDXO1neAkxHgQNJGK3kSYGGx\nOQz0a2zudIG4QAq/7rRqH+so82m+cMj1y5LuRY/nPkH2Pbk/E1V/ePYJRrHg\nL7WE5l4iHlx4Rff5LpJkmXweNzHR1P9qw6kxDYaqD/Oy7CW4b9ixmWt/mWks\nvu9zWbWspj4AmOAhE6CMal4LiX3GYJgLpgO5U0YPTEYOYqkf2LMLXHdvGaiu\nQ8zYo+zZPsh0fiR5AluFwOnB25rw9kaMBX6f0A+ghoLj5G+LkSxCol+E+1cw\nDsPllaw+VStyJZ6QTtsEEYSxBU7vgCDPXz9AkCYF1Z4KXbtjYObbsPBqgXsE\nPonPxClSM4paGe+0oTcy/sxZgIi+F/0wSRwztElgIIGBDXycvxyTQRNEwBe+\nfZIA8evgXuSz43YzdiYiFeaD27+NXjaunvE73zO0rQ+3+pBBPso0KnrlQ1p3\ndrnjyEl7UvljhKJIdfUQtYlYwO/V3gK9YoZRXymd6SaSmg/XSDWk7fQKLdU/\nkeFjh3/ovZICiIdMa4rkDMt1el869iF91vDQ79tF3UDJ5Q/HCvYpRCrMSnet\noZlpiCGSUq4FTEU4CidFN7sV0QCaa9Y/Of9g6qS4k/1d6tRV9pN8S+kAAIm0\nERTH\r\n=EeO0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"101b9cba29bdedf95d7d61efa6447af551a01b73","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.9_1566854545282_0.20746988374656716","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"fastify-mongoose-api","version":"1.0.10","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.10","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"4b1e789569a5a64a2a42b1de2321c4af1e790dd5","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.10.tgz","fileCount":11,"integrity":"sha512-r5m8FXoD1TAVdyvhGvyO3BXb+eCCVpAbdS1t14rxwjpOz+OPl2kOEXBT2fGk2qj1oYu1kPVfAxsLc6E5ymJIwg==","signatures":[{"sig":"MEQCIF1c5HsEZ4YEWezndQdnTZzn6MpmIq1zisaHnItyNAQSAiAEgXL1Hw0AcZOPqyajNpMgHG9xEbgv6cJwwGuaNe9S7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZYUMCRA9TVsSAnZWagAAcJEP/2ADgXeaRn7dxPbqQNLB\nFMYtoX8ch/YnWByL4gd3c+dnPrgy+niC7dl+pmewscNs0t4FChGzvgNWAKEj\n1wnVyF2IQKnAWCiQ91oEBZ0WvBUXAf1+iEywq+OaFuQVXWCna9JkjqkGZkNd\n9Lw2jZIvQcJJrSp/eW9VcLiydWvklQj5FIIkaG51fjWYVCxaSmsK5U+59N6l\ncZZEyM48eJE0FfT9pmcSLDBdY9wx3H8QNew1f/BZhzObvrHb2RB580KZXs9j\nYFGQq+l7nm4CucnS/0Z77eyWFGO58EG4VHy5u2o97+iRtp9M5VmG2DIOaC4u\nIu+caKiVwVgfNj2Ugy9fGnVjWOlVhgK5kDR5YEZi88iX0E4R9zWY/JichZ9Q\n41/WVTvOJ2j0kC3E65ijpHVgAJv24AYSFGgaEPErHI0oupaODdoCVE4aURHj\nmQuq+obAU876E1Aj5fU2a3n6GO/3ekbRE95a2SBDYCPAsouUAcBIMbwOiAiR\nO0CY+TrGeH+FyKAWEnjSI89CJ23OZkSnza+yPSB5IxyohOMVJYOguusegE+e\ny3i0m0qRXfjBxEH9yAvR2VAATdt4gFo6NLuZBxE3GtYYcXhTrIGTBZLV1d99\nvvUVV5JY8ENPVjL5yGGDzJpEvR8HQlYuA2w6NmaS1rhdxwsfWdXwYAeF4NAw\nBtsT\r\n=wk59\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"1c0384092f28bacd6d2194bd9ac90110e32ebe45","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.10_1566934283789_0.9985883404206641","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"fastify-mongoose-api","version":"1.0.11","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.11","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"4bbf5b3acb355ca4c3bcccbcd1992ed024e662ee","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.11.tgz","fileCount":11,"integrity":"sha512-aPdiUOZzF8ZAqbwVpE1EWVXkQ5Ph7HZe9Zlbq9/jEAmeoJs5xk0mhZNVTqo9zUpALDhd9zuStgR8vuHrTpO/uw==","signatures":[{"sig":"MEUCIQDgpC7QHY6+J09V/zAuXcPHUH7p0/XvaA5nRGJ5YYcjlwIgF2xurhlZmD44mkFFSlrXigLJmCPNzPhx6aqBb01hg0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZYjGCRA9TVsSAnZWagAAZyoQAIWwkSmdDsIlF9oSly2S\nz0W1tNruLDxZEzsATWXGJHh1gmIFJoo2/A7nMK5WnPJodWCOe3x5ZskVyii2\n7n4fyCHCGim1KMcEmu6YFrEA4hRr7oOcwx6lkplbXI/9KrFUy+uggDoXOrRK\nN6ZONHwYpzuTiBCIHudF4OdCVNLTKJjlfzjE7JoVENA+w05RHPgA/hrZA3bw\noHtBMZGnL6QZKIZCpQpOexubk24HlMp1KhqiCCR/azdNMg+S8VRHhPt7Ar68\n6IQFItppaRUqDIawxuAWnUBfm6JlrJ2fCHLWlXSDZxBcSibcRldnwdCTvaWL\nEKvsYDxnWDGO8I4a1rXVpCsQBWL3jVYa7iNddpsD+5PU9FHG2Lu6+TZSWwk9\n+ZryetuLKVfBqHmcVr8a+qoUAKuBdVwFYoT5HXzyeFmUrBABBM6w3F+0hJ18\njTXBMCXTTR/+uODwwU56Ms963M7B2cwXYtOZi5zYEyZ5HBZJ1t+im/omn20m\n6HbujBiQn+EmEzytSS2vrmkMrNgTdS3IwH9sTvbMkHarsfV0P9HxXxXuDNbd\nMVy1eCbrVaw+G/UzykOlHnrEL43PLI8j08alBXOimIuvQSIEXakqaH6leB/2\nJ55S5uWVtTlSzToNwoF8dKKiGyfeTVqOuo0/xIAFeSKEnDsfNrAoUoiAUI31\n/Eg5\r\n=Bo6K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"0489eb6fd74e3e27d5f1fe7cfbd3ee30599e041b","scripts":{"test":"tap -J ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.11_1566935238267_0.002395700214380847","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"fastify-mongoose-api","version":"1.0.12","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.0.12","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"addc5210f1fb478851e672917e2af3554b4b216d","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.0.12.tgz","fileCount":20,"integrity":"sha512-VqDtOvQ61Rd9sjTAKxAbwuw0iugSom4JEEg43QaFXM5WG9OmTUk9MuG0lT7B0tecnukqVvIy5CZ7G9n2f/nV0A==","signatures":[{"sig":"MEYCIQDIz1RNapo3Kn05rccMJIRbXknmdwrfd+ulLkGsYgTZngIhAMuU9fcDuaZR73ETBBDx7IsDjj5M1X668pTDAOT5XIgd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":174612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZZDfCRA9TVsSAnZWagAAyP0QAIGYhtWNNiBFr9kM8V2y\nfDxkJ8AcCgUld2hTI55Eixy2MNb89QUewu04DcMGNelUeqbJpQCBLTnHx7Om\nI65PR6S9ZcXOc4pxXxDpgEDbUccMpVmEpTMTfXg+AfcNF4vQLiE6OlV9wusa\nq2AAAoacUSypVxY3tG3nXh+bmACZ7LkXeNdeFBAjl1klWVGQTQI45T9Y2TcE\nyUmGaHCq8P5lMTflUhrByFKWQwFExbXtrVL/YTU+H2KxzOyPx4+pFPAkSDzn\njLDbnTVXAc1vfJmWboog+tRT5iiVxEMotZOJXFRZZvjLQIkF4zCz8vJU165W\nEB2/uJJ1sO3+52Vr4JHb44dBEt295QC4yUR0QGXUy18zSBp2ToJ1t6sCEB4g\n5q+3izuM+y8+zBKuDM15bBkZeKDB/tckibYK89n2HgBiXF6sKr92nyzvaWD7\nvGFyF9HS4n4Z67wTpvtiLWVf5KJz4ECxdKw0bXRdL+tZuoDUlnzzd7m0A68o\nosr4VFfjaugyEVotB2YkrCqoUgjwhZLnW8D+YnYcKi5s/PqCvN5BUsSKTSsE\nCoH+gvTcBtH0GBqEnc0Pgensn+ZePiKLEl/olik28B1Ln/YWEHDg4rf+2xxu\neHE7WqhNMtVC1vQgQNvHBCfGziRQQDKMjdQPDVUAQMfAE504PniMMfy24j6Q\nWnbr\r\n=EI3r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"c679c69deff26b963ca377f822dd006bc38741ff","scripts":{"test":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.15.2","dependencies":{"fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","hippie":"^0.5.2","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.0.12_1566937310579_0.21126257317758124","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"fastify-mongoose-api","version":"1.1.1","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.1","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"73665e22c4c49d19d3f7f30db025b89e50946d8f","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.1.tgz","fileCount":12,"integrity":"sha512-YQNbKdDNA3xos9XmEB2clqYn08DV5/D/HgVoRUiFNej/Okf1Owkgrbi1bjcdy47r8kfQjxGudOoi7994Xc+wZQ==","signatures":[{"sig":"MEYCIQDjQFjy558cNL8evFfDv1Cc/uUe9CDeXBDydIsV3c1/TQIhAOjEhO6V/wyngxBCJMUU66JKrFSjE+mafqqG/Hno0DyK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmFDUCRA9TVsSAnZWagAArt8P/A2gt5mrfNSJ92ws2IMA\nhVP80q3IYFxgzaMtLbpaHTEnVP+x8dMPU2d6+qCKZGGzJLFEnPb2znAgqtbV\nMsmQS/7rr300AAVijQBVfeSXDCHxPxWaLdPV5zma6mtJdBM1wnxNwajRkcQ3\nebH4ReGvGMiWvSJTWAcBP3d3b5XynEKYR2Qwb4Z+bq0huAVhbvMAHVf2+zp/\nwdb5grSV4YS8tRnXqyO7k495WWZrK3fHMnnr1BXwiqUXTnICdoaOv1gaoLVy\nCDFJW7IrwRWasD9WpIo0X2DZgEkoP4ALnJFn0+ODCrhWwnVfoKIV07uiG9cO\nOWsv8dFini3PRiF/OqCwq4QKSCG7PGmcl21IhZX9iSV6XoszbG0NB4aXH5kw\nXFRriCraFXCBZ9DkZFST/PKOIFiaUgjqv3pXyx0aIDcgKAR8X6p1bNf5aLz8\nIoJPJSuTo3wLZKQw6Bp9FRi1kE8ne3vdl2LKI8O3lXX67QhZELypysuU5Kyc\nBuOWAcFKx70vN9yY3CR2WX8PazZC8JHbHN2OdLOkg7p9MzP16EWUjHz7+uox\n64/ynySzptOufMvOMBktCj9uAoLWGyisQblf9CtmdBGBgBWLMtSxYoF8TnP7\ne6Ucn72l7O/TyUOP11RUxq3wYMYctPqJaaAjgbvx/WSZzE19UvaoEhD1jAYd\n6dUm\r\n=b3k4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"f7a4bddb8a9221df1c570b9dce4b9f66b49314fe","scripts":{"test":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^2.3.0","mongoose":"^5.5.4","pluralize":"^7.0.0","fastify-plugin":"^1.5.0","fastify-formbody":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-node-tap":"^1.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.1_1603817683852_0.6972876380200466","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"fastify-mongoose-api","version":"1.1.2","keywords":["fastify","mongoose","mongodb","rest","api"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.2","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"50f16b457e00a4e3733cf7c4ed6924d8e53ac468","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.2.tgz","fileCount":13,"integrity":"sha512-3GoqghKpNbc7QUWgBf1ppEEM+Ner2c2WElutwVAWoW0qh4iwoCjsqcNXb//yK5YOUqAdImTGb2HcQ2CSORdjrw==","signatures":[{"sig":"MEUCIQCKTPc6WsetVgK/3fxviNfiEms1ERCv+f0Qjx7qd+McKwIgZ3KjbvPjnijlDEaP+BBaChZOiZjiBPopEwgLYaV9jR8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzVm5CRA9TVsSAnZWagAAGScP/0Pk/MAwFakvZzgxHvyC\nTB285Y8fBaRURpfNRP5ZqXnj+A/3IcmiJfINwsJGXiUteeSpwEoHOrT1GoIP\nZmzW6M/I7aFE+2iI0JjIeQp8+r4eCMgwMwsNYCThmObr0aQ/F85uKX0USXI4\nKe5C7elbumsh/mG9c1QpS8r2b7BTVfyenx7rj28nMpGn7JYO73LWimR8A64w\n23G83lj9ziveK/iEL4pYdwohJXzJW1FmxLZ+sRIyjYNQsqyQfW9RGlps5/zT\nB40Cbgqnkxvwkz/MxBINm1PEshh+aPC5jv9xDxLv1OyA22TM7lXSuiSxeghE\n6bbHKYDsB39elhR4PkVyOqbhy++W8Gz4Lw9rg90fxntubjbX7q2Xvac6DTvT\nFzqow6hxRlvGj4D9tgtWpu0goFj1io3x+Sp8v22Oj2K3wxNxLled0GL3/qAM\nT8StwApPpAMusMiAoyxt6EjKUv4Y4UJnWHIyMpjQDRZyJY8VoLZOPjGWDo9D\nHokXUBztoHivax9zeQAYFCAOV74yKg2PI2fIXkW+PyuVYul+1ErbaIOFD5vq\n2w8pMqMY+JV31Z2DpeBsqc+3Ccb5VyurVseGqBlqpoNLV2l+vEh/RibdZ8AK\nlCrDYUjYH4AyoSNZBainm7ZepVosRmU0qr3hpmhZB0DFg2be6JM0wH2Y/fTn\nLpAf\r\n=LKqG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"771caa416ed2b2d421a40400716e444a82dfe332","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.2_1607293369332_0.9234139974520303","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"fastify-mongoose-api","version":"1.1.6","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.6","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"34c7bd290791aaff4ab142cf968885f615924225","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.6.tgz","fileCount":15,"integrity":"sha512-fMviYD9A4RdgZkvkZLG3N9wNTxwbcAKFjiu3JWzO4FFZb1Y8UJeOc41Cp0KpTfmMtBs3Kn2qat1yY7KRdB7OVg==","signatures":[{"sig":"MEYCIQCOp4kzZzEmMlzm0Fi/XFog19/yK3bRwnwzcgXZWv5NcAIhAKcx+rIYOJVSZSt/NTLLcyuAVIqEZ80xRr9u6OEGS6LH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzYJXCRA9TVsSAnZWagAA/EQQAKGMtHKm1Hxok1wW384J\nQ0mwvgLWphLuXbuSBPhAcoEiOaY776MkyWDTmwk4oupGBAZKplrQhJvRxU0V\n48LmFZr55G83FOLxeW0PP1yrzH6a28ARZa5N1k0dDegDrcjRie7YPhMVacyz\nLkqyoh2QTOktS3vHl0KNQhMXgKexTDpqdLuBgpvX0WjmCgmF0E5jOl8FgbjM\n1GhM37g26LbN0cm5G6mVpiSM6Twcs7AXiLcDkhYOrW7My1/TIgbIlsIAxyZK\ngcrJdf5GQRtoL9MHWLyquY1f2ojgA0yEBB/w0qAIMl7P4gRIuC4Ny8hSxcJr\nAYVajnP4vhBND4whxlmCL52OlIDdc3NJH7shTyUeNDYYqN6emdjAz1I2eI0n\nqOSySqa1OkmQsyNEFxH6Axi10//OQjFLkdfgoBhQGvF/dcNuDTvyuVnD4dt0\nCIZ8wWj7KCADMsbNYr3PoxSJngGGb6DAph/xyec8id59rePDFCD6mhzy1DIF\n38urzc8a9kyQqddAkWrSX0xGQOWFyxGOhdjjCfcb/whUIeQm+6Wa/fzZ+Jxm\nYs+rRseGNZAwJ/7NoJAmp3qCgZgnNhbu/IEmxQlEhL4FA0imwGJ1MJXGW9WV\nBnmgDhGirQaTlXjJZ+8XWj6z3OsoB7j2AeaQaXOkITrPpITzWzRepunGFfnp\n1EiP\r\n=fu4s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"116d02fab322c5a9ebca70b54df45e8c5c4c4b0f","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.6_1607303766633_0.11817022962080714","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"fastify-mongoose-api","version":"1.1.7","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.7","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"373e6146c68198a3df9378e554d44c8a64dffd9f","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.7.tgz","fileCount":15,"integrity":"sha512-zN4EhWH3b8n2ypprmqYkCi1YojuWOZzXm2YqzTuFU90hJqkcRN00DjQl7IcOAOzHwQZjVi5PEvwPLuj3+eNVrw==","signatures":[{"sig":"MEUCIHCK90WSc2/jjXtIPlKJL8vv+DhWkc+MeMct5PXlTdLfAiEApH73tMUsow4TDdA+/KzHzO6rq++GEWzR/Usdcb3ZDPI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgO7htCRA9TVsSAnZWagAA/fIQAJ4XxiolBSycV5o3AAQg\nJ6olLgm/z+TKT5vieOufidS0q1+nm4hmC3yE6WiL/tRkBl/29S5lTkkneyRi\nF30Ah2f8TCsjmwA2pUzNQxfbp7s6I4TtGlEdcu5xTi1Cr33ZFWx3ClyD2NiV\n4FP5kPW2xhP0xuYdfDl9mMgzN3ksp70qXRfNqKKyfTAZa9s3gf13DQxNfHZY\nceC8rICQ4Xr6Q1b7GTGRIJTVGR6FhSQHjXFuAiNeRgfk/kAEDZBPz71EBVLa\nlf4u8vMgF5g4n5XZkZnZT9TL7lvaHgJWDuay5e9QMOCJhT+E5V/uqAX8fb6l\nm2eCKjD9zt7xre/xL19zuMFYwlEX4TMLYVZDDWhYs2EzvSTmah9idKIJ36qq\njHqVBHmTa9ErDeBhIhbHYV0jRhd2p9DbO+DmrTNE2lTsfGYyEK9JW/gi4x/G\npf8kRco2K/sm5N/Es5k/NCWGLlXubK2Co7suPFeoNg0m6fzdmtlOjCHM1R1h\ndbu47AbPpNapPja3Czh7dCu6ms6g+oRKwURjY2gqCrJRXtQJ4QxoUsMKeXYM\nzxxlisWbcH9tTKdxX60TLzQuD70d7g99veQtYiDfPWkx4LmeRoBr7NJVI88y\nQCYv/BwSPkf0OKfW2Y9tReTTGUd+gp8ZWbGqQFu94vTt/UF3dYa+VPH29+fh\nQJYk\r\n=BynF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"2a640c9599a54e1bb98628b8e472015e94dbbe31","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.7_1614526573202_0.6254191556367015","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"fastify-mongoose-api","version":"1.1.8","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.8","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"49d62a4cd9edfbeafbf9dd1944861aa1d8eb53a3","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.8.tgz","fileCount":16,"integrity":"sha512-iyR83jgFlUeADZufuaXPz7ukcuQZ88CjMPWeETnSNG+MkOoL4iLzHe5oHowJUpHYjc6HsUUOr6e+LYkF3eUmQQ==","signatures":[{"sig":"MEUCIGsNNyvLtqRZriDzyJp5LJKW0ud7luizZE1y9y7UbStJAiEAiMjvBwpyVBnNdRC1j/XsyqhdQcWjgaJy+g1KX5JQEBs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg74NFCRA9TVsSAnZWagAAufUQAIJRavMnx0CdOnYoAqKz\nN520E3IXA+TzIAYU3tb5Bjlwi4c6ij1Kb02jyq+7vmvWrYYAHmBaqTrFv7HC\nw+WWfXM9BDb3YC6lMCWAQg9Z9uxahsOzEo2xHMQnPGlXpJW81NuYV3LXYyhT\nR0ZPzq+18kgGicXZVYthJe4sT17TFWNuMdTBYH180KHqb7BWzGH9tLGvBYD1\nymeIwiZgdJ6l8mUqmELtN7MV/K8o0YvJj3pz9Lh75fyBh6ScMng/dunpw+RO\ne37okhpzUG3Vg3P5ALzgHXxX+vbjkPQUjaMYV6DzWceQ0fYUs63SqZUKqRbf\nO1rfM0XKi6lkCUmAwDOoOY/EJbUHqGp8RR/477Gs/n8wHBY0q9iCbHU8YTDC\nYFkuNbSbOazp42GVpmvD0uw2kY0M2v1XKTcG1mCAMXnPxuyYJd+CzBwweA5J\n0vy1YAQ3owidPsDQ79hZHs6CWTWIklV3sXG9vWkoaJwRLdURZg05MDPUI0M8\n0tNXCvXtKKYHmslTGh21EMwfg7f5HE8ekug6y1/1pbrF/g25W1sLD/XXzMzg\nGXVn2mOyeWSnSrJ3hSBI5+VgWhuxd0UCkCOfyS9+vdAxpSbd8uy2bnK+yiJD\n4rGC8r0t4JedbeS4ICZaXFCq3GE9TNWgOGNN3yZ+JUxziC/EBIt6zb7y8z8O\nP2r3\r\n=GalR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"80124275e1b15275e6295b4cdd91b41c599a502e","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.8_1626309444811_0.8153022354376012","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"fastify-mongoose-api","version":"1.1.9","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.9","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"9d1a8f86272761caa9f86f9cb3d2b82db6a6f678","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.9.tgz","fileCount":16,"integrity":"sha512-TVOXJBch2aLHXAO/QCB1ozc4JL6bXT7Em12OPu/UfaT2Y1Sz1z+wJUkwjJKJgmlFWbwq+sH/stg17QGzCP51pQ==","signatures":[{"sig":"MEUCIAbxh3SIlgUXTxe/7p60J73uFuwIj0x1FE+bKhnQhHGpAiEAh89EuJqIyT+VXs4bGWLad/8HIUlKDP7585gCgJ5GZ40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8AmICRA9TVsSAnZWagAAEuUP/1sLZXQl590zSdTTA1W8\nhqngWxwB3wjGWcJYI3pWYp0rlPSBc4TQYHLhNn4fZsnZU0vg/mRXiT2J4aNq\nGjKaV4+q8jEjHmFfdpDREVn3d/hlZLYg6CY2RnIaaOZrzVfQmB53hQPCcCjt\nAxg4LwuKSoiuFBuPjrv8xkwrqYDBiM06G/5h9cfxpCLUQTTVPeiZCjV53/ml\no22YMAc1u9l8E/EbTNet0b7jKcJBT7B+YKLI6NyTxuAVJSKxJ2ZevQIHcesz\n4YfY45zsVewIiFcVYTo+CqV60ZbaDZ7whn7Nn7Li7HSrbO18cS2Cc64HA9CW\naDDpw8qfpv/m2rckTZHk9HfaxwgXA+6JcHijCZK8Ap5U+Q1irx7D3KCph+4x\nxdx4I883C0+vaEyiTHm18ooteHJ0Ytb+bfWJ3o51mNtnQu7kdB0Pgp7uSmX4\n7UQtEvSx2qHPQMIIjyAgrabVbOiesetsrdyPEA1YDnkPiTmQFN5Rum90LiLE\nMnIvM7pLo8Nq5LWM9Av+SlDKJ8r3HfBZ6cjM5XqyCWuE1CeXhbWitue2oyzf\nT5fFvgnnJ+X2BtoYzXcNchnR5lZAtxHdzBDVAfO0yyCyPJTYSjFWu59/4ddg\nVhD/5IDJBTVK4z30rHqxf1YIb/LMgFmm39OPecLDUWo8llL8WxFGepdTpZfm\nXshk\r\n=ZueL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"23ffeb4edce5886df284572c84a947a06d2f37af","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.9_1626343816580_0.3781466101442059","host":"s3://npm-registry-packages"}},"1.1.10":{"name":"fastify-mongoose-api","version":"1.1.10","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.1.10","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"888d222390d58fca595749d7498f55b3ef97de36","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.1.10.tgz","fileCount":16,"integrity":"sha512-qGaG6NV8opkcxYoESfnM04srgjWLIf+wvsNkdY/DEYfG9tO01ih1ciX3XmR5odnPOl+4jY3mNXdjTp0SX6AK9A==","signatures":[{"sig":"MEUCIAjs5h5TAhC/pk22uVp4lTRuz+cr8+JDFlNZU81oQUjeAiEA8mjfAqM0lgTurGLKQbSqAFLWRKQa+ofRKF2ZyornIBY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8A1zCRA9TVsSAnZWagAA7YQQAJaEZLil58Vq/eF78c90\nnsfxyQpK1cYARJUaerKJkMef/Z7VwSWbpKX36oEmkTt8/g8Xj1NAha8eYUI5\nuG26CDJ8iv6bTr3kL8BzZJMeCkYWwDNOe+17qsx/3i82Y/ExHcTp3DYJ5TB8\nVHd2KSY9abSegGnz/r1LvssalyqMjeb++4RqyB0DjbhnAUqxWx1QxWSf9sRZ\nNs0EHgstcCIvFs7CAmT2JQ3bQ/9NScrtmaBbv4GW6SEYvYKMlqKlw5b5jR4+\nzqCZHTMARlSqChWdt4hUcpQR9TbXOrH4CfWy4kSRNqkgLnjFyHCfMkifjtrh\nX7/LEgMGopXxVC8FzO+x+8ZHapt1CHT4m6vu2yGCr4QoE/ugUrZoroJgauWD\nkgvlVs3xDb4aE9IUDffJ8S2b0kVSlG+AakUpvIwTmSmdRwByO09xvRejF8u8\n3nvwLLtM0EyW1LWzHhWDjXkazfOmwQ8UAoHk3eAB9sskmzk+AC4mhXInIgEU\nHYRnobN/kRdYnBRNEP4aplgZFRwdEPkFTZehQHf2pSgaItPufG0FaVoTQX3d\nVtBgjfKMjNGGRa5VdvnMVJJsnpDjLgbnOSjSJ+CrNK8xlCMytBZuwjKQDa1A\nHHg6m1V0AZSEcvMN4bgYTcMeHNNenv4MymOlXLwDxywGFDutiqIUBh8YH9to\nxsMr\r\n=0sve\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"100ecaf9966a1f566fc8f43907cdcbb25473d3fc","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.9.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"10.19.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.1.10_1626344818870_0.8611124665635879","host":"s3://npm-registry-packages"}},"1.2.11":{"name":"fastify-mongoose-api","version":"1.2.11","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.11","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"fe6918690c7a3ba1f535815b246f901992eccfad","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.11.tgz","fileCount":17,"integrity":"sha512-CrtugGxh+vZAJH++bsf7uHel59ZjUu7yKZSqBMNbaM3yVG6zw9Kw36w3mR+2IyfohZoXcKET5XrpABOyLYPplA==","signatures":[{"sig":"MEUCIQC9A1w+/ODsZOL/ZMrXfaDeEp1Oq9VkoGh820OaBkwxCwIgMpyjKNeNht+DbZAtPuwOG6JlJOdxR1IRJsVe0/5URWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiY9+bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoi3Q/+NVwCVcSbvd856awSJFukM1V1OVJn17FRSSsdJKQAVbU1NP9G\r\n7kJSAc1nw1BuO6BzqtE1mfMXxTFO7EQLwFCD51Rp4q71PcbAZ+6W/MAEd/MK\r\nUaznOG3T8zl6m+mzD5ikg5oGhcofslumDpwLCf/EajrbwT/NuRhYp9/qv4RX\r\nnsSZ8eWHedVMzePGJ2+T5MhhN/sL+unPBvWUP9YTWS7rsYfh7XD6OJB6VZeh\r\nZbW2DnifL/lX4E1Hv+ElnI5cxkTkl6z2ZQF/9LhdiO1e1HSvK8PzdMxlkejC\r\nIfDITBoxVjr7tu05o+N48sMKtwg1tisFhEKnKjtP9YQkW0/6Znl5SKrMYhnn\r\n6chf8WrfHl+jUbulrWgpwJhDGANxSSkeTzg+HF2b4Eipf4ine9ugYb7U7AVs\r\n3+qoxy7Mwd525ZmNqVpkbehvn02cvhBazD4BtNWHifi3BEyk49eE6o98Ydpx\r\n80ArQcMeNjAQfiFthV6afzUH+rS3t78cbESMpGs1vK0Ad2PT2r2wvqn/xz+O\r\nARHIsm3QY6T8N/XQRUrm8gcne1Eolc7+COXk2ht4Kc6YsUDRvjrfszu8qfS5\r\noEFhhCf7uU7NBsYDUxcm43cgDPDowon8SIM9231wHDwmqv8lbZc08oy+1Zem\r\nH+a4B5xe3iyFeUA0B5/MtRpW0FaPA0j76Yc=\r\n=vDei\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"a57ebaf41ce3195b75f0ac18cd9db2388c324df6","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.11_1650712475349_0.48351861976501076","host":"s3://npm-registry-packages"}},"1.2.12":{"name":"fastify-mongoose-api","version":"1.2.12","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.12","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"d8b10de7a954a529416f4dea223081c5a2d3048b","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.12.tgz","fileCount":18,"integrity":"sha512-O7CNYdX72YC478TG11gCQjLb97WPeXa4ffW6X5FddXw02Bel5glb/gE9GZ8KhizEiE0VBaF1YQR4B67SnXhdpQ==","signatures":[{"sig":"MEQCID0yXVkT/J/q8uMv/ojBM7bfP0Sr+kFU+ZaygkMJ5vwGAiBsqmTIRZowDfKoTLC76mA8D31PQMCsnKYo1eEGWLfT+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":93272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicHaYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqngw/9FkHsRwd0haYQyKNrsvT/x24Scbkv0E806GVWEap8ZKSmMrWL\r\nS5D6p3SffKPo3R1nsogXjeJFsa6BRHofPcVzF8J2IDBZ862Qfn5mACcUpgx1\r\nJmKXv7Wic27sVqLTPC2IhRgEsj8tx5Zt4GbxsHcb1gT9v6kV69WmNYBtK+vO\r\nsinjcna2Yl8Ph2TahmjOZ8U7ZmR5FeHOgJ6znye1QzuEsdklbfDFjMixj5kG\r\nPpusRYC2TDGiKe0AWjCZabEJRvcE+55NxCcStPSPe0sbgepOD0dFV/AGDfIe\r\nJF+qad73AGf39CsyY2gf29ugfu8/GYP2y/EHj3MCT3mEBz6a7pNl/+Pf+ZS3\r\nOwgFIhWxkl5gupSTvGzoYdHzp9J154SJLVk1RB6YObGo7plRb30NlUsrJWFU\r\n2IK99eYNDqgJADQc4RGElVDEthbdEICa4p8yzJyjcX+dy9mWpkkfxI9G6WhM\r\nGnt4mF0h5nMrIRPnUIdBRfQI1KrgXwXMyejQSlJke5necpoxvnf3NfvBhil1\r\nXx0eYZZp918Kk4N6Nao+9RFrFtBIv3u19qd8QqlR0D4mri/3s3PxSZChWdBg\r\nusQwyJl7ic2SFRJWlGa2H0W8z/3e1XDuxEeNWgHyNAubOInbLnX5tgzNVIUO\r\ndCn20QlaqClvwWIHOoJraM9CTZjhyLWA/as=\r\n=R/Yz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"db5c6b19f7230711cc81c0f519ce1c8a52273b32","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.12_1651537560482_0.7830608377201904","host":"s3://npm-registry-packages"}},"1.2.13":{"name":"fastify-mongoose-api","version":"1.2.13","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.13","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"9a78c62fed1e883555dccaeb83f308771385dddd","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.13.tgz","fileCount":18,"integrity":"sha512-silZGHzNc3SK5gEdP+YGzwv5E7JnRXZAxXHF4gcpL0rBEpf+N236axzh9eb4LdPwX2Gm+dHyqlLm7CuyYLkiTw==","signatures":[{"sig":"MEUCIQCCCDuKngQBwO/S7GSgcNSnm8WPGl+NOpZYy4XUJJfplgIgCWw6UXqtZm2QFugpvXTScPUhHFxDRGhcZcy9b48Xlpg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuzRKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHmw//dqCrmP01b8FEvCPHUFw8aIuKgr2BNaj5K8WG3qfNmmV4MGS9\r\nfOItbi2wYRe0HQLHKSWyJvTMLHGTTJVHnluaPU+++wr7S5q+QFbJLmnizU97\r\n0POc+JMkxhbUm1eoK4R/yzphYaeDQDFFByR3TCxjExrVjvMiE2tVblfZZ12I\r\nAxJbGz89+BDyFYyoKbk8d6LX9M2X7MArAIYAaJ2S+ZjQWPJPgu01Emqq8A/f\r\nqU5yElvEsF4bpYYx9rdODcLjiDjJhphKb0aA2I069CvTFCVun2MzjgndUfj6\r\nSbJ0fuPnpxys9fk6Zx25BOoz/VvtAtfBIZLLOrC72hOgR67k6Z24Mm4XFvDB\r\nTPOZ4ZR2Lc7uDuEWzxowHLlSI4abGVsq3o7wQDkYRJGP2/mvUTiZQT8y5QuC\r\niTE3j/PTS7zUrYxyp8b4yNuFZUcNbiBBHcyGV2QyVa8nvZIXny9Ngt9bIeBV\r\nfp4GdmrnHJvy3jq9BagiAG6drGIfV2p79JhwvjDYUkQffan2Wzn26Rt0g0xr\r\nFQXgatMHsgTP9ygPM1ZWaZL6oXOYFF1YlKbm7xci5snACY47WWao3sodPoKD\r\njOReAeULIfzY0Q85vs3eAT6IRXwhwaHfm+AShOsOlH9mvj+UbZqJf00xWI30\r\nZNxoGhshIV9ejfESmMFwLEV0CbtfzakQC1I=\r\n=pNNS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"35edba5280dbe898a054e6e1b47690d919bf58f3","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.13_1656435785959_0.9294188264182703","host":"s3://npm-registry-packages"}},"1.2.14":{"name":"fastify-mongoose-api","version":"1.2.14","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.14","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"a4a4238d6e80ea7ec08eb0ed391bc4d09f672b44","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.14.tgz","fileCount":18,"integrity":"sha512-vj/ozRPjtfl9kBqEpQOrgAdbu1AyjTfPfcxeR3ZE5wqynovQMearYgnyi6AcJeZ/bC6oWCY7JOLKkZXY39di4A==","signatures":[{"sig":"MEQCIG3VrCmOa+0nsj87CPplThgzhZkX0CQbifoTRhAzpLIcAiBAq95hxRgsUPUPwY5lYhr1frCePqqSIOlk9/Zp1Y62eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuz6wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrchg/9H4a2aqrDvgeLOR3x5+0YUUvc9PXnvu2sJ8qBb95xpInkZVHa\r\nS5r8gQqvpT5nWQaSSpI3uAAgbvjKml/JdIVeMHCgQdAJRDSiDvVcj5n4NWTe\r\nqsJ7la2kSPv7QvSNy+nbwTK47QPDbrAbC/W+99wLtCNrDIAEda1DRr1uNRfG\r\nEd/EwXP0+gX4k+Oud2e74nKM0ospAunXPLp0mWpBzbkVyJuB1Dg5fKXnTW/n\r\n1dasngOBi0cABY0tOi3zwAp7gdHBDp/X5Ath5hzRdIpn79fmakxjlgPaxtj5\r\nQfSclQsj5ERA99ZQoPwWspzvPsfi1nZjwOKuK+ZpEXQwUQaMN0Jy/1RczUTf\r\nOqgRJ5ElD0j61b/ccSXUYGr7sMXRkuBfxjLyf4mv31PiNl15uLOO8JCsSevp\r\nH1u2OvtA+xZ/vXCncIftCkVdPllO62t89IJoF0r9a3GrmLP0igU/MyoM4MdO\r\npG1Q3n7OdDaqdrCwVaDhf2W1hK1KS6myIgU0a6HkIlaTZKlTlFj6+BGWbow6\r\n5jLysXiPDMi/iV7Ep5B3ArvFbeSEcRZuqQt1Tm5Ofyhhk973ah7dMtxyhh7f\r\nzCnRBcOSSvPlmxJ+bjO9viTR0a8cbpQHlGW06gk1Pn0nD9Za2rMty5f/Je4I\r\nmG7gsOX89ofEQcHwnvLUj5MYWqIW8ztPciw=\r\n=ZM28\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"4fd128ed45f0b4b825d63d8c7bf8c3e106790ac1","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.14_1656438448174_0.9724930936681522","host":"s3://npm-registry-packages"}},"1.2.15":{"name":"fastify-mongoose-api","version":"1.2.15","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.15","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"cea0af0f1a8c08b585679e82867ec6addbebcaf5","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.15.tgz","fileCount":21,"integrity":"sha512-bzY/t1FHkpRmgt5HX0tMr/yz0XUtA+/omsh0q1ZP1dUj/k41I2QOJPngE/4t47NXkEkcLy1k4+tzGBfeZZNEug==","signatures":[{"sig":"MEYCIQDKOwHqjmya0indGdvbIBQK6/y7LsifN0UxcD+xBFhc7QIhAMTc2Vg7zLwCLIh44RXAARcHda5D94AcOpnEEbCdwBEN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiv21BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZXg/8C2v8OeFiDYo9Nsqfk9eLszHUyyOQEoNg838q7THA1m7ulVAF\r\n/cw76eNpiYfsNbeykHoR7L1wA85xJRWAAJMK1tNcptDmbARQrQOPER+s8QZ+\r\nMGXps1tgIjafp6AJtRS4W3STOS2GIl5HujWYmtsZ7hPasoWi53DYkHGOdZlr\r\nOzLHl+f7Cd7K7PubDnJtt0z0bX503WKNV9yjuNLi5gXiJME4OMwECuPHaIlY\r\nRQdT0Q4SDiNwraYFQR5x5eer70DcH7L8NEJHk/8kTEY7Ct8uGh2cxyLOzlpH\r\n5R+1Xsttrnj2O1lUFP4Eg461O+X11mVDQAJoEbqbLYZf5mOA5tL0HBiinJ5H\r\nKMGMGuwcYU5CqBCdeCFS2FaNT6UjTch5VZ037Mz+TLj9yre71aidZHNXxGyP\r\nN7m1DhM7QRA2xP2dbgJWCkRre39A+msx8M5jN5x9QaqJ+w4GZBuo6b4GKtkI\r\n0DW4nMtN43ABBWGQ6W9JdgZwKi6tWhLrAUFZZTSgkOGWE4N9xOOcZEGMj0+f\r\nEzwLl/wvH4s6+EnRP6xxZH8wYTMRDmYT+QqxB6QrwpPR4phDxgBKmc/xX0xZ\r\nmuPaa1O1DRpfmYq2XBrtcFdw63Xa8xKqzMsz2AvtV1/rZnzXyX/SHvJf36a7\r\nDusNHSaQ4ca7VzVXTBY1TkOFzrZTfq52aJ8=\r\n=8bgv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"660aa8abe3c1f2849fb4d9b258cbf7cf0ec42892","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.15_1656712513512_0.1835308269295861","host":"s3://npm-registry-packages"}},"1.2.16":{"name":"fastify-mongoose-api","version":"1.2.16","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.16","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"cfb1057ea308530b863abe2b88833e6cf40ce71c","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.16.tgz","fileCount":23,"integrity":"sha512-0xv/trIKCxLePcXp13WP2olgXYipdu3V+0EBtfwBeIPQa+e8y8GpRAzkrPPsaE67PotJYlPKgDXyi26i6+/lOw==","signatures":[{"sig":"MEYCIQCUL9R0A5kGUczV/6dkAdAdoRYLHtrPiKJc+V2raz89mgIhAKzqxObBSRSE/XV2YKi2Bk6Wj4+XUvGCquOshvOUgoh1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizscsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYLg//S3QA4b/PfsmAR+6vB8QGQRkDRj94ZhmA+7y4KtiVNkZZfgc8\r\nPmTZhN8oegcfHPzDLKvTHNrJGgEtTrtgCXL4ScDxKzmmPByAa6EaiQdsNqKp\r\nqx+lUV2KeJMdYg6rYba8vDrPuyosCmW9kNUdiHLtqXkHZXrO8QPhv+ellpyK\r\nKKhCo8wfTUxzoQB4hAR8VhD5715GxqNYckQWvAaQTnjzi4P6k15jI1Gh3sUU\r\nkcmUUwy3zcdhVYwtKTyL3DY8iOwbahgWJr9t2NVBkqtrXboB8IcvU7/BFRWM\r\n0Fodie2rOR1FJTLRhf+PK4Y6Pm2ZRPfdbrVspVO6mwZaaQXTpIdG03J52lyN\r\nr5fluA9wbL2/ehYH2pHPF5ir25Wk7STIvL7EJ9lFqoZJKuSQNtTII+tdX/ew\r\n5QOq9f1fR63FCzmfeU2qeSJzlvr/Gu2Vq0saPwNI9Co5GSvQ7CPpCiL0ZR4R\r\nxcmQl0YejxmClmDc55+ObDMt2RZIExGit/yTULtGj3V3h/at2E1kBjBGCjPy\r\n11QbyESivOIU8+9s6rusJgnCdNxsd9pri+JrAj78inxXO21mjl5JzsgDVQ4l\r\nsZa8t+uRYuQvQYqoeH1K5a0cls6HHZ/orX8JUMc07+Cfz/g0VJFoHMeYEJdZ\r\nVPC8PJ97jOVksBJLu4L/EZ+5EOS5iwGi9Ik=\r\n=qnMW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"579f61434ef1330a040627b7809df742e18cdc69","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.16_1657718572249_0.8992138568946793","host":"s3://npm-registry-packages"}},"1.2.17":{"name":"fastify-mongoose-api","version":"1.2.17","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.17","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"c0ac10a9b9403b705107242f815756f73a583a12","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.17.tgz","fileCount":23,"integrity":"sha512-p0w8ZSaN6l8R65ZeIym3a4SfAZSIGhoW47VTM+pMHZIVSxdGuh8KXXxwEJuGxe9VJ1qgTSsoWdsXITtLriOX1A==","signatures":[{"sig":"MEUCIQCg1G9JFPtghRtzKPcyNVZWcQi1VWXfQ3D2WJVdzNaOzAIgUY8MHmtUhWGTfls8sM7FZZI39XHclRTheVHlSqyLOPE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2gPsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8Ew//eb3RaD2TM6fs8zLbQnZ7shp9HW2YNu/uwd0lWVd3Xq2oIK+t\r\nImkigI2k75k2CB8BpnKsIvVjpPZUrPQNsQ/aPFKzdCDSWUM7XWVnIrgVpQmn\r\nig8ufA98hI9tR0MXTjJ9VZTjtfYmMAZqemxZds/tyuniEDn2fT+w3ncC1GMm\r\nF08cL6nXx7vEg24M1nKQ75m8xxYrNf0Ddow5DWEdqJEzUxmsOUqpV6RfvqgY\r\nFRp9HwaCUywanQrqQuRse4gSq5Na3+UyD3YEXoE9nd2FEgJe3mNVVzBOvguh\r\nmS29CtoaCChOsw6J0wQZlLeIviHoyHoA5kOE6b7Gk7d5Ty3820AWxESFxgum\r\nUrW4dSS5MHBzWpzgxO/cpqiGiVpL0l5+9xQFJ8fYyTb8T0m/N1+JHFcdT0jP\r\nABytVRmml7hb1XllDhpKrzxMiCnblbta1EZ5GQTKT2J7VfDcOk8WsgXfQtGp\r\n6vNocVKnf7ioH1VFygIPVAx59rQkifOcdd+6/hQwyGS+NVQhG0cYfyxc4avn\r\nMh/1xirHUmIgzFKwRGOJ6xmQWQgxQJe0lvfDRQT581d85bRnrAFde6IevUV5\r\nfZW7qpK8ihplKxBC3UMOd1OIJ57b+hpyWYDRNQ8WWh6bhcEFMewGJPpM8Sox\r\nsc2aWGT4OAv3WxIEjw92poXtFr+lCS87C/g=\r\n=imMY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"5781cfa8d7c6df635489480eab32d75ce697539d","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.17_1658455020665_0.4102262685858271","host":"s3://npm-registry-packages"}},"1.2.18":{"name":"fastify-mongoose-api","version":"1.2.18","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.18","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"2bcbfaa18c257465678aa9ce3e2b54f9e106a818","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.18.tgz","fileCount":24,"integrity":"sha512-l3eJdF/LaHieshyzbJH0zAgyMRoYccC+y+l8aAAN5KuOwY+48o8AYVbY+WuMGJ81UmSHunk0jXwAHlQvMabtKQ==","signatures":[{"sig":"MEUCIDc21XuxnkuqOemNAmIVcAWa1YEtOd4gOLeBOtJw7yv8AiEAos4X3r021PAOzhZjl2h40ZRrOUOSDB/5EF+zZND4V+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkB3/NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHaQ/8CVslXao84iBP1px1ICmJzI8qFVztGadohT3+8+zhs574F7lW\r\nIhuW2PADxP+89eU5/1U6GhDfiL8tO3eRmOt3oAnECB4+vi4DJIxnhvyFgyt2\r\n7pEjLQSQNBtwVuatLYX+HzAwPprWRqxXf0dA3Vx+Q7VogfSvkxVbvIIScsIm\r\nBCyRnKjgT/C4nu3yNSelMzppUA7wbAh2nIm0aJ2pMN0VBktOoNj8InjyS9Rl\r\n13VhhZS4rHSBPqkKgekQ81ukTI4vp+mo1OfP93Q2fb3I7z7jB0Q4hW+2hnz+\r\n0Z6BOHKF6UhiF6PgGfP+dMp8GWpn9jemkWwBrcJ8g7fzRRW8SXeoRZFfcCJ1\r\nklZYPsSRxKkt8zsWjt4tSxRjrdhrBa9iF7YLZEblmh/snEw4zziEByN+cBkH\r\nqUbjAAvmf+piJIyqLgeMjxKhO/y64jfHq0Ux4/t8kfkU9APHU3Jj0qA8kzUx\r\n3OwpZqZB3vLmOiG0/XhwVZOMT0pFcFNK/HnuBshI+HRtSpdLy8FlEj7AuY2u\r\na12hBtNd0hRIYe2M/H3DkcmNX/tgcDay+lY2h+gQ5KDR+YG7PXQBd6AauB1+\r\nEDpR+xr8IiZcKMqLlbyMDX4uMQv9gguPreODpccceAN79igaO1m/KANBKk+y\r\nULJhSyHLrkO0D2aIllM0Wdp38DHvIFILjkU=\r\n=bzJ0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"f121af866defd77473b5eafc96a7f213ee96437b","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"6.14.15","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.18.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^13.0.4","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.18_1678213069020_0.243293749101946","host":"s3://npm-registry-packages"}},"1.2.19":{"name":"fastify-mongoose-api","version":"1.2.19","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.19","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"96b3d7953347c5e501d805bdb2dfdec7262ba22e","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.19.tgz","fileCount":27,"integrity":"sha512-04k5+ItUlZqzr34BIqmRz3Y2wHtELQX1CEmX1crbODHytCLi74YhxjbuvWRm2vxK+9VDYwBdO1zKQSB7XRW75w==","signatures":[{"sig":"MEQCID3RZpoOWoR4TKXW79RlL4UuUwhkVIRQJ0fpGI70h9UzAiBFIEmy3TFXOD2JSZE9VVV2KUrvT5SIaOU+8HgwJnm0Ug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":153447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJ1qHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpalQ//daz3PQqkoY4wZUP4FT/nK95OEilXjiD0IHNZXDbq2SM6Bmzb\r\nKWjj+bDsb/r8mYytXYHsU+Tusvzy01b59pNxW0pEfU6QDkFhyIS4YOeJQjxb\r\nZqkRJTE/nosGqv0Yx2ZuQkMKUp4DCYvfkeuEY/qFqP65Qx5/5eRtA9R2joj7\r\nuHTQSgXNarNUYnVONt2FmQjxYu6Qd7DYHg/TYFib8XEbsrF8gyxc5OPTIbkv\r\nq6YXKH7wsYDHJvhDwFNbe4MLkBhoQFV7yq6n/am7aA7V4TGu44Bi75IvvID/\r\n6QxHXAnPMNuSFKP7FijHSGZRn5Qr5rerx7mxTmjkhF2uREYTGXa7bWfcXY0u\r\nkqIsj5ViAwKk547nUTecjt24ZJfUoStWa79oFyJdYQKmVvb9/+Wd/6NpKIa1\r\nwZAoeHqyURf7uhGa1m00gDNtmnsLD00psuRtpnwr4X2ExH5Z5+tGUe6a8jim\r\nKr1f1795iMuYyUSOl/vxaK4kgvr3D2MCBQxcUMoqRBFLmOQYDrkpHy3t2RJv\r\nTKJhi4+abFsH+EIUZBKymn1J3oxkemjUfdrL2Fxq1yDyMl2IhWX3yTur0wXP\r\ngxcUm8DO3KluOB7kCpT87umyuRbL55Cm7CBNW8Y8BJsPwz98j681wEtwEb1I\r\ndcYlL5UlLIkWlkxufEqIkAwYTLFUl8ncSBU=\r\n=oXRY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fastify-mongoose-api.js","gitHead":"86088b5777ae648d3a388c697d72a176c11d6329","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"8.7.0","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"14.15.1","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^15.0.0","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.19_1680300679750_0.46963275722052544","host":"s3://npm-registry-packages"}},"1.2.20":{"name":"fastify-mongoose-api","version":"1.2.20","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.20","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"bece7ab835939bd844f896d88ba2d48593438627","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.20.tgz","fileCount":29,"integrity":"sha512-LPg1GutFTHttx3tgsD5OyYfkbUDY5JkJRJZI4jGJecylEOiHeAvFAmSSl03o5Y1THE9einn3Fn/Bu+gBU77rfg==","signatures":[{"sig":"MEUCIFl+IugZM+LBdDz6ffdcDcEoNW5wjG2EQGI23RXrV9BbAiEAmBYDIvNcwpCyfC8d76dIWllUwOo5jtxAhArnABKSXPA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163264},"main":"fastify-mongoose-api.js","gitHead":"e505f1e9bbe8a7ab290a7e1c31c7ecbdf8f56ba2","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"9.5.1","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"18.16.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4","fastify-plugin":"^3.0.0 || ^1.5.0","fastify-formbody":"^5.0.0 || ^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^15.0.0","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.20_1693399596317_0.9152646131830702","host":"s3://npm-registry-packages"}},"1.2.22":{"name":"fastify-mongoose-api","version":"1.2.22","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.22","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"d2ccb9d2cdc7df330a5042ec880fefcd5bada3ba","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.22.tgz","fileCount":29,"integrity":"sha512-riw5kmmzRsk28/bwRpjzI2jhbpdnF0Gnzg/U0zlMMMAZDIe8U4LAyrCNtO763oFQ7khi57/5gyQs7aOHEl06cg==","signatures":[{"sig":"MEQCIGydftwFCtvAHRcUREyJBckoS1KMYCgR1FxHqnZF84GqAiB4VQpgd3RhZlUkSMV03893cEJj0yCQdZ5kXjtL3SGiTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":163447},"main":"fastify-mongoose-api.js","gitHead":"ecaa5c8f8e77b0a6f45822d72da3ae714ddec222","scripts":{"test":"tap -j=1 ./test/*.test.js","coverage":"tap -j=1 ./test/*.test.js"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"9.5.1","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"18.16.0","dependencies":{"debug":"^4.2.0","fastify":"^3.8.0 || ^2.3.0","mongoose":"^5.5.4 || ^7.6.3","fastify-plugin":"^3.0.0 || ^1.5.0","@fastify/formbody":"^6.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^15.0.0","grunt":"^1.0.4","eslint":"^7.15.0","grunt-env":"^0.4.4","supertest":"^4.0.2","grunt-tape":"^0.1.0","grunt-eslint":"^23.0.0","grunt-contrib-watch":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.22_1700252982037_0.8664175673990115","host":"s3://npm-registry-packages"}},"1.2.23":{"name":"fastify-mongoose-api","version":"1.2.23","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.23","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"contributors":[{"url":"https://github.com/EmilianoBruni","name":"Emiliano Bruni"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"7e6b2f48b644178ddf02061fc689bef56b5c05a4","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.23.tgz","fileCount":42,"integrity":"sha512-iy+IAWSyRaezGXSsT2pr2gdc8Vd+Lma3eYG4NxQHSZoYW6f5bP3JK/2Pak1/yQeY1Z99TPs6jYySHzIkrHfgNw==","signatures":[{"sig":"MEUCIADHdrENRfQW5le7oU9LCAqGlhq6JJRWFcIrAjCkyTzQAiEAmpoLs+Q1L7pmrgeUTqRYfbBKoXomFR2BumaFiO/1nlo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1132531},"main":"fastify-mongoose-api.js","gitHead":"bd48474dc6389418aa3930f285a2b5ebcc30d982","scripts":{"lint":"eslint \"src/**/*.[jt]s?(x)\" \"test/**/*.?(c)[jt]s\"","test":"tap -j1  --allow-incomplete-coverage ./test/*.test.js","coverage":"tap -j1 ./test/*.test.js","lint:fix":"npm run lint -- --fix"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"9.5.1","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"18.16.0","dependencies":{"fastify":"^4.26.0","mongoose":"^8.1.1","fastify-plugin":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^18.7.0","grunt":"^1.6.1","eslint":"^8.56.0","prettier":"^3.2.5","grunt-env":"^1.0.1","grunt-tape":"^0.1.0","grunt-eslint":"^24.3.0","grunt-contrib-watch":"^1.1.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.23_1707857568452_0.01092576768518283","host":"s3://npm-registry-packages"}},"1.2.24":{"name":"fastify-mongoose-api","version":"1.2.24","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.24","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"contributors":[{"url":"https://github.com/EmilianoBruni","name":"Emiliano Bruni"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"a12b0639239c555156ef20f770800cc7fc4bf6a0","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.24.tgz","fileCount":9,"integrity":"sha512-NguXRKfRBcqpRgD+Fy00thGZyzuooF0VGCqMkEkY017k6EXanzdt1E4gm7JP//iYxmf6hFLoRBJHp2hDhjAx8A==","signatures":[{"sig":"MEQCIE+P8141DRgr5+muwc5nD+qO4onlpabHEw9hZgpJy8SfAiALPxpo6Zv6SdG5j0tYRyandDOfu4X/yBkiNmI5RkFxnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62289},"main":"fastify-mongoose-api.js","gitHead":"93e977ef1ddb599eb0e345e9c079ec45500625ad","scripts":{"lint":"eslint \"src/**/*.[jt]s?(x)\" \"test/**/*.?(c)[jt]s\"","test":"tap -j1  --allow-incomplete-coverage ./test/*.test.js","coverage":"tap -j1 ./test/*.test.js","lint:fix":"npm run lint -- --fix"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"10.9.2","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"22.14.0","dependencies":{"fastify":"^5.2.1","mongoose":"^8.11.0","fastify-plugin":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.1.0","grunt":"^1.6.1","eslint":"^9.21.0","prettier":"^3.5.2","grunt-env":"^1.0.1","grunt-tape":"^0.1.0","grunt-eslint":"^25.0.0","grunt-contrib-watch":"^1.1.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.24_1740961865974_0.32248169121376","host":"s3://npm-registry-packages-npm-production"}},"1.2.25":{"name":"fastify-mongoose-api","version":"1.2.25","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.25","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"contributors":[{"url":"https://github.com/EmilianoBruni","name":"Emiliano Bruni"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"bffae0300a498f617a527c600df7fbddeabba0d0","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.25.tgz","fileCount":9,"integrity":"sha512-BAkMbf9fT8y10pS2YjdgXjmr+jpiHcHG4N1UVbajcwtjZlEhQ3Aya2MRrqtF6gcMo5AnTBnmLMBylB/KR8U9/g==","signatures":[{"sig":"MEYCIQCkxHBLLvpp0UEBas1rchte7HS0YuPNKrx2nJmQ7k073AIhALyHRXi+JM+2vAPzHNVbMjglpJJDU5J2hNtddCDcqBdd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62366},"main":"fastify-mongoose-api.js","gitHead":"213f604f21220c68f9117913fdd955b97f310aeb","scripts":{"lint":"eslint \"src/**/*.[jt]s?(x)\" \"test/**/*.?(c)[jt]s\"","test":"tap -j1  --allow-incomplete-coverage ./test/*.test.js","coverage":"tap -j1 ./test/*.test.js","lint:fix":"npm run lint -- --fix"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"10.9.2","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"22.14.0","dependencies":{"fastify":"^5.2.1","mongoose":"^8.11.0","fastify-plugin":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.1.0","grunt":"^1.6.1","eslint":"^9.21.0","prettier":"^3.5.2","grunt-env":"^1.0.1","grunt-tape":"^0.1.0","grunt-eslint":"^25.0.0","grunt-contrib-watch":"^1.1.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.25_1741652195835_0.7954554728782128","host":"s3://npm-registry-packages-npm-production"}},"1.2.26":{"name":"fastify-mongoose-api","version":"1.2.26","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.26","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"contributors":[{"url":"https://github.com/EmilianoBruni","name":"Emiliano Bruni"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"0fc021721c646255e97d157b1749bd738102268c","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.26.tgz","fileCount":9,"integrity":"sha512-v0jdlBVqLERg7DljfmrtXsVz6dc0DJMcNji0sSJrr9eDX+ylcoCYSUkkzZg+NFLqV6EkXnXeKxraPedDNCqGug==","signatures":[{"sig":"MEUCIQCF5nTK5Al0tp/1sGX3jgaFPFWGF1ZH2HK0zGChiR+EQwIgCOORswmQkrrUqK1c6R2X4i5iBHbZgTMtxC47dyVxt8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63274},"main":"fastify-mongoose-api.js","gitHead":"87e17fac5b3cc6942a04e1c9919b9fa9eb829928","scripts":{"lint":"eslint \"src/**/*.[jt]s?(x)\" \"test/**/*.?(c)[jt]s\"","test":"tap -j1  --allow-incomplete-coverage ./test/*.test.js","coverage":"tap -j1 ./test/*.test.js","lint:fix":"npm run lint -- --fix"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"10.9.2","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"22.14.0","dependencies":{"fastify":"^5.2.1","mongoose":"^8.11.0","fastify-plugin":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.1.0","grunt":"^1.6.1","eslint":"^9.21.0","prettier":"^3.5.2","grunt-env":"^1.0.1","grunt-tape":"^0.1.0","grunt-eslint":"^25.0.0","grunt-contrib-watch":"^1.1.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.26_1744588632612_0.9985609290696129","host":"s3://npm-registry-packages-npm-production"}},"1.2.27":{"name":"fastify-mongoose-api","version":"1.2.27","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"license":"MIT","_id":"fastify-mongoose-api@1.2.27","maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"}],"contributors":[{"url":"https://github.com/EmilianoBruni","name":"Emiliano Bruni"}],"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"dist":{"shasum":"8843bf77a13e12668ac007746d0b3c19a4c0ba95","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.27.tgz","fileCount":10,"integrity":"sha512-sEwwT73StDdl+4fV05qh0NjywbpHbaG07PIHop4jt94uaHXLrS5cYagPoG5Lm+D3KxJQ2eCb9i0FVCuGgN+2NA==","signatures":[{"sig":"MEUCIQDFfZTlOJJ/d6Mk8Kox3WIuReG2W8xYkkCC3I2jUj20AQIgZXuSleMIalLr8ygVuA/W21Z+yrHXoPPYF9b9YFELAaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64330},"main":"fastify-mongoose-api.js","gitHead":"cf8c9d0f5da8a929379e69d1267f1462d331fbfa","scripts":{"lint":"eslint \"src/**/*.[jt]s?(x)\" \"test/**/*.?(c)[jt]s\"","test":"tap -j1  --allow-incomplete-coverage ./test/*.test.js","coverage":"tap -j1 ./test/*.test.js","lint:fix":"npm run lint -- --fix"},"_npmUser":{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},"repository":{"url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git","type":"git"},"_npmVersion":"10.9.2","description":"API for Mongoose models in one line of code","directories":{},"_nodeVersion":"22.14.0","dependencies":{"fastify":"^5.2.1","mongoose":"^8.11.0","import-sync":"^2.2.3","fastify-plugin":"^5.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^21.1.0","grunt":"^1.6.1","eslint":"^9.21.0","globals":"^16.0.0","prettier":"^3.5.2","grunt-env":"^1.0.1","@eslint/js":"^9.25.0","grunt-tape":"^0.1.0","grunt-eslint":"^25.0.0","@eslint/eslintrc":"^3.3.1","grunt-contrib-watch":"^1.1.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.1.3"},"_npmOperationalInternal":{"tmp":"tmp/fastify-mongoose-api_1.2.27_1747266943158_0.3833869910854222","host":"s3://npm-registry-packages-npm-production"}},"1.2.28":{"name":"fastify-mongoose-api","version":"1.2.28","description":"API for Mongoose models in one line of code","main":"fastify-mongoose-api.js","scripts":{"test":"tap -j1  --allow-incomplete-coverage ./test/*.test.js","coverage":"tap -j1 ./test/*.test.js","lint":"eslint \"src/**/*.[jt]s?(x)\" \"test/**/*.?(c)[jt]s\"","lint:fix":"npm run lint -- --fix"},"repository":{"type":"git","url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git"},"keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"author":{"name":"Jeka Kiselyov"},"contributors":[{"name":"Emiliano Bruni","url":"https://github.com/EmilianoBruni"}],"license":"MIT","dependencies":{"fastify":"^5.2.1","fastify-plugin":"^5.0.1","import-sync":"^2.2.3","mongoose":"^8.11.0"},"devDependencies":{"@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.25.0","eslint":"^9.21.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.1.3","globals":"^16.0.0","grunt":"^1.6.1","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-eslint":"^25.0.0","grunt-tape":"^0.1.0","prettier":"^3.5.2","tap":"^21.1.0"},"_id":"fastify-mongoose-api@1.2.28","gitHead":"6bdfafff37ae6334858b405d15180e215492ea21","bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-qoMV6bccR7wxS7KurX/9iqhZEztx5DjQp7SNwV/VwMzArRZiGqrMult0HqXHovyhQ4u0HpPakiovkUECti0v7A==","shasum":"9237ecbe211a963ec4bf49a4f852c89487baf34b","tarball":"https://registry.npmjs.org/fastify-mongoose-api/-/fastify-mongoose-api-1.2.28.tgz","fileCount":10,"unpackedSize":71259,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDxxJoh+E2xHmBJwY1YfoYva/mCsrq2zqOsZK7Uqp35pQIhALTOpnVJD+BU/jWskNXNivvr/oLcZt7TsLUPHlE2HA56"}]},"_npmUser":{"name":"ebruni","email":"info@ebruni.it"},"directories":{},"maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},{"name":"ebruni","email":"info@ebruni.it"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fastify-mongoose-api_1.2.28_1747597093004_0.03426522583154035"},"_hasShrinkwrap":false}},"time":{"created":"2019-07-10T16:23:40.621Z","modified":"2025-05-18T19:38:13.401Z","1.0.0":"2019-07-10T16:23:40.763Z","1.0.1":"2019-07-10T17:13:02.332Z","1.0.2":"2019-07-10T17:35:52.522Z","1.0.3":"2019-07-10T17:41:17.165Z","1.0.4":"2019-08-04T17:48:04.601Z","1.0.5":"2019-08-25T16:57:35.136Z","1.0.6":"2019-08-26T19:12:59.149Z","1.0.8":"2019-08-26T21:20:39.730Z","1.0.9":"2019-08-26T21:22:25.426Z","1.0.10":"2019-08-27T19:31:23.939Z","1.0.11":"2019-08-27T19:47:18.536Z","1.0.12":"2019-08-27T20:21:50.788Z","1.1.1":"2020-10-27T16:54:44.015Z","1.1.2":"2020-12-06T22:22:49.449Z","1.1.6":"2020-12-07T01:16:06.754Z","1.1.7":"2021-02-28T15:36:13.358Z","1.1.8":"2021-07-15T00:37:24.934Z","1.1.9":"2021-07-15T10:10:16.709Z","1.1.10":"2021-07-15T10:26:59.039Z","1.2.11":"2022-04-23T11:14:35.526Z","1.2.12":"2022-05-03T00:26:00.630Z","1.2.13":"2022-06-28T17:03:06.257Z","1.2.14":"2022-06-28T17:47:28.364Z","1.2.15":"2022-07-01T21:55:13.730Z","1.2.16":"2022-07-13T13:22:52.407Z","1.2.17":"2022-07-22T01:57:00.890Z","1.2.18":"2023-03-07T18:17:49.216Z","1.2.19":"2023-03-31T22:11:19.884Z","1.2.20":"2023-08-30T12:46:36.477Z","1.2.22":"2023-11-17T20:29:42.219Z","1.2.23":"2024-02-13T20:52:48.678Z","1.2.24":"2025-03-03T00:31:06.152Z","1.2.25":"2025-03-11T00:16:36.094Z","1.2.26":"2025-04-13T23:57:12.802Z","1.2.27":"2025-05-14T23:55:43.343Z","1.2.28":"2025-05-18T19:38:13.234Z"},"bugs":{"url":"https://github.com/jeka-kiselyov/fastify-mongoose-api/issues"},"author":{"name":"Jeka Kiselyov"},"license":"MIT","homepage":"https://github.com/jeka-kiselyov/fastify-mongoose-api#readme","keywords":["fastify","mongoose","mongodb","mongo","rest","api","crud"],"repository":{"type":"git","url":"git+https://github.com/jeka-kiselyov/fastify-mongoose-api.git"},"description":"API for Mongoose models in one line of code","contributors":[{"name":"Emiliano Bruni","url":"https://github.com/EmilianoBruni"}],"maintainers":[{"name":"jeka-kiselyov","email":"jeka911@gmail.com"},{"name":"ebruni","email":"info@ebruni.it"}],"readme":"# Fastify plugin to expose API for Mongoose MongoDB models\r\n\r\n[![npm package](https://img.shields.io/npm/v/fastify-mongoose-api.svg)](http://npmjs.org/package/fastify-mongoose-api)\r\n[![Build workflow](https://github.com/jeka-kiselyov/fastify-mongoose-api/actions/workflows/build.yml/badge.svg)](https://github.com/jeka-kiselyov/fastify-mongoose-api/actions/workflows/build.yml)\r\n[![Coverage Status](https://coveralls.io/repos/github/jeka-kiselyov/fastify-mongoose-api/badge.svg?branch=master)](https://coveralls.io/github/jeka-kiselyov/fastify-mongoose-api?branch=master)\r\n![Last Commit](https://img.shields.io/github/last-commit/jeka-kiselyov/fastify-mongoose-api)\r\n![Dependencies](https://img.shields.io/librariesio/github/jeka-kiselyov/fastify-mongoose-api)\r\n![Downloads](https://img.shields.io/npm/dt/fastify-mongoose-api)\r\n\r\nIf you are using [Fastify](https://github.com/fastify/fastify) as your server and [Mongoose](https://github.com/Automattic/mongoose) as your ODM, **fastify-mongoose-api** is the easiest solution to run API server for your models. **fastify-mongoose-api** generates REST routes with refs subroutes like `/api/author/AUTHORID/books` and `/api/books/BOOKID/author` based on MongoDB Mongoose models definitions with few lines of code.\r\n\r\n### As simple as:\r\n```javascript\r\nconst fastify = Fastify();\r\nfastify.register(fastifyFormbody); /// need form body to accept API parameters, both fastify-formbody and @fastify/formbody would work here\r\nfastify.register(fastifyMongooseAPI, {  /// here we are registering our plugin\r\n    models: mongooseConnection.models,  /// Mongoose connection models\r\n    prefix: '/api/',                    /// URL prefix. e.g. http://localhost/api/...\r\n    setDefaults: true,                  /// you can specify your own api methods on models, our trust our default ones, check em [here](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/src/DefaultModelMethods.js)\r\n    methods: ['list', 'get', 'post', 'patch', 'put', 'delete', 'options'] /// HTTP methods\r\n});\r\n\r\nawait fastify.ready(); /// waiting for plugins registration\r\nawait fastify.listen(8080); /// running the server\r\n//// yep, right here we already have API server running on port 8080 with methods for all MongoDB models of your mongoose instance.\r\n```\r\n- [Installation](#installation)\r\n- [Initialization and parameters](#initialization)\r\n- Sample application ([Source code](https://github.com/jeka-kiselyov/sample-fastify-mongoose-api-app), [Live demo](https://fastify-mongoose-api-app.herokuapp.com/))\r\n- [Auto generated method routes for sample application](#sample-application-generated-api-routes)\r\n- [Create or Update mode (CoU-mode) or Replace mode (CoR-mode)](#create-or-update-mode-cou-mode-or-replace-mode-cor-mode)\r\n- [POST/PUT on frontend samples](#postput-sample-on-frontend)\r\n- [LIST methods response](#list-method-response-sample)\r\n- [LIST methods options (pagination, projection, sorting, filtering, complex where, search, regex match, populate)](#list-method-options)\r\n- [Handle extra LIST cases, custom filtering etc](#handle-extra-cases)\r\n- [Validation and serialization](#validation-and-serialization)\r\n- [Disable/Limit some routes/methods](#disable-some-routesmethods)\r\n- [Populate on POST, PUT and single item GET methods)](#populate-on-post-put-and-single-item-get-methods)\r\n- [Subroutes when there're few refs to the same model)](#subroutes-when-therere-few-refs-to-the-same-model)\r\n- [How to hide document properties/fields in API response?](#how-to-hide-specific-fieldsproperties-in-api-response)\r\n- [How can I post/put nested paths?](#how-can-i-post-or-put-nested-paths-and-their-properties)\r\n- [How to enable CORS for cross-domain requests?](#cors)\r\n- [How to implement authorization?](#checkauth--function)\r\n- [Unit tests](#tests)\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm i fastify-mongoose-api -s\r\n```\r\n\r\n## Initialization\r\n\r\nRegister plugin on fastify instance:\r\n\r\n```javascript\r\nconst fastify = Fastify();\r\nfastify.register(fastifyFormbody); // both fastify-formbody and @fastify/formbody would work\r\nfastify.register(fastifyMongooseAPI, options);\r\n```\r\n\r\nwith following options:\r\n\r\n#### .models : array of mongoose models\r\n\r\nRequired. Array of mongoose models. Usually you can get them from mongoose connection object like:\r\n```javascript\r\nlet connection = await mongoose.createConnection(this.config.database.database, options);\r\n/// ... register mongoose models\r\nconnection.model('Author', schema);\r\nconnection.model('Book', schema);\r\n/// ... connection models is ready for fastify-mongoose-api\r\nconnection.models\r\n```\r\n\r\n#### .prefix : string (default: '/api/')\r\n\r\nPath prefix. Default is `/api/`.\r\n\r\n#### .setDefaults : boolean (default: true)\r\n\r\nInitialize api with default REST methods\r\n\r\n#### .exposeVersionKey : boolean (default: true)\r\n\r\nShow documents `__v` in API response\r\n\r\n#### .exposeModelName : boolean | string (default: false)\r\n\r\nShow mongoose Model Name property in API response. Default property name is `.__modelName` , specify exposeModelName as string to name this field as custom.\r\n\r\nIf `true` it adds `__modelName` to all responses (get, list, post/put, populated too):\r\n\r\n```javascript\r\n\r\n{ total: 1,\r\n  items:\r\n   [ { _id: '5d2620aff4df8b3c4f4f03d6',\r\n       created: '2019-07-10T17:30:23.486Z',\r\n       firstName: 'Jay',\r\n       lastName: 'Kay',\r\n       biography: 'Lived. Died.',\r\n       __modelName: 'Author'\r\n       __v: 0 },\r\n    ]\r\n}\r\n```\r\n\r\n#### .methods : array of strings\r\n\r\nMethods to initialize, `['list', 'get', 'post', 'patch', 'put', 'delete', 'options']` is available.\r\n\r\n#### .checkAuth : function\r\n\r\nFunction to run before any API request to check authorization permissions in. Just throw an error in it if user is now allowed to perform an action.\r\n\r\n```javascript\r\n\r\nfastify.register(fastifyMongooseAPI, {\r\n        models: this.db.connection.models,\r\n        checkAuth: async (req, reply)=>{\r\n          let ac = await this.db.AuthCode.findOne({authCode: req.cookies.authCode}).populate('user').exec(); /// fastify-cookie plugin for req.cookie\r\n          if (!ac || !ac.user) {\r\n            throw new Error('You are not authorized to be here');\r\n          }\r\n        }\r\n    });\r\n```\r\n\r\n#### .schemas: array of objects\r\n\r\nEnable support for fastify [validation and serialization](#validation-and-serialization). If `.schemaDirPath` is defined, these explicitly defined here have precedence.\r\n\r\n#### .schemaDirPath: string\r\n\r\nDirectory where it's possible to define schemas for [validation and serialization](#validation-and-serialization) in separate files. The directory will be trasverse includes all subdirectories using .schemaPathFilter as filter function to determinate if a file must be included.\r\n\r\n#### .schemaPathFilter: function (default `(pathFile, file) => file.endsWith('.js')`)\r\n\r\nA boolean function called for every file in `schemaDirPath` to determinate if file must be included. As default, all `.js` files\r\nare added. \r\n\r\n* `pathFile` is the path of the file\r\n* `file` is the fileName with extension.\r\n\r\n## Sample Application\r\n\r\nSample application ([Source code](https://github.com/jeka-kiselyov/sample-fastify-mongoose-api-app), [Live demo](https://fastify-mongoose-api-app.herokuapp.com/)) with Vue.js UI, simple Auth integration, ready to run on Heroku.\r\n\r\nYou can also check plugin's [unit test file](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/test/api.test.js).\r\n\r\n### Sample models\r\n\r\nWe are defining two classic models. Books and author with one to many relation between them.\r\n\r\n``` javascript\r\nconst mongoose = require('mongoose');\r\nconst mongooseConnection = await mongoose.createConnection(MONGODB_URL, { useNewUrlParser: true });\r\n\r\nconst authorSchema = mongoose.Schema({\r\n    firstName: String,\r\n    lastName: String,\r\n    biography: String,\r\n    created: { type: Date, default: Date.now }\r\n});\r\n\r\nconst Author = mongooseConnection.model('Author', authorSchema);\r\n\r\nconst bookSchema = mongoose.Schema({\r\n    title: String,\r\n    isbn: String,\r\n    author: {  type: mongoose.Schema.Types.ObjectId,  ref: 'Author' },\r\n    created: {  type: Date, default: Date.now }\r\n});\r\n\r\nconst Book = mongooseConnection.model('Book', bookSchema);\r\n```\r\n### Sample application server\r\nShould be easy here\r\n```javascript\r\nconst Fastify = require('fastify');\r\nconst fastifyMongooseAPI = require('fastify-mongoose-api');\r\nconst fastifyFormbody = require('fastify-formbody');\r\n\r\nconst fastify = Fastify();\r\nfastify.register(fastifyFormbody);\r\nfastify.register(fastifyMongooseAPI, {\r\n    models: mongooseConnection.models,\r\n    prefix: '/api/',\r\n    setDefaults: true,\r\n    methods: ['list', 'get', 'post', 'patch', 'put', 'delete', 'options']\r\n});\r\n\r\nawait fastify.ready();\r\nawait fastify.listen(8080);\r\n```\r\n### Sample application generated API routes\r\n\r\n|               | Method        | URL   | Info  |\r\n| ------------- | ------------- | ----- | ----- |\r\n| List all authors | GET | /api/authors | Pagination, sorting, search and filtering [are ready](#list-method-options) |\r\n| List all books | GET | /api/books | Want to get populated refs in response? [You can](#populate) |\r\n| Create new author | POST | /api/authors | Send properties with post body [sample](https://github.com/jeka-kiselyov/sample-fastify-mongoose-api-app/blob/master/frontend/src/includes/api.js#L23) |\r\n| Create new book | POST | /api/books |  |\r\n| Create or update a book | POST | /api/books | [CoU-mode](#create-or-update-mode-cou-mode-or-replace-mode-cor-mode) with `X-HTTP-Method: CoU`\r\n| Create or replace a book | POST | /api/books | [CoR-mode](#create-or-update-mode-cou-mode-or-replace-mode-cor-mode) with `X-HTTP-Method: CoR`\r\n| Get single author | GET | /api/authors/AUTHORID | |\r\n| Get author books | GET | /api/authors/AUTHORID/books | Plugin builds relations based on models definition |\r\n| Get book author | GET | /api/books/BOOKID/author | Same in reverse way |\r\n| Update author | PUT | /api/authors/AUTHORID | Send properties using post body |\r\n| Update book | PUT | /api/books/BOOKID |   |\r\n| Delete book | DELETE | /api/books/BOOKID | Be careful |\r\n| Delete author | DELETE | /api/authors/AUTHORID |   |\r\n\r\n## Post/Put sample on frontend\r\n\r\n```javascript\r\nawait axios.post('/api/books', {title: 'The Book'});\r\nawait axios.put('/api/books/xxxxx', {title: 'The Book Updated'});\r\nawait axios.put('/api/books/xxxxx', {title: 'The Book Updated'}, {params: {populate: 'author'}});\r\n\r\n```\r\n\r\n## List method response sample\r\n\r\nSample API response for `List all authors` method:\r\n\r\n```javascript\r\n{ total: 2,\r\n  items:\r\n   [ { _id: '5d2620aff4df8b3c4f4f03d6',\r\n       created: '2019-07-10T17:30:23.486Z',\r\n       firstName: 'Jay',\r\n       lastName: 'Kay',\r\n       biography: 'Lived. Died.',\r\n       __v: 0 },\r\n     { _id: '5d2620aff4df8b3c4f4f03d8',\r\n       created: '2019-07-10T17:30:23.566Z',\r\n       firstName: 'Hutin',\r\n       lastName: 'Puylo',\r\n       biography: 'The Little One',\r\n       __v: 0 } ] }\r\n```\r\n\r\n## List method options\r\n\r\nPass all options as URL GET parameters, e.g. /api/books?option=some&option2=better Works very same for other LIST routes, `/api/authors/AUTHORID/books` etc.\r\n\r\n### Pagination\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Offset  | offset      | 0             |\r\n| Limit   | limit       | 100           |\r\n\r\n### Sorting\r\n\r\nPass sort option string as described in [Mongoose docs](https://mongoosejs.com/docs/api.html#query_Query-sort), e.g. 'name' for sorting by name field or '-name' for descending sort by it.\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Sort    | sort        | null          |\r\n\r\n### Filtering\r\n\r\nSimple filtering by field value is available. /api/books?filter=isbn%3Dsomeisbnval will return all books with isbn equals to 'someisbnval'. %3D here is urlencoded '=' symbol, so actual option value is 'isbn=someisbnval'\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Filter  | filter      | null          |\r\n\r\n#### Filtering by Boolean property\r\n\r\nThough you pass property value directly as boolean to create new entity or update one:\r\n```javascript\r\nawait axios.post('/api/books', {title: 'Some Book', isGood: false});\r\n```\r\n\r\nFiltering by that value may be implemented using number representation of boolean (0/1):\r\n```javascript\r\nawait axios.get('/api/books', {params: {filter: 'isGood=0'}});\r\n```\r\n\r\nSee [test case](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/test/boolean_fields.test.js)\r\n\r\n### Complex Where Queries\r\n\r\nPass mongo where object as `where` property JSON-encoded string and it will be added to list filters.\r\n`where: \"{\\\"count\\\": 2}\"` or `JSON.stringify({$and: [{appleCount: {$gt: 1}}, {bananaCount: {$lt: 5}}]})`\r\n\r\nPlugin uses simple sanitation, list of allowed operators:\r\n```javascript\r\n  '$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin', '$and', '$not', '$nor', '$or', '$exists', '$regex', '$options'\r\n```\r\nFor `$regex/$options` it's supported only the \r\n\r\n```json\r\n{ \"<field>\": { \"$regex\": \"pattern\", \"$options\": \"<options>\" } }\r\n```\r\n\r\n[syntax](https://www.mongodb.com/docs/manual/reference/operator/query/regex/#syntax). Using \r\n\r\n```json\r\n{ \"<field>\": { \"$regex\": /pattern/, ...\r\n```\r\nsyntax it's not supported and produce an error.\r\n\r\nSee [Mongo operators docs](https://www.mongodb.com/docs/manual/reference/operator/query/#query-and-projection-operators)\r\nAnd plugin [test case](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/test/complex_where.test.js)\r\nfor more info.\r\n\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Where   | where       | null          |\r\n\r\n### Regex match\r\n\r\nUse it for pattern matching. Useful for things like autocomplete etc. [Check mongodb docs](https://docs.mongodb.com/manual/reference/operator/query/regex/#pcre-vs-javascript) how to pass regex options in pattern string, e.g. `(?i)pattern` to turn case-insensitivity on. Pass param in the same way as for filtering, `/api/authors?match=lastName%3D(?i)vonnegut`\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Regex   | match       | null          |\r\n\r\n### Search\r\n\r\nPerforms search by [full text mongodb indexes](https://docs.mongodb.com/manual/core/index-text/). First you have to [specify one or few text indexes](https://stackoverflow.com/a/28775709/1119169) in your model schema. You don't have to specify field name for this parameter, mongo will perform full text search on all available indexes.\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Search  | search      | null          |\r\n\r\n### Projection\r\n\r\nProjects the first element in an array that matches the field. `/api/authors?fields=firstName,lastName` will only return `_id, firstName, lastName`. You can also exclude fields by using `-`, i.e. `?fields=-firstName` which will return everything except the `firstName` field.\r\n\r\n|          | Option Name | Default Value |\r\n| -------- | ----------- | ------------- |\r\n|Projection| fields      | null          |\r\n\r\n### Populate\r\n\r\nIf you want API response to include nested objects, just pass populate string in parameter, it will run `populate(param)` before sending response to client. To populate few fields, pass them as array, `?populate[]=author&populate[]=shop`\r\n\r\n|         | Option Name | Default Value |\r\n| ------- | ----------- | ------------- |\r\n| Populate| populate    | null          |\r\n\r\n### Handle extra cases\r\n\r\nYou can create hook method on any model to handle its List requests.\r\n\r\n```javascript\r\n  schema.statics.onListQuery = async function(query, request) {\r\n      let notSeen = request.query.notSeen ? request.query.notSeen : null;\r\n      if (notSeen) {\r\n          query = query.and({sawBy: {$ne: request.user._id}});\r\n      }\r\n  }\r\n```\r\nquery is Mongoose query object, so you can extend it by any [query object's methods](https://mongoosejs.com/docs/api.html#Query) depending on your state or request data.\r\n\r\nNote: **do not** return anything in this method.\r\n\r\n## Validation and Serialization\r\n\r\nGenerated API can support standard fastify validation and serialization via `.schemas` option.\r\n\r\nIf you are not confidable with fastify validation and serialization logics, see [documentation](https://www.fastify.io/docs/latest/Reference/Validation-and-Serialization/).\r\n\r\nIf you don't set some schemas, API works without validation (except, of course, that inherent in the db schema).\r\n\r\nIf you wish to add a validation and/or a serialization schema for your api you should add an object to `.schemas` array or set a directory where automatically load schemas with `.schemaDirPath`:\r\n\r\n```javascript\r\n\r\nfastify.register(fastifyMongooseAPI, {\r\n  models: this.db.connection.models,\r\n  schemas: [\r\n    {\r\n      name: 'collection_name',\r\n      routeGet:    {},\r\n\t    routePost:   {},\r\n\t    routeList:   {},\r\n\t    routePut:    {},\r\n\t    routePatch:  {},\r\n\t    routeDelete: {},\r\n    },\r\n    { name: 'another_collection_name',\r\n      ...\r\n    },\r\n    ...\r\n  ],\r\n  schemaDirPath: '/path/to/your/schemas',\r\n\r\n```\r\n\r\nwhere `name` is the collection to which this schema will be applied and `route*` are the validation and/or serialization schemas for related restful http verbs.\r\n\r\nIf you omit one of these, the related verbs will be generated *without* a schema. \r\n\r\nIf you set to empty one, [these](src/DefaultSchemas.js) defaults will be added.\r\n\r\nIf you set an not empty one, it will be merged with defaults, with, obviously, custom parameters with precedence.\r\n\r\nAs an example, it declares author first and last name as required. We should implement this in `POST`, `PUT` and `PATCH` verbs. Do this for `POST` only\r\n\r\n```javascript\r\n\r\nconst schemas = {\r\n  name: 'authors',\r\n  routePost: {\r\n    body: {\r\n      properties: {\r\n        firstName: { type: 'string' },\r\n        lastName:  { type: 'string' },\r\n        biography: { type: 'string' }\r\n      },\r\n      required: ['firstName', 'lastName']\r\n    }\r\n  }\r\n};\r\n\r\nfastify.register(fastifyMongooseAPI, {\r\n  models: this.db.connection.models,\r\n  schemas: schemas\r\n});\r\n\r\n```\r\n\r\nAdd a serialization to `POST` reply  (errors (404/500) are managed by defaults).\r\n\r\n```javascript\r\n\r\nconst schemas = {\r\n  name: 'authors',\r\n  routePost: {\r\n    body: {\r\n      properties: {\r\n        firstName: { type: 'string' },\r\n        lastName:  { type: 'string' },\r\n        biography: { type: 'string' }\r\n      },\r\n      required: ['firstName', 'lastName']\r\n    },\r\n    response: {\r\n      200: {\r\n        properties: {\r\n          firstName: { type: 'string' },\r\n          lastName:  { type: 'string' },\r\n          biography: { type: 'string' }\r\n        }\r\n      }\r\n    }\r\n  }\r\n};\r\n```\r\n\r\nAs you can see taking a look to defaults, this plugin supports the URI [references](https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-01#section-8) `$ref` to other schemas.\r\n\r\nYou can add manually these references through `fastify.addSchema(schema)` or automatically if your schema has a `ref` attribute.\r\n\r\nThis attribute could be a single object or an array of objects if you wish to register more references at once.\r\n\r\nSo it's possibile to simplify our example moving duplicated data into a reference\r\n\r\n```javascript\r\n\r\nconst schemas = {\r\n  name: 'authors',\r\n  ref: {\r\n    $id: 'authorsModel',\r\n    properties: {\r\n      firstName: { type: 'string' },\r\n      lastName:  { type: 'string' },\r\n      biography: { type: 'string' }\r\n    },\r\n    required: ['firstName', 'lastName']\r\n  },\r\n  routePost: {\r\n    body: { $ref: 'authorsModel#' },\r\n    response: {\r\n      200: { $ref: 'authorsModel#' }\r\n    }\r\n  }\r\n};\r\n```\r\nIf `.schemas` and `schemaDirPath` are used together, the schemas defined in `.schemas` have precedence to there loaded in `schemaDirPath`.\r\n\r\nTo filter which files must be included in `schemaDirPath` a boolean function `schemaPathFilter` can be used.\r\n\r\nThe generated validation and serialization is compatible with other plugins like [@fastify/swagger](https://github.com/fastify/fastify-swagger) and [@fastify/swagger-ui](https://github.com/fastify/fastify-swagger-ui) for automatically serving OpenAPI v2/v3 schemas\r\n\r\nIt's obviously possibile to merge MongoDB schemas and validation schemas in the same object\r\n\r\n```javascript\r\n\r\nconst authorSchema = {\r\n  name: 'authors',\r\n  schema: {\r\n    firstName: String,\r\n    lastName: String,\r\n    biography: String,\r\n    created: { type: Date, default: Date.now }\r\n  },\r\n  ref: {\r\n    $id: 'authorsModel',\r\n    properties: {\r\n      firstName: { type: 'string' },\r\n      lastName:  { type: 'string' },\r\n      biography: { type: 'string' }\r\n    },\r\n    required: ['firstName', 'lastName']\r\n  },\r\n  routePost: {\r\n    body: { $ref: 'authorsModel#' },\r\n    response: {\r\n      200: { $ref: 'authorsModel#' }\r\n    }\r\n  }\r\n};\r\n\r\nconst Author = mongooseConnection.model('Author', authorSchema.schema);\r\n\r\nfastify.register(fastifyMongooseAPI, {\r\n  models: this.db.connection.models,\r\n  schemas: [ authorSchema, ... ]\r\n});\r\n\r\n```\r\n\r\nwith the single caution, for newer avj versions, to disable strict mode so avj ignore the `schema` attribute\r\n\r\n\r\n```javascript\r\n\r\nconst fastify = Fastify({\r\n  ajv: {\r\n    customOptions: {\r\n      strictSchema: false,\r\n    }\r\n  }\r\n});\r\n\r\n```\r\n\r\n## Create or Update mode (CoU-mode) or Replace mode (CoR-mode)\r\n\r\nThe \"Create or Update\" mode, also known as CoU-mode, and the \"Create or Replace\" mode also known as CoR-mode are convenient features provided by fastify-mongoose-api to simplify client-side logic when you want to either create a new document or update/replace an existing one using a single API endpoint. \r\n\r\nThis is especially useful in scenarios where the client may not know if the document already exists, or when you want to minimize the number of API calls and code complexity.\r\n\r\n### Why Use CoU/CoR Mode?\r\n\r\n- 🧩 **Simplifies client logic:** Instead of checking if a document exists and then deciding whether to send a POST (create) or PUT(replace)/PATCH(update) request, you can always send the same request and let the server handle it.\r\n- 📉 **Reduces API calls:** You avoid an extra round-trip to check for existence before creating or updating.\r\n- ⚛️ **Atomic operation:** The server ensures that the operation is performed atomically, reducing the risk of race conditions.\r\n\r\n### How It Works the CoU-mode\r\n\r\nTo use CoU-mode, you send a POST request to the collection endpoint (e.g., `/api/books`) with the data you want to create or update, and include the custom HTTP header `X-HTTP-Method: CoU`. The plugin will check if a document with the provided `_id` exists:\r\n- If it exists, it updates the document with the provided data.\r\n- If it does not exist, it creates a new document.\r\n\r\nIf, in the update, you wish to remove a field, set it to `undefined` or `null`.\r\n\r\nThis is handled internally by the `apiCoU` method on your model.\r\n\r\nThe updated or created document will be returned.\r\n\r\n#### Example 1 for CoU-mode \r\n\r\n```js\r\n// Create or update a book\r\nawait axios.post('/api/books', {\r\n    id: '5d62f39c20672b3cf2822ded', // If this _id exists, it will be updated; otherwise, a new document is created\r\n    title: 'The best book',\r\n    isbn: '1482663775',\r\n    author: '5d62e5e4dab2ce6a1b958461'\r\n}, {\r\n    headers: { 'X-HTTP-Method': 'CoU' }\r\n});\r\n```\r\n\r\n#### Example 2 for CoU-mode \r\n\r\n```js\r\n// Create or update a book (same _id above so update)\r\nawait axios.post('/api/books', {\r\n    _id: '5d62f39c20672b3cf2822ded', \r\n    title: 'A new title',\r\n    isbn: null,\r\n    author: '5d62e5e4dab2ce6a1b958461'\r\n}, {\r\n    headers: { 'X-HTTP-Method': 'CoU' }\r\n});\r\n```\r\nIn \"standard\" mode, this call raise a **duplicate key error** because the document _id is the same of example 1. \r\n\r\nIn CoU-mode instead the document with this `_id` is changed. Its `title` is updated and `isbn` is removed (unset).\r\n\r\n### How It Works the CoR-mode\r\n\r\nTo use CoR-mode, you send a POST request to the collection endpoint (e.g., `/api/books`) with the data you want to create or replace, and include the custom HTTP header `X-HTTP-Method: CoR`. The plugin will check if a document with the provided `_id` exists:\r\n- If it exists, it replace the document with the provided data.\r\n- If it does not exist, it creates a new document.\r\n\r\nThis is handled internally by the `apiCoR` method on your model.\r\n\r\nThe replaced or created document will be returned.\r\n\r\n#### Example 1 for CoR-mode\r\n\r\n```js\r\n// Create or replace a book (same _id above so replace)\r\nawait axios.post('/api/books', {\r\n    _id: '5d62f39c20672b3cf2822ded', \r\n    title: 'A new title',\r\n    author: '5d62e5e4dab2ce6a1b958461'\r\n}, {\r\n    headers: { 'X-HTTP-Method': 'CoR' }\r\n});\r\n```\r\n\r\nThis has the same result of the example 2 for CoU-mode above but now, formally, the entire document is replaced with the one in data where `title` is different and `isbn` doesn't exist.\r\n\r\n## Populate on POST, PUT and single item GET methods\r\n\r\nWorks very same, just send your form(object) data in formBody and populate parameter in query string:\r\n\r\n```javascript\r\n  $.post('/api/books?populate=author', {\r\n      title: 'The best book',\r\n      isbn: '1482663775',\r\n      author: '5d62e5e4dab2ce6a1b958461'\r\n    });\r\n```\r\n\r\nand get a response of:\r\n\r\n```json\r\n{\r\n  \"_id\":\"5d62f39c20672b3cf2822ded\",\r\n  \"title\":\"The best book\",\r\n  \"isbn\":\"1482663775\",\r\n  \"author\":{\r\n    \"_id\":\"5d62e5e4dab2ce6a1b958461\",\r\n    \"firstName\":\"Jay\",\r\n    \"lastName\":\"Holmes\"}\r\n  }\r\n```\r\n\r\nworks very same, you can also pass `populate[]` array to populate few fields.\r\n\r\n## Disable some routes/methods\r\n\r\nPlugin decorates every model with default methods for Post, Put and Delete, [apiPost](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/src/DefaultModelMethods.js#L91), [apiPut](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/src/DefaultModelMethods.js#L170) and [apiDelete](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/src/DefaultModelMethods.js#L187).\r\n\r\n```\r\nPost   - schema.statics.apiPost = async(data, request)\r\nPut    - schema.methods.apiPut = async(data, request)\r\nDelete - schema.methods.apiDelete = async(request)\r\n```\r\n\r\nBut you can define your own methods on any model, so the simple one of:\r\n\r\n```javascript\r\n  schema.methods.apiPut = async function(data, request) {\r\n    // disable the Put completely\r\n    throw new Error('PUT is disabled for this route');\r\n  };\r\n  schema.methods.apiDelete = async function(request) {\r\n    // disable the Put completely\r\n    throw new Error('DELETE is disabled for this route');\r\n  };\r\n```\r\n\r\nwould disable the PUT and DELETE methods for model's API route, returing status of 500 with error message.\r\n\r\nYou can also define any custom logic based on request's object (auth, user access levels etc) or data itself (disabling some fields upading etc):\r\n\r\n```javascript\r\n  schema.statics.apiPost = async function(data, request) {\r\n    if (!request.headers['letmepostplease']) {\r\n      throw new Error('POST is disabled for you!');\r\n    }\r\n\r\n    let doc = new mongooseConnection.models.WhereTest;\r\n\r\n    mongooseConnection.models.WhereTest.schema.eachPath((pathname) => {\r\n      if (data[pathname] !== undefined) {\r\n        doc[pathname] = data[pathname];\r\n      }\r\n    });\r\n\r\n    await doc.save();\r\n    return doc;\r\n  };\r\n```\r\n\r\nCheck out the [test case](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/test/disable_route.test.js) to see how it works in action.\r\n\r\n\r\n## Subroutes when there're few refs to the same model\r\n\r\nBy default, fastify-mongoose-api creates subroutes for external refs to your models, [sample](#sample-application-generated-api-routes). But what if there're few refs to the same model in your schema? Like:\r\n\r\n```javascript\r\n  const bookSchema = mongoose.Schema({\r\n    title: String,\r\n    isbn: String,\r\n    author: {\r\n          type: mongoose.Schema.Types.ObjectId,\r\n          ref: 'Author'\r\n      },\r\n    coauthor: {\r\n          type: mongoose.Schema.Types.ObjectId,\r\n          ref: 'Author'\r\n      },\r\n    created: {\r\n      type: Date,\r\n      default: Date.now\r\n    }\r\n  });\r\n  const Book = mongooseConnection.model('Book', bookSchema);\r\n```\r\n\r\nIn this special case, it will create extra routes:\r\n\r\n`/api/author/AUTHORID/books` - to list books where AUTHORID is the author (the first ref defined)\r\nand\r\n`/api/author/AUTHORID/books_as_coauthor` - to list books where AUHTORID is the co-author (next ref to the same model)\r\n\r\nwhile keeping expected internal refs GET routes of `/api/books/BOOKID/author` and `/api/books/BOOKID/coauthor`\r\n\r\n## How can I POST or PUT nested paths and their properties?\r\n\r\nUse dot notation. So `biography.description` or `biography.born` like:\r\n\r\n```javascript\r\n  await axios.post('/api/authors', {\r\n    firstName: 'Some',\r\n    firstName: 'Author',\r\n    \"biography.description\": 'Had a happy live',\r\n    \"biography.born\": 1960,\r\n  });\r\n```\r\n\r\nworks for creating such schema:\r\n\r\n```javascript\r\n  const authorSchema = mongoose.Schema({\r\n    firstName: String,\r\n    lastName: String,\r\n    biography: { description: String, born: Number },\r\n    created: {\r\n      type: Date,\r\n      default: Date.now\r\n    }\r\n  });\r\n```\r\n\r\nThanks to [EmilianoBruni](https://github.com/EmilianoBruni) for implementation.\r\n\r\n## How to hide specific fields/properties in API response\r\n\r\nfastify-mongoose-api adds [.apiValues(request)](https://github.com/jeka-kiselyov/fastify-mongoose-api/blob/master/src/DefaultModelMethods.js) method to every mongoose model without it. You can define your own:\r\n\r\n```javascript\r\n  const bookSchema = mongoose.Schema({\r\n    title: String,\r\n    isbn: String,\r\n    created: {\r\n      type: Date,\r\n      default: Date.now\r\n    },\r\n    password: String,\r\n  });\r\n\r\n  // we defined apiValues response change to check if it works for refs response\r\n  bookSchema.methods.apiValues = function(request) {\r\n    const object = this.toObject({depopulate: true});\r\n    object.isbn = 'hidden';\r\n    delete object.password;\r\n\r\n    return object;\r\n  };\r\n```\r\n\r\nso it will always display `isbn` value as `hidden` in API response and never show anything for `password` field.\r\n\r\nAs `request` is present, you can return different properties depending on request or your application state. Simpliest is:\r\n\r\n```javascript\r\n\r\n  schema.methods.apiValues = function (request) {\r\n    if (!request.headers['givememoredataplease']) {\r\n      return {\r\n        name: this.name,\r\n      };\r\n    }\r\n\r\n    return this.toObject();\r\n  };\r\n\r\n```\r\n\r\nwill return the full object only if `givememoredataplease` HTTP header is present in the request. You can add some access level checking on your signed in\r\nuser for more advanced flows:\r\n\r\n```javascript\r\n\r\n  schema.methods.apiValues = function (request) {\r\n    if (!request.user.hasRightsToViewMoreFields()) {\r\n      return {\r\n        name: this.name,\r\n      };\r\n    }\r\n    return this.toObject();\r\n  };\r\n\r\n```\r\n\r\n\r\n## CORS\r\n\r\nHow to enable CORS for cross-domain requests? [fastify-cors](https://github.com/fastify/fastify-cors) works just fine:\r\n\r\n```javascript\r\n  const fastify = Fastify();\r\n  fastify.register(fastifyFormbody);\r\n  fastify.register(require('fastify-cors'), {\r\n      // put your options here\r\n  });\r\n\r\n  fastify.register(fastifyMongooseAPI, {\r\n          models: this.db.connection.models,\r\n          prefix: '/api/',\r\n          setDefaults: true,\r\n          methods: ['list', 'get', 'post', 'patch', 'put', 'delete', 'options']\r\n      });\r\n\r\n  await fastify.ready();\r\n  await fastify.listen(args.port);\r\n```\r\n\r\n\r\n## Tests\r\n\r\nClone fastify-mongoose-api, run `npm install` in its directory and run `grunt` or `npm test` to run [unit tests](https://github.com/jeka-kiselyov/fastify-mongoose-api/tree/master/test), or `grunt watchtests` to run unit tests on each file change (development mode).\r\n\r\n## Coverage report\r\n\r\nSimply run `npm test` with the COVERALLS_REPO_TOKEN environment variable set and tap will automatically use nyc to report coverage to coveralls.\r\n\r\n## License\r\n\r\nLicensed under [MIT](./LICENSE)\r\n","readmeFilename":"README.md"}