{"_id":"nest-authz","_rev":"30-cd653f16a4fa10dcb1f7920708bc4846","name":"nest-authz","dist-tags":{"latest":"2.17.0"},"versions":{"0.1.0":{"name":"nest-authz","version":"0.1.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@0.1.0","maintainers":[{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"e702123e38deea975a210e31de10e2be51da32f2","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-0.1.0.tgz","fileCount":27,"integrity":"sha512-kF8WKPzmgsfKqd1oj7fpSRxAGIgH3LXXlz45LCxDDz0M7mPYe6/3eQi+69FuX3BLv7633Mpj5CeiNjMq07c8zw==","signatures":[{"sig":"MEUCIQD1I4BwrsAhq5j4Mt+QMHUM6ByX/OBIcCvJkmwJmMBpNAIgSVMCHkHkqwbwzkhRzrVwqmEVvvaZRNKrePlWQ193xy0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdKjXCRA9TVsSAnZWagAAtYkP/R2VZFZefu9MGldRSCHT\nRMeoKqD1VpFxoMt/gzIfaHzhRxj06IyoO8Lm6kYpMqtWL5Wvres9y8duP+YI\nMivr/H2RInhzrWm/rr654C2V61y0THltWb8AfjYat7uoiispC0ePUjLx+Obt\nVtKi/Cos4nfwMndZ0eCnuGabcbGM94/vOpdjnf63lJASGYQNSMcwxlRUJqpG\nO1KyMOQAywds+FvhjXF1scT8KpIsqUfpdc6Fe37ZS7vNS+W0vTwvDsYndcC9\nx25h4FdparIHJGcter5GVv7u22DI7Hhpcvlya3F53ARDUI9pewnqneE1oLye\njOsyvGRsyHmUSFlBiwwIGzZgFiKWoNnovnF78wpSwvFj9TTDaaKEMmU8xtTx\ngJhsBEb9nyYCCQw2XY+9E/EXcl3e+8VBiPOhgf+PQGhQZ3ERSGeVaJyl0M8z\niTH4CPc4u3a0hxmZ5rMzW139itasoOV3j3WqG52emJUJuYFgestisW+l7Bkn\n6pi+so4+pZkLLUcMqqt8zGLK5E++q/dOyLwiFvJCZQMnbt0QrifREBQ/EcVv\nY6qpLoOg2BNxWrg4rDUcnomVtllHV4IlXHNGJqwOJNfyxwypoCMyw1ZuhTny\n/0Ezu3OLwLaygy1riv4tgega2VjsPVVrkeJep7r2lq2DRQJkfAcYtrCtbZ0V\nW6fB\r\n=ojev\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["**/test/*.+(ts|tsx)"],"transform":{"^.+\\.(ts|tsx)$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"main":"dist/index.js","gitHead":"6105315bcdf2ece60ec35118cede2b0334ca798c","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","format":"prettier --write \"src/**/*.ts\""},"_npmUser":{"name":"dreamdevil00","email":"dreamdeviloo@163.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"6.4.1","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"8.11.2","dependencies":{"rxjs":"^6.2.2","casbin":"^2.0.1","reflect-metadata":"^0.1.12"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rimraf":"^2.6.3","tslint":"5.11.0","ts-jest":"^23.1.3","ts-node":"^7.0.1","prettier":"^1.14.2","typescript":"^2.9.2","@types/jest":"^24.0.8"},"peerDependencies":{"@nestjs/core":"^5.4.0","@nestjs/common":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_0.1.0_1551149271368_0.744227134731005","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"nest-authz","version":"1.0.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@1.0.0","maintainers":[{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"bcb207ea9a5b51d011c4230f11cb070988671f2d","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-1.0.0.tgz","fileCount":32,"integrity":"sha512-nlNfIDsLT2TKvKUHHr9y7YturLO7GqySB+za9ljW6/8Fr4aZJO8lydEEQn36ANC6qjgDT63cA25HIOhA+MCl4A==","signatures":[{"sig":"MEUCIQCPWbgcgOpnUNHKxNybkJMjIGBLrmc6JqsqyuFS/6x//wIgZ4DZ3h2uLWLITxwvXgqGL87E/r4PkDFWKjqEjPcHKXw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxHcbCRA9TVsSAnZWagAA4NMP/3vrbIRr3Ib7e4UW4YQc\noDIr9MJ0V3uZChJDtHo7oSuLUpg/KaCKIrKHntmLlPVZ5zs6aAo133FS+MPX\nme7GgUQo58HKXCxOi2T8WbwAb6USXaS3h44vUPeR+KbkE9VtTN9b2LQt8JZ7\nHtIZKyBEBnOXdyG1nNzKMP7eQSlh7sT+/lGh9NnqJmx8ibiU6JCi+xJfPDZ8\nFCFF/Z95g+6zM+XtRkjCZejCgTuyqtw11mIRFW+dia2y9XU7gauFASVOYhIf\nbTEiLfLfhXw7dz0DQV92DBjhfM2uYTds7soA9WToszGCQQc1eHXBZOOpldX0\nvAzYHLe1D06M6ArzneLFwvyY3N+UlLdVThE+SCz11bHNPWK0I7lLkSL0hkb6\nMO233m/Lc4w8EXemoTHzty/9EsuS+4l9yZPdVHWm45Pc6O5fIcuPIPGzhn1U\n1mOZg3C7EMUwEIXpCxYcKCcY6bk3/q+AXC+j/zBSChpe2OqTcw40nLV4rpkC\nGVhqTYIwkoM3r0h5GgI0x1GMNYt4QHCwipcDsQiBnqbZMj6EkZq26A/fhZTA\nnXR9DeCG3lSqf1CMrGVee00Vod7a/skKv6MXmC2am/9lB1cyAOILdNFWFkBy\nlLXzCNm6TGuQ/JWNpqMZjVFUZo8anzaz4sbUutNfYh75Jgp251AG+WfZfTdf\nsQkD\r\n=81Na\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"e0690842ef3e559538ca8309aeffcbb912ec258a","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","format":"prettier --write \"src/**/*.ts\"","release":"standard-version"},"_npmUser":{"name":"dreamdevil00","email":"dreamdeviloo@163.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"6.4.1","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"10.15.3","dependencies":{"casbin":"^2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rxjs":"^6.2.2","rimraf":"^2.6.3","tslint":"5.11.0","ts-jest":"^23.1.3","ts-node":"^7.0.1","prettier":"^1.14.2","typescript":"^3.4.3","@types/jest":"^24.0.8","@types/node":"^11.13.8","@nestjs/core":"^6.0.0","@nestjs/common":"^6.0.0","reflect-metadata":"^0.1.12","standard-version":"^5.0.2"},"peerDependencies":{"rxjs":"^6.2.2","@nestjs/core":"^6.0.0","@nestjs/common":"^6.0.0","reflect-metadata":"^0.1.12"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_1.0.0_1556379418443_0.4572029742936723","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"nest-authz","version":"1.1.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@1.1.0","maintainers":[{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"b0a1bdb8d0d8d6f2f2aac0837c1d72e814885941","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-1.1.0.tgz","fileCount":32,"integrity":"sha512-GaNNSXNLT2U11qrBZFt37Pzu0xJghzki57QR5c/dawAeuS16/KZi8mcHuUwcLEFRIFW9QsPOhm6QVwE71MK62A==","signatures":[{"sig":"MEYCIQDiMSDNYNnWaDXTdCbvlhZVTbZ69tfI2a3vsjTV0DR/pQIhAN54fO2wrCwF7Q3QBJBScMG1zH+oftifxV00+kfMxUSW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDxTsCRA9TVsSAnZWagAAqiIP/2OEG7+np04b3VjwPMWE\nO/Npr1/ZS1saD9t69TrspxYyfv2JCRUlcJ0XSOGIOee6leGhplHgz8QqF42e\nUm3ulWqsfVBiRQ+rVI6i4/MyqcyyNQw/m7I7W1eeIziIQM+I115u4TIO8i2V\nWvhmwYdrsRlG5YWxHL8nrocOHkeA2D2vt0T5n3C1QR4bcFo1ojDCh7nwPUHC\nbeHGAdoKZ0pduCV4m0V4qxCTUasqhZ/7aqv3/ENPB8X4vbMBjTwZg8qGUNyb\n76Y3PqT9HX5AKFUwYx6DrOJPiGvT6Ls1/iq4kGr4kFfyFQfCwqxBPEMOAAjy\nvdxA0wMwT/GD3Yq/JkbWdYV2xuvdtHGehe70zjWolifr/VhSuoN6wW78yz9d\nzVQnuACvy0Lp7MGuBnisTi6xs/P1exOd8HO/c1cECnc2N3ic8HZLTJTyGIJQ\n922esree3dVwhDslb0WGqhJkIkZkAmx0ChdIYkdtQHc8ErbVbtccRpZt/R3w\nttej7qaEe8/w3jXGZYI4NpIHF2JjilFhM9U6zJeRPbu5TnQiEdLClHNusjas\nUc68BdtojHid7tjZfkchSoW4oyRIXSoIBrhG425gOZa85pbfVVVeI/KfXPGF\nT9tw4t6XyY+cmj+6js7IwHTyuBlCr1y2a/5mTDwaij3+sji6Mn231Jlph+BO\nIngc\r\n=FEYe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=8.9.0"},"gitHead":"d4dd4b2d7c5e8eba4817392a84e5c61563edb201","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","format":"prettier --write \"src/**/*.ts\"","release":"standard-version"},"_npmUser":{"name":"dreamdevil00","email":"dreamdeviloo@163.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"6.13.4","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"12.14.0","dependencies":{"casbin":"^2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"6.5.4","rimraf":"3.0.0","tslint":"5.11.0","ts-jest":"24.2.0","ts-node":"8.5.4","prettier":"1.19.1","typescript":"3.7.4","@types/jest":"24.0.25","@types/node":"11.15.3","@nestjs/core":"6.10.13","@nestjs/common":"6.10.13","reflect-metadata":"0.1.13","standard-version":"7.0.1"},"peerDependencies":{"rxjs":"^6.2.2","@nestjs/core":"^6.0.0","@nestjs/common":"^6.0.0","reflect-metadata":"^0.1.12"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_1.1.0_1578046700482_0.41435917360152996","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"nest-authz","version":"2.0.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.0.0","maintainers":[{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"f7da3a15f4d3f2c7470742ae19be1ac799eb845d","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.0.0.tgz","fileCount":59,"integrity":"sha512-GlJ6QVNgsLIPkFrXEX1E3NgRWodHNsR4wzd8piIreOybtm4XoXOwSwDOZCyunVZbmrb63/Ky7w9CY/JhHRe/sQ==","signatures":[{"sig":"MEYCIQCz/wxfJN+lv7sEESa/itEWzVEvmY4HVmlm3Cu2T3/8AgIhAK/4/2bXBWXFu3JLz0a8OjtIn1P9T/mb0511EB6EyVN+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewT7ECRA9TVsSAnZWagAAEy0P/3+M+YmADDEcI+xsyJUz\nS4xhfVSIT6ZSZlSThU/cLsEOfSq20X1GOMkly1bxdWesJQQO4pzuP52edzyp\nbck3nJN4n6F/5E9I49LTn+cKMe++xAZOuPbmqKq0VOU+dNS+PmsnPu+eQg/q\nIEQTjTnH9eS3HpzluIp7bq8nCuOz6Hsu99sTAU18YUqdvPA3altbGK/7W0Jg\n7esvoZ6OWFFY4XQYl9eWy7NqyZxO4H+8kpRx9bYZqTaV4apyqIKBMYVfZLi3\n4ElZRwhigMnGl89t62wmvkG2uxBeNQ6cpmtr4Mwv5ryDvZJv140XgLYKkMAM\nJGdalHZQcx9PKhDgp0VHkHg9+6ct0iH3sCwj/cC7DVGwbnvXUEHigIj5jFGw\n7tMojSrTDJS0w7JJgalNskRcvMKqFZXGfIFkALZsv9UWlf20rfuJkvHbtMDV\nklheVETEDM1ZBG2xWnp0hIyBxtKfW0fkvoHW5+mswHOs8ml+yqppfg5nWoaR\nK1ybeoBwGcoZP8eqOQF4KM3/CVmoHDv4twTXXpzkTqqS35haogsj/iogMXPg\nUV7qUXPuTrnu/KvMbHfRuc7FhP3Eeagc4Ic8jzj2oTKHlVfTHdRAFAdaRaOb\n1TWr5vZ90dWDts6ljgbsBSe1FzBNqtGKn6DIrFWiQcWwR0EMu7CkbAmFWfrA\nhQhn\r\n=PMTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"e62f10722a9ac9844c060ffe853f77d97f202bba","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"dreamdevil00","email":"dreamdeviloo@163.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"6.14.4","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"10.20.1","dependencies":{"casbin":"4.7.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"6.5.5","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"8.10.1","prettier":"1.19.1","commitizen":"4.1.2","typescript":"3.7.5","@types/jest":"24.9.0","@types/node":"11.15.4","@nestjs/core":"7.0.13","@nestjs/common":"7.0.13","reflect-metadata":"0.1.13","standard-version":"7.1.0","cz-conventional-changelog":"3.2.0"},"peerDependencies":{"rxjs":"^6.2.2","@nestjs/core":"7.0.13","@nestjs/common":"7.0.13","reflect-metadata":"^0.1.12"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.0.0_1589722819560_0.07909098494037625","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"nest-authz","version":"2.1.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.1.0","maintainers":[{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"71dd61d0483142c7815934027732398605e178d2","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.1.0.tgz","fileCount":59,"integrity":"sha512-1W4kIfv/CUAc1eeNU5W1Spipmm+eLShAPxdhKywA72YiMK2vkhkOMxzCkLyfqt92jt99SAgYLunP3LGknWiSig==","signatures":[{"sig":"MEYCIQDATTqvgXmNhRbTezirOdDO4X1UkOp9MqJSzdyoCVFFowIhAMgHAlTsiUG7QDeK7/wUgvLjm7CsBsFeeJeLhcny9JLO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVXupCRA9TVsSAnZWagAArx0QAJpP5uSUvLPAxbPw6V6p\nwpzn+pDBpxBOdlrMKmEzvCY/fWQoMrMckNt289rk9hkpqGmxxp8TqFpX4OH/\n5MuWpBaJtkU2lqVtTd6hxxZ0rRz7VTapWQzWi7N6ctpo/1F7TXfRpm54xnGi\ngaQSF/fqGnfiuip4AmrBuxreau0QtUq77KEMI/4tipUA/+vE9GmOpOCA2KFX\nLgYu1gsbn7AwK6EcmGb+i+JMz6ZQ/oWOD7dZU2+V35x4w+Sm7XBlrKoTB6PB\nK6fJnfKdPW7D7ry4EimJruUK+kINLrF0ugdd7HJtGpRP8N092NVFDPVuAhBF\nPkhOtoH6j7a8EdwEtAT11sDT2uc9/4txIBfffHUCLiFsk/GWXel/Q34+z33b\nUQri9wwrt3vfKtJLYSfcuRtt6UD+cyrUURkwsRfnXZfHYjkhwFF4OO3bRb3a\nGoKuDP/WBIrbTIADcAFJGK4lOipmMbGwB7odxpF6P0zY3XNY3AP/T9MU422a\nWOlb/2CToEB4rXkkB8rmqqrj4LBG/LOPW6CwxPvLDdCMcXVlDHlKWXXL+HOa\nvMd+4GOYjJ+fGPen4sZ0qktsXI35IDCFIJsh3LSgAHWRUwz2PRLCcB0cqT00\ntn9ECCFkWZ5jYaYhfUE5Yemb3B37FAzOz7cWYq0lnk2e+DNqA96dawtsEB0Z\naaqv\r\n=K5mD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"7b222af6d891c4ae2c320a376e6a41cbacc7746b","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"dreamdevil00","email":"dreamdeviloo@163.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"6.14.4","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"10.20.1","dependencies":{"casbin":"5.5.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"6.6.6","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"8.10.2","prettier":"1.19.1","commitizen":"4.2.3","typescript":"3.7.5","@types/jest":"24.9.0","@types/node":"11.15.49","@nestjs/core":"7.6.14","@nestjs/common":"7.6.14","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^6.2.2","@nestjs/core":"7.6.14","@nestjs/common":"7.6.14","reflect-metadata":"^0.1.12"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.1.0_1616214953414_0.25542902298132386","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"nest-authz","version":"2.2.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.2.0","maintainers":[{"name":"nodece","email":"nodeces@gmail.com"},{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"f14e267deef26320e14d4f4bcdee7e1df2fa56a7","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.2.0.tgz","fileCount":58,"integrity":"sha512-73SR9q072k43XmNbYT4uXfdqAKdKN4853M6+WktyuNbGPggK5v10/4QSfxMIAkK10m6EW7UKdHixgvVOl8TEow==","signatures":[{"sig":"MEUCIEYUf1IPB3ZfWESK4t3qmXOUEerd8xXkw8Urt11A4n+BAiEAib4OtTkg/1z1saCwVSqsqkG1okO2y6ac569wX1O+1s0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFfIMCRA9TVsSAnZWagAAgTYP+QHW635AcRSYrWypeL2M\nSti7BRibFqvKNbAY72RJ88aN6AkNxvy1c2j+5CmkrDsyrfzzFD9E+zlrKz0L\nEgBVD0qu0iAYl/EB9sk6MO0jWVElM9CsXIzmr4m/ET+KuQNgUHavj9Do0eN6\nSlYnvAcrHenPglFhe843n05Bd+XkjpVagJCAKdAjsZC2wgpY1gknb20nha68\np8m5XBQExuNWpm3porBMgHa44kSv0ldqzpRqfOSZUWBWTNiPfPZKdxlwGf5j\naRK0n8rFHA4CnmKPpVvbLBEyngx9/QGg0245TjATZ1OMFDpznSkpcXSPNzi5\nmdXYe1vxeqDW5gOL/o7hXArV9EaXInanOHb90IxGTTNdKNBjboRT+3X0VR2g\nbzSX4vverjIC6blr1qAK+dTvwdOTYcXc8qjTZq1J6+MKOmPZJ+2/GCAU01Ez\n3d2jNRwTTT9++nxtFmz/srSq5sMOdzceoW5hMGsIghwXzLYebSY81bwmsZdU\nXb+JafqoddveudUTRL0hIWAFgHlKusS+RJMnfjgFWvGS7TvmIwx69hQQ/JJw\n2n5gdF7KdOjnVa4dN4YfhSRBoJR/VtThwSuliSfUtZyX0zESZn8xizKP4WXe\ntjMtaTO939jrI7+2JwWsGQHqMtW8A7zkbbVPBuUV5iKAOxQWTmNJYl1tGMcC\nsQVE\r\n=/0qP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"03c29ccf81cd02ab32b14034e79968c37647a3d2","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"7.20.6","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"16.6.2","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"3.7.5","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"7.6.15","@nestjs/common":"7.6.15","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^6.0.0","@nestjs/core":"7.6.15","@nestjs/common":"7.6.15","reflect-metadata":"^0.1.12"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.2.0_1628828172556_0.5350187989305752","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"nest-authz","version":"2.2.1","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.2.1","maintainers":[{"name":"nodece","email":"nodeces@gmail.com"},{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"4cac7d106e83b525694cfa43c7bdbe8c267b5bd0","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.2.1.tgz","fileCount":58,"integrity":"sha512-g3F1jvVHs3EczJkHaCdYUsUOccUHnSmg2YpDSmGGB8krLWOaQqj53ZOL65xYjuMMmbVxUpbtmLnbMkP6yGF3ng==","signatures":[{"sig":"MEUCIQDsZGvTZQx6p9kf0wzJeXox30oZK9I/aV0yQkEo4B5u5wIgDqykB6O8nwNlrZAStHURN7n2Zy9n8VVfaw0+ByC0TcQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi04BzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrTA//aejOrjiJ4UHfazNlhp4cvFkW267Hd1cceWb4Vq1xW1KQm4A/\r\nujMiUiw1RYwF6kN97yANqVpEtwrSA+dwfLY5IG69Fb14vspzBagoUKnSGXmP\r\nAwgWzD3J/A8aKRhM9+o+nAUBce4bEjJ2qqguz1PNPQMJdNqf1H1J9go7Rt2O\r\nfkZvOO5q/8bIqhmQJPtnEqzrxaVgG3WqwIr8grTeEfSP9r8uRCp+zu1//FdN\r\nw+tIwD+pGmAOHM+2aykqXaYtGYtmFmmHwocYI+7J8AMeBk3YWt+DfWhPnpDZ\r\n72b4JMqdPy8DwEOt7a/BqbhoL/OKxtsz3K4wSZ6q9PfLfs2yt8M+BUoo9Fj7\r\nGzYHWhotkYRBOcn+5XE4dPu79EQZ8Oer7bi8JWdSAQ3HJaAioSxIxvaBsti6\r\nXkl1FcTXcWSYuX0R/m12ySDfEa/l1kF0blVw/61s6tdvC5voPQE2Vvfp7vEz\r\n0HrF8fC2Hls2Krz1mWwFeQDWTU0R+8oIoQlds0N4RkPm8//K/vTf+M27a42c\r\nyeQrJfcv2QKYqCC32+R46r3V3e4cbwIkkec7NWSNOojPwmF9sPBrGxs36EDT\r\nduI9SoesBBLY3QfCiNzTposHMPDEZFoC4Y0pI1FqnAiLAwGWfbw1btlWkIYv\r\nXMTtHf8gJr2Iu2MGN3mKlpFG2VNowKvRh3g=\r\n=3RHV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"1954492cf288c3f1cd93a720f7ca03c2a0a332fb","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"8.11.0","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"16.16.0","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"3.7.5","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"7.6.15","@nestjs/common":"7.6.15","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.2.1_1658028147200_0.5937880479010844","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"nest-authz","version":"2.3.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.3.0","maintainers":[{"name":"nodece","email":"nodeces@gmail.com"},{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"47302d2270bead64709c520f76eb3c5d307d00eb","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.3.0.tgz","fileCount":58,"integrity":"sha512-GXeAQ0SnuBLtyC6vpKFKQP84KJmI/Q784m0jha4QWxQxaM7N7xRS/rPsANG+MvKQjOpctvGZY27z8ATBa4Vo4g==","signatures":[{"sig":"MEYCIQCeslies3sIr6GNGYfXjbozNKOJlqe4fw1X1BCcv0XgYwIhAOkZtlJ6HkKu+4Z7vrgt3pHe4SOGc7DIEuAvnxMwFu8G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88040},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"a941cba95309adce695ec32a296c87bf5ecabe1b","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"9.5.1","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"18.16.0","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"3.7.5","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"7.6.15","@nestjs/common":"7.6.15","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.3.0_1687417495344_0.7398547614760072","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"nest-authz","version":"2.4.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.4.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"6d3100999643c8eb42bcb4ac9f0d32be0d799e4a","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.4.0.tgz","fileCount":58,"integrity":"sha512-KskmawAbGk9e6opb51WNapGpcWMTzmnKAKLecHy0iDbDy6vSsER40NFsDv3KPjxdKv6ghjqnmBhn1hh3QGBrZw==","signatures":[{"sig":"MEUCIQDe6zEvQhCheimt4K4EDY4XhdpOHvKBwsOu/E79VgLeowIgIww22t/a8GW/tjg58cah/Yyfa0dwyAzHgRQnX/zKncw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91973},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"db467610070b354b2369fa54839c3a4e63f9e22d","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"9.5.1","description":"基于 node-casbin 实现的 RBAC 权限控制模块。","directories":{"test":"test"},"_nodeVersion":"18.16.1","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.4.0_1689693278271_0.9522639505892776","host":"s3://npm-registry-packages"}},"2.5.0":{"name":"nest-authz","version":"2.5.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.5.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"744c28dbb92eaf152c3ab40e8cb3dde61dd6ff1f","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.5.0.tgz","fileCount":61,"integrity":"sha512-7DQCLsyKQvGcpmyHgG00vJquLH4+QlHkiPNn3HCWSPEejhs8L3tQuhDeTQgemIIjS7O7FdkJfVxhtW0qzKvtLw==","signatures":[{"sig":"MEYCIQDr+dTbWkBZ6XyIUd7OvBOZJf4vS6DkcJcNPK3AWMPZYQIhAJpigs4JbUDVU9vamkxTAXoRp/XYejqOxgXbR3ixMzpT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92099},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"9f89bcbb543318fd36fb35fbe123e6aa3596af93","scripts":{"lint":"eslint --cache .","test":"vitest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"vitest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"9.5.1","description":"Nest authorization middleware based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"18.16.1","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^6.0.0","eslint":"^8.45.0","rimraf":"3.0.1","vitest":"^0.33.0","ts-node":"10.0.0","prettier":"^3.0.0","commitizen":"4.2.4","typescript":"^5.0.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@types/eslint":"^8.44.0","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","@vitest/coverage-v8":"^0.33.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"3.3.0","@typescript-eslint/eslint-plugin":"^6.1.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.5.0_1689838461746_0.5523693187683663","host":"s3://npm-registry-packages"}},"2.5.1":{"name":"nest-authz","version":"2.5.1","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.5.1","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/dreamdevil00/nest-authz#readme","bugs":{"url":"https://github.com/dreamdevil00/nest-authz/issues"},"dist":{"shasum":"de82800456b3c78f22d59799e273d2b7e78c2e2f","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.5.1.tgz","fileCount":61,"integrity":"sha512-8Y4D+jZ0kLTDOIl2t3csLrU+X7mACuMCP6ur0qrVg4zXj3PMhLcKvXeaXkZs5UA8ygdrOhDVvPKsBGGt4o9Vrg==","signatures":[{"sig":"MEUCIQCzrmEXFizO/ny1c8ZGBHgWQO+0wcNasctKew41zMVSFwIgVEeG6tsLddFdr8fZmfodLngt+wBqiHbAe1dsnyhCuKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92096},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"8ac5fa7e95b830bd4f3f95fa6fbcff4d05e7d424","scripts":{"lint":"eslint --cache .","test":"vitest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"vitest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/dreamdevil00/nest-authz.git","type":"git"},"_npmVersion":"9.6.7","description":"Nest authorization middleware based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"18.17.0","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^6.0.0","eslint":"^8.45.0","rimraf":"3.0.1","vitest":"^0.33.0","ts-node":"10.0.0","prettier":"^3.0.0","commitizen":"4.2.4","typescript":"^5.0.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@types/eslint":"^8.44.0","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","@vitest/coverage-v8":"^0.33.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.1.0","cz-conventional-changelog":"3.3.0","@typescript-eslint/eslint-plugin":"^6.1.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.5.1_1691472448173_0.04706990658739252","host":"s3://npm-registry-packages"}},"2.6.0":{"name":"nest-authz","version":"2.6.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.6.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"fb7a42ed04f72c947f41924484bf1e4e361a7586","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.6.0.tgz","fileCount":58,"integrity":"sha512-lVPbSoR83XkvrJ2jxLQ2TuKZU8ooSKmO6jzHeph2lZFrPUw44efDvq6b/d3kgqt3Ci9hI4xvuM4zeGErxb4aEw==","signatures":[{"sig":"MEUCIQC5JfPNALfYYd3i8FjA9Kos73Hn38apL44ikr6Oa8GO0gIgE19v9fi05AZNr2uM3g1+cUFfQqX9SLmlUvcuvEGDamQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91950},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"ec3da2f9413bbb9e76b078fbfd362211f4a9da8b","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"9.6.7","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"18.17.1","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.6.0_1694704489146_0.7523878299271378","host":"s3://npm-registry-packages"}},"2.7.0":{"name":"nest-authz","version":"2.7.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.7.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"e41852cba3b1012ab0f2a2d065005789a68f3257","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.7.0.tgz","fileCount":58,"integrity":"sha512-RkMA9VGUyUvmgqeE9dTj86pfalJGTRxqlUVRzb9ZNBEgydamQYDcggjIrcPhJe9FDPues/FPc7D/6GpzW21G3g==","signatures":[{"sig":"MEYCIQCyrqAvUbIOxgmuSvSY3sLgcsglcIBj1ZtqMRFUb8GQRwIhAIPPYtAK1ZDUVLUodn2oSlgLt81/bqnxmoRaY9UoTDp8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92114},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"9489b4b92082480a7e4fa4328174534714d0d03f","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.2.4","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.7.0_1711290116248_0.9753131790879641","host":"s3://npm-registry-packages"}},"2.8.0":{"name":"nest-authz","version":"2.8.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.8.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"d435bdf1c2e0f50ad1140d274e5b585f08c488d1","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.8.0.tgz","fileCount":58,"integrity":"sha512-cOB68orGKQ5gqNCDQiwufMlr2UMy42QqpkbaAEXuoqhqJCogbRMxQBMBGlh1apleB9Q7VnAzX9C/krRcM95EZw==","signatures":[{"sig":"MEUCIQCfZFOvm4CkLfkTLWpYMe7PHRfZoluItj0aVDx5Ir0/JgIgJJVLelt5m1q5hsxWdk+MGPRPib6/4loQzfpwieJTklY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92130},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"cabcfb3d83d5965b3fc26cb379616400c6fe10d9","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.2.4","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.8.0_1711292328757_0.16005111298820718","host":"s3://npm-registry-packages"}},"2.9.0":{"name":"nest-authz","version":"2.9.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.9.0","homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"dd510d58e7bd86294368402c8652bbaf1d1ce378","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.9.0.tgz","fileCount":58,"integrity":"sha512-qoXzyviBz7Fe4DIch/l75QRYdVzzR7joR6i3c4qJ1hhEoE6t02wJo8J3o7S1VFkc+ZUl6D9EcVjhtaFHTq53qw==","signatures":[{"sig":"MEYCIQCeq2UymSG4aV62Qtxvy3LSsI6euNnLpJGd8gGaLi5W1QIhANm4Q0nLavYVn/fkTGsfsRe5JaMn7DJgWRQciuG0Zf+v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94388},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"44f96260a23046bf5538afcc394dd3c9c9746db9","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.8.1","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.14.0","dependencies":{"casbin":"^5.11.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.9.0_1719487867581_0.30153657180430127","host":"s3://npm-registry-packages"}},"2.10.0":{"name":"nest-authz","version":"2.10.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.10.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"e08d426f8f5cb3971a2bde606430f98077e92105","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.10.0.tgz","fileCount":58,"integrity":"sha512-ntwL7pDPSE7kI9GvrE87x933wM84QFybx1e026PUi/n6zYCuIkErfKPk979131as1UuFy4nNKJkqoc6fsaN+DA==","signatures":[{"sig":"MEYCIQCNan1ttxFV+A+awdgUKUBxYRCkYxL6PFWCAfwGsGLqywIhAOj3+ahBUiT1c2S6Ps58PaxrJIj4Anq3DrxngP6SdAmP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99922},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"e1e6cce102a0657cb06edbcb44c31320a80242b1","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.8.1","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.15.0","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.10.0_1719972063914_0.870582879580766","host":"s3://npm-registry-packages"}},"2.11.0":{"name":"nest-authz","version":"2.11.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.11.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"3cff0982c4b3a24f19ed856af80c6edfe143402b","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.11.0.tgz","fileCount":66,"integrity":"sha512-S5bBUwvz0V2z8+GftccLDJXRRAs4nKsaztHm3JUmi7e4SQvCvyBCLdBJY8f3/kxzpM09Ht1d0Jrpq8SenR0EZg==","signatures":[{"sig":"MEUCIQCDTc0vfUmzZYzoKIA5uxcHSaB0p56/nfgcJbHBaMt1JwIgNDfuURd6/ltxdUNdR/AOqHsftTj5jaxCgiDcibMenPc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":200626},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"a68f73944736a969020cece08a274c0010e38205","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.8.2","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.16.0","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.11.0_1722913430238_0.7342448392096346","host":"s3://npm-registry-packages"}},"2.12.0":{"name":"nest-authz","version":"2.12.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.12.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"caad4fc20c416f93159c490ca25dffe5c2acab5c","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.12.0.tgz","fileCount":66,"integrity":"sha512-5lIBvfouRf/tpVrxurALXBaXFzUh3KQATA2cMKbDXVg/ndEoNDgVb5I/mQejH8/hDcaPUYtW5Y6uxKtaqSbPSw==","signatures":[{"sig":"MEQCIGYtRx1YuJrg271/hfYnkGmOTjlkggNvXtHXEyRtVhlOAiBb0gUCdN70MUqO4o2k4tpen264M2MwsTbt19VJ7Q4znA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209001},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"9b1d41561316f1a72d3ad07f559bd722ea356b1a","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.9.2","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.18.1","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.12.0_1736422372345_0.5815158202082373","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"nest-authz","version":"2.13.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.13.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"0146e2951076dbe7121bc326cc0f442abab18be6","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.13.0.tgz","fileCount":66,"integrity":"sha512-jm45h24yGiW2NHVGHsmAi4bzLh7UTzmGOgKcNVFzQr/LcbGdvKMtyEt6oLo8JFG/h+omgBBiMkjYqkblEJDODg==","signatures":[{"sig":"MEUCIQC6KG9E7KZHsGbaZHpAccLU6wqyZcyOl+8SS9VX6a6ZngIgIj0VFwG+FuEq7Pa1VtTm8DvtZn/Lr7MCxruIjcqW2GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209045},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"0dd160044fc2ccd9ec1157fcb0fc3b64c96ec0c6","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.9.2","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.18.2","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.13.0_1739352718738_0.5189295183452722","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"nest-authz","version":"2.14.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.14.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"ad5901f8fb9487875b30dfd1a3ae3ab2cc39c569","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.14.0.tgz","fileCount":66,"integrity":"sha512-DdxqIFnThWXsWqF8//N8qivwzj4ZAUWnsrrx45vyRlTjRhUmlvGrTJTh5Wgkuyq2O6A77jWcEuxnRpSOk1JSaw==","signatures":[{"sig":"MEYCIQCIFCBfqokXCDYenDRfCOJB29v1SRx1M1mIEepaxXHVWAIhAK/JZ4jTIHGCiuYc5pPJ/mavETBBl7jrHauF3DpAlbMZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209089},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"f2e0f99cd377741a9d85ec0b7a35c5f6f5a99487","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.9.2","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.18.2","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.14.0_1739355075317_0.28919931377655295","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"nest-authz","version":"2.15.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.15.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"ef0a2666deb9f3810a8fb3b4978fb61a5907e33a","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.15.0.tgz","fileCount":66,"integrity":"sha512-gOeNWtl1drRLBkf2v8zmpsN0HzbK0w5CPs4LXIzuYVo9J1SeMjzd8CEZ5Q8IB3wZCJM0QI2/lpwmlj/WVShOxg==","signatures":[{"sig":"MEYCIQDqixDxXMdaVir0z04yMHcn/AzBTV4nWxg7DK6Seppe5wIhAOFCiXYIEGrhgCieB9h6AxxN5mHR7gPjqWNBgA6m6yxz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209149},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"da9cd0403e02605df23379f462ad74892a816f5e","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.9.2","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.18.3","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.15.0_1742191320623_0.9122266348217132","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"nest-authz","version":"2.16.0","keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","_id":"nest-authz@2.16.0","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"homepage":"https://github.com/node-casbin/nest-authz#readme","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"dist":{"shasum":"5f9647f329f12745a488e7c6b6a61c8b66c841a6","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.16.0.tgz","fileCount":66,"integrity":"sha512-Iz/R7seADEHB3N2Z6fuglg1ARqkRR7WzqKpjDDhNZKkFowb27hgc8nULNR7uY9/X8lFWZQ8EFfdqGkw9eFxGzA==","signatures":[{"sig":"MEUCID7/VzAZLTkyCwwnx+nN8A5MTBBKsX1NhjFnphs5yECJAiEAyWywjgalHKXpKolTrEpRGLHxqiJ/lO0cfw/dOHrWEdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209149},"main":"dist/index.js","types":"dist/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">= 10.13.0"},"gitHead":"6c668a1f169ba9d6d69ccd03a9cadb85b99aae18","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"jest","build":"rimraf dist && tsc -p tsconfig.json","clean":"rimraf dist","style":"prettier --check \"src/**/*.ts\"","commit":"git-cz","format":"prettier --write \"src/**/*.ts\"","release":"standard-version","coverage":"jest --coverage","typecheck":"tsc --noEmit","prepublish":"yarn lint && yarn build"},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"repository":{"url":"git+https://github.com/node-casbin/nest-authz.git","type":"git"},"_npmVersion":"10.9.2","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","directories":{"test":"test"},"_nodeVersion":"20.19.0","dependencies":{"casbin":"^5.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"24.9.0","rxjs":"^6.0.0","rimraf":"3.0.1","tslint":"5.11.0","ts-jest":"24.3.0","ts-node":"10.0.0","prettier":"1.19.1","commitizen":"4.2.4","typescript":"^5.0.0","@types/jest":"24.9.0","@types/node":"11.15.50","@nestjs/core":"^9.0.3","@nestjs/common":"^9.0.3","reflect-metadata":"0.1.13","standard-version":"8.0.2","cz-conventional-changelog":"3.3.0"},"peerDependencies":{"rxjs":"^7.5.6","@nestjs/core":"^9.0.3 || ^10.0.0","@nestjs/common":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13"},"_npmOperationalInternal":{"tmp":"tmp/nest-authz_2.16.0_1745422932123_0.7658565810318896","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"nest-authz","version":"2.17.0","description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">= 10.13.0"},"directories":{"test":"test"},"scripts":{"clean":"rimraf dist","commit":"git-cz","build":"rimraf dist && tsc -p tsconfig.json","prepublish":"yarn lint && yarn build","style":"prettier --check \"src/**/*.ts\"","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json -c tslint.json","release":"standard-version","test":"jest","coverage":"jest --coverage","typecheck":"tsc --noEmit"},"keywords":[],"author":{"name":"dreamdevil00"},"license":"MIT","dependencies":{"casbin":"^5.30.0"},"devDependencies":{"@nestjs/common":"^9.0.3","@nestjs/core":"^9.0.3","@types/jest":"24.9.0","@types/node":"11.15.50","commitizen":"4.2.4","cz-conventional-changelog":"3.3.0","jest":"24.9.0","prettier":"1.19.1","reflect-metadata":"^0.1.13 || ^0.2.0","rimraf":"3.0.1","rxjs":"^6.0.0","standard-version":"8.0.2","ts-jest":"24.3.0","ts-node":"10.0.0","tslint":"5.11.0","typescript":"^5.0.0"},"peerDependencies":{"@nestjs/common":"^9.0.3 || ^10.0.0","@nestjs/core":"^9.0.3 || ^10.0.0","reflect-metadata":"^0.1.13 || ^0.2.0","rxjs":"^7.5.6"},"repository":{"type":"git","url":"git+https://github.com/node-casbin/nest-authz.git"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"_id":"nest-authz@2.17.0","gitHead":"8cb1097dff90e4585670db49fcec74bc69ad982b","bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"homepage":"https://github.com/node-casbin/nest-authz#readme","_nodeVersion":"20.19.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-5YNqv8BgwdyJCFTOHaVFCBI7mR8Cq0qqIjzY9ctMIrDgwtVFsH8eU2T2GMrt8Q1pYGq7pk1wjxEAg8OCnEv1ZQ==","shasum":"3a8e9e5c73c537cba0521cbe74a3c886696fd96a","tarball":"https://registry.npmjs.org/nest-authz/-/nest-authz-2.17.0.tgz","fileCount":66,"unpackedSize":209170,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDqoXH8aTIRzjr1jsaq4EYdEXhp2Z/+rNJ2B60702LZvgIhALuwlie4pjv0eig0GBjyHsKpcAlrEY6zlsBCO97qFT//"}]},"_npmUser":{"name":"hsluoyz","email":"hsluoyz@gmail.com"},"maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nest-authz_2.17.0_1745426095012_0.8442654063687021"},"_hasShrinkwrap":false}},"time":{"created":"2019-02-26T02:47:51.367Z","modified":"2025-04-23T16:34:55.445Z","0.1.0":"2019-02-26T02:47:51.485Z","1.0.0":"2019-04-27T15:36:58.610Z","1.1.0":"2020-01-03T10:18:20.607Z","2.0.0":"2020-05-17T13:40:19.687Z","2.1.0":"2021-03-20T04:35:53.654Z","2.2.0":"2021-08-13T04:16:12.706Z","2.2.1":"2022-07-17T03:22:27.368Z","2.3.0":"2023-06-22T07:04:55.545Z","2.4.0":"2023-07-18T15:14:38.456Z","2.5.0":"2023-07-20T07:34:21.988Z","2.5.1":"2023-08-08T05:27:28.344Z","2.6.0":"2023-09-14T15:14:49.366Z","2.7.0":"2024-03-24T14:21:56.450Z","2.8.0":"2024-03-24T14:58:48.912Z","2.9.0":"2024-06-27T11:31:07.749Z","2.10.0":"2024-07-03T02:01:04.163Z","2.11.0":"2024-08-06T03:03:50.421Z","2.12.0":"2025-01-09T11:32:52.583Z","2.13.0":"2025-02-12T09:31:59.001Z","2.14.0":"2025-02-12T10:11:15.539Z","2.15.0":"2025-03-17T06:02:00.810Z","2.16.0":"2025-04-23T15:42:12.321Z","2.17.0":"2025-04-23T16:34:55.194Z"},"bugs":{"url":"https://github.com/node-casbin/nest-authz/issues"},"author":{"name":"dreamdevil00"},"license":"MIT","homepage":"https://github.com/node-casbin/nest-authz#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/node-casbin/nest-authz.git"},"description":"Nest.js RBAC & ABAC authorization module based on Node-Casbin","maintainers":[{"name":"hsluoyz","email":"hsluoyz@gmail.com"},{"name":"chalin","email":"18875906195@163.com"},{"name":"dreamdevil00","email":"dreamdeviloo@163.com"}],"readme":"# nest-authz\n\n[![NPM version][npm-image]][npm-url]\n[![NPM download][download-image]][download-url]\n[![ci](https://github.com/node-casbin/nest-authz/actions/workflows/ci.yml/badge.svg)](https://github.com/node-casbin/nest-authz/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/node-casbin/nest-authz/badge.svg?branch=master)](https://coveralls.io/github/node-casbin/nest-authz?branch=master)\n[![Discord](https://img.shields.io/discord/1022748306096537660?logo=discord&label=discord&color=5865F2)](https://discord.gg/S5UjpzGZjN)\n\n[npm-image]: https://img.shields.io/npm/v/nest-authz.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/nest-authz\n[download-image]: https://img.shields.io/npm/dm/nest-authz.svg?style=flat-square\n[download-url]: https://npmjs.org/package/nest-authz\n\nA access control library for [NestJS](https://nestjs.com/) which built on [node-casbin](https://github.com/casbin/node-casbin).\n\nCasbin is a powerful and efficient open-source access control library. It provides support for enforcing authorization based on various access control models like ACL, RBAC, ABAC. For detailed info, check out the [official docs](https://casbin.org/)\n\n## How to use\n\n### Installation\n\n```bat\n$ npm install --save nest-authz\n```\n\n### Define Access Control Model\n\nFirstly, you should create your own casbin access control model. Checkout [related docs](https://github.com/casbin/node-casbin#supported-models) if you have not.\n\n### Initialization\n\nRegister nest-authz with options in the AppModule as follows:\n\n```\nAuthZModule.register(options)\n```\n\n`options` is an object literal containing options.\n\n- `model` is a path string to the casbin model.\n- `policy` is a path string to the casbin policy file or adapter\n- `enablePossession` is a boolean that enables the use of possession (`AuthPossession.(ANY|OWN|OWN_ANY)`) for actions.\n- `userFromContext` (REQUIRED) is a function that accepts `ExecutionContext`(the param of guard method `canActivate`) as the only parameter and returns the user as either string, object, or null. The `AuthZGuard` uses the returned user to determine their permission internally.\n- `resourceFromContext` (OPTIONAL) is a function that accepts `ExecutionContext` and `PermissionData` and returns an `AuthResource`. This allows the `AuthZGuard` to perform access control on specific resources found in a request. When provided, this function is used as the default for all `Permissions` with `resourceFromContext: true`.\n- `enforcerProvider` Optional enforcer provider\n- `imports` Optional list of imported modules that export the providers which   are required in this module.\n\nThere are two ways to configure enforcer, either `enforcerProvider`(optional with `imports`) or `model` with `policy`\n\nAn example configuration which reads user and resource id from the http request.\n\n```typescript\nimport { TypeOrmModule } from '@nestjs/typeorm';\n\n@Module({\n  imports: [\n    AuthZModule.register({\n      model: 'model.conf',\n      policy: TypeORMAdapter.newAdapter({\n        type: 'mysql',\n        host: 'localhost',\n        port: 3306,\n        username: 'root',\n        password: 'password',\n        database: 'nestdb'\n      }),\n      userFromContext: (ctx) => {\n        const request = ctx.switchToHttp().getRequest();\n        return request.user && request.user.username;\n      },\n      resourceFromContext: (ctx, perm) => {\n        const request = ctx.switchToHttp().getRequest();\n        return { type: perm.resource, id: request.id };\n      }\n    }),\n  ],\n  controllers: [AppController],\n  providers: [AppService]\n})\n```\n\nor\n\n```typescript\nimport { TypeOrmModule } from '@nestjs/typeorm';\nimport { ConfigModule, ConfigService } from './config.module';\nimport { AUTHZ_ENFORCER } from 'nest-authz';\n\n@Module({\n  imports: [\n    ConfigModule,\n    AuthZModule.register({\n      imports: [ConfigModule],\n      enforcerProvider: {\n        provide: AUTHZ_ENFORCER,\n        useFactory: async (configSrv: ConfigService) => {\n          const config = await configSrv.getAuthConfig();\n          return casbin.newEnforcer(config.model, config.policy);\n        },\n        inject: [ConfigService],\n      },\n      userFromContext: (ctx) => {\n        const request = ctx.switchToHttp().getRequest();\n        return request.user && {\n          username: request.user.username, \n          isAdmin: request.user.isAdmin \n        };\n      }\n    }),\n  ],\n  controllers: [AppController],\n  providers: [AppService]\n```\n\nThe latter method of configuring the enforcer is preferred.\n\n### Checking Permissions\n\n#### Using `@UsePermissions` Decorator\n\nThe `@UsePermissions` decorator is the easiest and most common way of checking permissions. Consider the method shown below:\n\n```typescript\n  @Get('users')\n  @UseGuards(AuthZGuard)\n  @UsePermissions({\n    action: AuthActionVerb.READ,\n    resource: 'USER',\n    possession: AuthPossession.ANY\n  })\n  async findAllUsers() {}\n\n```\n\nThe `findAllUsers` method can not be called by a user who is not granted the permission to read any user.\n\nThe value of property `resource` is a magic string just for demonstrating. In the real-world applications you should avoid magic strings. Resources should be kept in the separated file like `resources.ts`\n\nThe param of `UsePermissions` are some objects with required properties `action`, and `resource`, and optionally `possession`, and `isOwn`.\n\n- `action` is an enum value of `AuthActionVerb`.\n- `resource` is a resource string or object the request is accessing.\n- `possession` is an enum value of `AuthPossession`. Defaults to `AuthPossession.ANY` if not defined.\n- `isOwn` is a function that accepts `ExecutionContext`(the param of guard method `canActivate`) as the only parameter and returns boolean. The `AuthZGuard` uses it to determine whether the user is the owner of the resource. A default `isOwn` function which returns `false` will be used if not defined.\n- `resourceFromContext` is either a boolean (which defaults to false) or a function that accepts `ExecutionContext` and `PermissionData` as parameters and returns an `AuthResource`. When set to true, the default `resourceFromContext` function provided during module initialization is used. When set to a function, the provided function will override the default `resourceFromContext` function. When set to false, undefined, or if a default `resourceFromContext` is not provided, the `resource` option will be used as-is for each request.\n\nIn order to support ABAC models which authorize based on arbitrary attributes in lieu of simple strings, you can also provide an object for the resource. For example:\n\n```typescript\n@UsePermissions({\n  action: AuthActionVerb.READ,\n  resource: {type: 'User', operation: 'single'},\n  possession: AuthPossession.ANY\n})\nasync userById(id: string) {}\n\n@UsePermissions({\n  action: AuthActionVerb.READ,\n  resource: {type: 'User', operation: 'batch'},\n  possession: AuthPossession.ANY\n})\nasync findAllUsers() {}\n```\n\nTo provide access control on specific resources, `resourceFromContext` can be used:  \n\n```typescript\n@UsePermissions({\n  action: AuthActionVerb.READ,\n  resource: 'User',\n  resourceFromContext: (ctx, perm) => {\n    const req = ctx.switchToHttp().getRequest();\n    return { type: perm.resource, id: req.id };\n  }\n})\nasync userById(id: string) {}\n```\n\nYou can define multiple permissions, but only when all of them satisfied, could you access the route. For example:\n\n```\n@UsePermissions({\n  action: AuthActionVerb.READ,\n  resource: 'USER_ADDRESS',\n  possession: AuthPossession.ANY\n}, {\n  action; AuthActionVerb.READ,\n  resource: 'USER_ROLES',\n  possession: AuthPossession.ANY\n})\n```\n\nOnly when the user is granted both permissions of reading any user address and reading any roles, could he/she access the route.\n\n#### Using `AuthZService`\n\nWhile the `@UsePermissions` decorator is good enough for most cases, there are situations where we may want to check for a permission in a method's body. We can inject and use `AuthZService` which is a wrapper of the Casbin RBAC + Management API for that as shown in the example below:\n\n```typescript\nimport { Controller, Get, UnauthorizedException, Req } from '@nestjs/common';\nimport {\n  AuthZGuard,\n  AuthZService,\n  AuthActionVerb,\n  AuthPossession,\n  UsePermissions\n} from 'nest-authz';\n\n@Controller()\nexport class AppController {\n  constructor(private readonly authzSrv: AuthZService) {}\n\n  @Get('users')\n  async findAllUsers(@Req() request: Request) {\n    let username = request.user['username'];\n    // If there is a policy  `p, root, user, read:any` in policy.csv\n    // then user `root` can do this operation\n\n    // Using string literals for simplicity.\n    const isPermitted = await this.authzSrv.hasPermissionForUser(username, \"user\", \"read:any\");\n    if (!isPermitted) {\n      throw new UnauthorizedException(\n        'You are not authorized to read users list'\n      );\n    }\n    // A user can not reach this point if he/she is not granted for permission read users\n    // ...\n  }\n}\n```\n\n\n#### (Deprecated) Using `AuthZRBACService` or `AuthZManagementService`\n\n> The functionality provided by `AuthZRBACService` and `AuthZManagementService` has been unified in `AuthZService`, so these services will be removed in a later release.\n\nWe can inject and use `AuthZRBACService` or `AuthZManagementService` which are wrappers of the Casbin RBAC and Management APIs, respectively, as shown in the example below:\n\n```typescript\nimport { Controller, Get, UnauthorizedException, Req } from '@nestjs/common';\nimport {\n  AuthZGuard,\n  AuthZRBACService,\n  AuthActionVerb,\n  AuthPossession,\n  UsePermissions\n} from 'nest-authz';\n\n@Controller()\nexport class AppController {\n  constructor(private readonly rbacSrv: AuthZRBACService) {}\n\n  @Get('users')\n  async findAllUsers(@Req() request: Request) {\n    let username = request.user['username'];\n    // If there is a policy  `p, root, user, read:any` in policy.csv\n    // then user `root` can do this operation\n\n    // Using string literals for simplicity.\n    const isPermitted = await this.rbacSrv.hasPermissionForUser(username, \"user\", \"read:any\");\n    if (!isPermitted) {\n      throw new UnauthorizedException(\n        'You are not authorized to read users list'\n      );\n    }\n    // A user can not reach this point if he/she is not granted for permission read users\n    // ...\n  }\n}\n```\n\n## Example\n\nFor more detailed information, checkout the working example in\n[nest-authz-example](https://github.com/node-casbin/nest-authz-example)\n\n## License\n\nThis project is licensed under the MIT license.\n","readmeFilename":"README.md"}