{"_id":"@amalaika/authz","_rev":"8-b881a7fbbcf77a226aee269b2b4fa107","name":"@amalaika/authz","dist-tags":{"latest":"3.0.2"},"versions":{"1.0.4":{"name":"@amalaika/authz","version":"1.0.4","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Events Factory"},"license":"MIT","_id":"@amalaika/authz@1.0.4","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"84cbac1ad97d215837f8295daf25efbb180153b0","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-1.0.4.tgz","fileCount":44,"integrity":"sha512-RHgxgEVRlTGEcpINoEgHnHl6XmoDVlHsh2M7cmnr0FQM2Wmg97WGhl8St4yXfrQimFSITCy6Nj1ofR7kJYv9og==","signatures":[{"sig":"MEUCIQCmoXxDAJB3cnQfw8fm/EbLtzpN+o2zet07DYKUzsGgfwIgP6aoQDX01W6oKvr+sg2ll5n/ZgUfSdtiPFMyw99a3hY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45543},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f6e4566c17f0e414fa2c0e5667523f118ad7e466","scripts":{"test":"jest","build":"tsc","test:cov":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.6.0","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","ts-jest":"^29.1.2","typescript":"^5.0.0","@nestjs/jwt":"^10.0.0","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^10.0.0","@nestjs/axios":"^3.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","@types/express":"^4.17.21","@nestjs/testing":"^10.0.0","reflect-metadata":"^0.2.0"},"peerDependencies":{"rxjs":"^7.0.0","@nestjs/jwt":"^10.0.0","nestjs-i18n":"^10.0.0","@nestjs/core":"^10.0.0","@nestjs/axios":"^3.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_1.0.4_1768191884393_0.9644145509329201","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@amalaika/authz","version":"1.0.5","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Events Factory"},"license":"MIT","_id":"@amalaika/authz@1.0.5","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"7dc0b097fa464166a4321032a70feafd8126b91a","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-1.0.5.tgz","fileCount":44,"integrity":"sha512-C30Nd5vY/Jn5CYHwPNnCQ7sGYBbUtzaowUlkttsy/Av6KwFpNyIJer3OQ5fBHq7yJPaWK0VGBVS7uTPXa5tdkg==","signatures":[{"sig":"MEUCIB8Vjk1XRcZCWmWdGcOTqrJgs/LTnLIqtAT1Ix172dahAiEAyGO7gYGugkvhpISq6abuUycHUV3UIE2rcaPx+5qrOTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46075},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"536215d1c0bad1b1059c802e58e6b9164f1a0330","scripts":{"lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","test:cov":"jest --coverage","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.6.0","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","eslint":"^9.39.2","ts-jest":"^29.1.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.0.0","@nestjs/jwt":"^10.0.0","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^10.0.0","@nestjs/axios":"^3.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","@types/express":"^4.17.21","@nestjs/testing":"^10.0.0","reflect-metadata":"^0.2.0","typescript-eslint":"^8.52.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"peerDependencies":{"rxjs":"^7.0.0 || ^8.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_1.0.5_1768192852195_0.519161690297067","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@amalaika/authz","version":"1.0.6","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","_id":"@amalaika/authz@1.0.6","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"13348273eae9f2266fe72b4601a2ee1a3f635218","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-1.0.6.tgz","fileCount":44,"integrity":"sha512-TN6sKoRUnrFqkibYF0HchQvBL65U5k5m4o5Aj60MfTEJPX6JYNf1s9UaFXcnhNAe62VyF+GdEK3xu6d74QllUw==","signatures":[{"sig":"MEUCIQCFAcQSTPdcZQiFCMm/684bVkNWfge1xo7ICEakkidxOAIgevARPjDCq+cwX5h7CFJW+1z3uPFnxGH4LI0G69ig1jM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46900},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c513378c98c8f3c61e1b841616a97a71368dc9e3","scripts":{"lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","test:cov":"jest --coverage","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.6.0","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","eslint":"^9.39.2","ts-jest":"^29.1.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.0.0","@nestjs/jwt":"^10.0.0","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^10.0.0","@nestjs/axios":"^3.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","@types/express":"^4.17.21","@nestjs/testing":"^10.0.0","reflect-metadata":"^0.2.0","typescript-eslint":"^8.52.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"peerDependencies":{"rxjs":"^7.0.0 || ^8.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_1.0.6_1768194985056_0.11236762533990174","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@amalaika/authz","version":"1.0.7","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","_id":"@amalaika/authz@1.0.7","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"44ab040f3245018992f41e05e09e61075c60a92e","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-1.0.7.tgz","fileCount":47,"integrity":"sha512-xYeOGJWGqFioEgBoyyuyQayZPcwMU7HThE9r6B6D/BG53hQM7uzrqU9J7asv+vOI+3KKJvZT9GESvvxGTrRCdg==","signatures":[{"sig":"MEUCIDl+l4W5aBrV5xMfYr8o57f4GAGzlUYaDq8O0DLf5SaqAiEA8Q8kxJ3fJNe47Am1Y9V6CcOvIySAzxBQxHNXQAaWNMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54757},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5c26ef1547bb66b00caf83fe96c09ffd709f0ca0","scripts":{"lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","test:cov":"jest --coverage","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.6.0","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","eslint":"^9.39.2","ts-jest":"^29.1.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.0.0","@nestjs/jwt":"^10.0.0","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^10.0.0","@nestjs/axios":"^3.0.0","@nestjs/common":"^10.0.0","@nestjs/config":"^3.0.0","@types/express":"^4.17.21","@nestjs/testing":"^10.0.0","reflect-metadata":"^0.2.0","typescript-eslint":"^8.52.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"peerDependencies":{"rxjs":"^7.0.0 || ^8.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_1.0.7_1770410783181_0.4609525673895536","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@amalaika/authz","version":"2.0.0","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","_id":"@amalaika/authz@2.0.0","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"df6b66419e72ec501a94729df76a46d83a65ff7b","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-2.0.0.tgz","fileCount":49,"integrity":"sha512-7AgNmSwddGyYn56Ycl6mrqcDJsBy3mOO0O8Phj9arhI6fXo9pST0fAY9A8M6uUtsxwE2aiiChxt6tfpPlOzyvg==","signatures":[{"sig":"MEQCICKnC/sM327YwbE/4ogjMyUpLNvRSL65ZcB5ln8KxCNFAiA2gPYDFgkdIFRd3iBDsyX8s88/3GWcViulgNRV6vbDig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57052},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b36458150fe9fa12cc6e50a79096afd8cfb4aeea","scripts":{"lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","test:cov":"jest --coverage","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.12.1","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","eslint":"^9.39.2","ts-jest":"^29.1.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.0.0","@nestjs/jwt":"^11.0.2","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^11.1.22","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.22","@nestjs/config":"^4.0.4","@types/express":"^4.17.21","@nestjs/testing":"^11.1.22","reflect-metadata":"^0.2.0","typescript-eslint":"^8.52.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"peerDependencies":{"rxjs":"^7.0.0 || ^8.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_2.0.0_1779363275207_0.11846779081293635","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@amalaika/authz","version":"2.0.1","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","_id":"@amalaika/authz@2.0.1","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"25727624bc352179c71424f70f46ba545ec38cf8","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-2.0.1.tgz","fileCount":49,"integrity":"sha512-d6UcfEviYbaiKI7YkQ6uZIX2Fh4CS19iKWUkCk3mwqBqjG3jOJFNBCVCegB+0bp2aMUz3KJkbPal4I4sOlyuAw==","signatures":[{"sig":"MEYCIQDK0FbX5us6sWujSCghKSN+B3cJTdWxTdiaedw+ICROtQIhAM1sxL1dqSwEwbRNvtM9dxiStdJOdJYb4WHPAn33ppgB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57052},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6c0f82f7f8eed20751c6e64f60a87742d9c52692","scripts":{"lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","test:cov":"jest --coverage","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.12.1","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","eslint":"^9.39.2","ts-jest":"^29.1.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.0.0","@nestjs/jwt":"^11.0.2","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^11.1.22","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.22","@nestjs/config":"^4.0.4","@types/express":"^4.17.21","@nestjs/testing":"^11.1.22","reflect-metadata":"^0.2.0","typescript-eslint":"^8.52.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"peerDependencies":{"rxjs":"^7.0.0 || ^8.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_2.0.1_1779363596614_0.27505891287806916","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@amalaika/authz","version":"3.0.1","keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","_id":"@amalaika/authz@3.0.1","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"homepage":"https://github.com/events-factory/authz-package#readme","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"dist":{"shasum":"8dad919cf87d42eb2e5dd09e3d6ebeb4b380389f","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-3.0.1.tgz","fileCount":58,"integrity":"sha512-t+y9yu6Cjp4QOJXYXKv0IUcSRCDnJABhJiSQiXD8U51lED8/EShhBlYnLQKGLWEX/VJJvwWxmwWruw7PBSyejw==","signatures":[{"sig":"MEQCIBT6DCPfjB+3Q7HPGfj8j9WfrzeHdfSeZkx67RK8AUgnAiBgiUbn/8BhROH5VjCg2SyK+X51uoUVov2I4HTRSPaeAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75010},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"cbee20c2149b4491711724e103520955efa60dfd","scripts":{"lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","test:cov":"jest --coverage","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"repository":{"url":"git+https://github.com/events-factory/authz-package.git","type":"git"},"_npmVersion":"11.12.1","description":"Shared authentication and authorization package for Events Factory microservices","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.0.0","eslint":"^9.39.2","ts-jest":"^29.1.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.0.0","@nestjs/jwt":"^11.0.2","@types/jest":"^29.5.12","nestjs-i18n":"^10.0.0","@nestjs/core":"^11.1.22","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.22","@nestjs/config":"^4.0.4","@types/express":"^4.17.21","@nestjs/testing":"^11.1.22","reflect-metadata":"^0.2.0","typescript-eslint":"^8.52.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"peerDependencies":{"rxjs":"^7.0.0 || ^8.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/authz_3.0.1_1785842491015_0.5665806035558523","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@amalaika/authz","version":"3.0.2","description":"Shared authentication and authorization package for Events Factory microservices","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest","test:cov":"jest --coverage","lint":"eslint \"{src,test}/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","format":"prettier --write \"src/**/*.ts\"","prepublishOnly":"npm run lint && npm run build"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"repository":{"type":"git","url":"git+https://github.com/events-factory/authz-package.git"},"keywords":["auth","authorization","nestjs","guards","rbac"],"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","peerDependencies":{"@nestjs/axios":"^3.0.0 || ^4.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/config":"^3.0.0 || ^4.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/jwt":"^10.0.0 || ^11.0.0","nestjs-i18n":"^10.0.0 || ^11.0.0","rxjs":"^7.0.0 || ^8.0.0"},"devDependencies":{"@eslint/js":"^9.39.2","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.22","@nestjs/config":"^4.0.4","@nestjs/core":"^11.1.22","@nestjs/jwt":"^11.0.2","@nestjs/testing":"^11.1.22","@types/express":"^4.17.21","@types/jest":"^29.5.12","@typescript-eslint/eslint-plugin":"^8.52.0","@typescript-eslint/parser":"^8.52.0","eslint":"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","jest":"^29.7.0","nestjs-i18n":"^10.0.0","prettier":"^3.7.4","reflect-metadata":"^0.2.0","rxjs":"^7.0.0","ts-jest":"^29.1.2","typescript":"^5.0.0","typescript-eslint":"^8.52.0"},"gitHead":"e56c738d679c8cd6872a423af2c1153c250e1a04","_id":"@amalaika/authz@3.0.2","bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"homepage":"https://github.com/events-factory/authz-package#readme","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-7CqvOdwjcftB8Dr3oFxLTW8RtHCD/WPSZ8AKU5OEmQXuGLFoNvvcI4/6MsoCNI47TZzNyx7o5hDewsZl1B9CLw==","shasum":"ff2297bd1d3159683d81329a0ff7f2c6c9801958","tarball":"https://registry.npmjs.org/@amalaika/authz/-/authz-3.0.2.tgz","fileCount":58,"unpackedSize":75020,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDd6LxybyQY0pPEzQrBgAnDskdKqalXElljQuUF4B/m9wIgKYwnkX4d1Qvt27DEvWRVruYziYsWdT/zNNNZsjJq31g="}]},"_npmUser":{"name":"aimemalaika","email":"malaikaime@gmail.com"},"directories":{},"maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/authz_3.0.2_1787221859478_0.4113189600652021"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T04:24:44.312Z","modified":"2026-08-20T10:30:59.769Z","1.0.4":"2026-01-12T04:24:44.518Z","1.0.5":"2026-01-12T04:40:52.379Z","1.0.6":"2026-01-12T05:16:25.202Z","1.0.7":"2026-02-06T20:46:23.315Z","2.0.0":"2026-05-21T11:34:35.351Z","2.0.1":"2026-05-21T11:39:56.799Z","3.0.1":"2026-08-04T11:21:31.192Z","3.0.2":"2026-08-20T10:30:59.623Z"},"bugs":{"url":"https://github.com/events-factory/authz-package/issues"},"author":{"name":"Aime Malaika","email":"amalaika"},"license":"MIT","homepage":"https://github.com/events-factory/authz-package#readme","keywords":["auth","authorization","nestjs","guards","rbac"],"repository":{"type":"git","url":"git+https://github.com/events-factory/authz-package.git"},"description":"Shared authentication and authorization package for Events Factory microservices","maintainers":[{"name":"aimemalaika","email":"malaikaime@gmail.com"}],"readme":"# @amalaika/authz\n\n![Coverage: 100%](https://img.shields.io/badge/coverage-100%25-brightgreen)\n![Lint: passing](https://img.shields.io/badge/lint-passing-brightgreen)\n\nShared authentication and authorization package for NestJS microservices.\n\n## Installation\n\n```bash\nnpm install @amalaika/authz\n```\n\n### Peer Dependencies\n\nThis package requires the following peer dependencies:\n\n```json\n{\n  \"@nestjs/axios\": \"^3.0.0 || ^4.0.0\",\n  \"@nestjs/common\": \"^10.0.0 || ^11.0.0\",\n  \"@nestjs/config\": \"^3.0.0 || ^4.0.0\",\n  \"@nestjs/core\": \"^10.0.0 || ^11.0.0\",\n  \"@nestjs/jwt\": \"^10.0.0 || ^11.0.0\",\n  \"nestjs-i18n\": \"^10.0.0 || ^11.0.0\",\n  \"rxjs\": \"^7.0.0 || ^8.0.0\"\n}\n```\n\n## Usage\n\n### Basic Setup (forRoot - Recommended)\n\nUses environment variables via ConfigService:\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { AuthzModule } from '@amalaika/authz';\n\n@Module({\n  imports: [AuthzModule.forRoot()],\n})\nexport class AppModule {}\n```\n\nThis reads the following environment variables:\n- `RBAC_AUTHZ_URL` - RBAC authorization service URL\n- `JWT_SECRET` - JWT secret key\n- `TOKEN_EXPIRATION_TIME` - JWT expiration (default: '24h')\n- `RBAC_API_KEY` - API key for service-to-service auth\n- `BASIC_AUTH_USERNAME` - Username for HTTP Basic authentication\n- `BASIC_AUTH_PASSWORD` - Password for HTTP Basic authentication\n- `GENERAL_ORIGIN` - Origin header for RBAC requests\n\n### Static Configuration\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { AuthzModule } from '@amalaika/authz';\n\n@Module({\n  imports: [\n    AuthzModule.register({\n      rbacUrl: 'http://localhost:8002',\n      jwtSecret: 'your-jwt-secret',\n      jwtExpiresIn: '24h',\n      apiKey: 'your-api-key', // Optional\n      basicAuthUsername: 'admin', // Optional\n      basicAuthPassword: 'secret', // Optional\n      origin: 'http://localhost:3000', // Optional\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Async Configuration\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { ConfigModule, ConfigService } from '@nestjs/config';\nimport { AuthzModule } from '@amalaika/authz';\n\n@Module({\n  imports: [\n    ConfigModule.forRoot(),\n    AuthzModule.registerAsync({\n      imports: [ConfigModule],\n      inject: [ConfigService],\n      useFactory: (config: ConfigService) => ({\n        rbacUrl: config.get('RBAC_AUTHZ_URL'),\n        jwtSecret: config.get('JWT_SECRET'),\n        jwtExpiresIn: config.get('TOKEN_EXPIRATION_TIME'),\n        apiKey: config.get('API_KEY'),\n        origin: config.get('GENERAL_ORIGIN'),\n      }),\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n## Decorators\n\n### @Authz(permission)\n\nCombined decorator that applies JWT authentication and permission checking.\n\n```typescript\nimport { Controller, Post, Get, Body } from '@nestjs/common';\nimport { Authz } from '@amalaika/authz';\n\n@Controller('users')\nexport class UsersController {\n  @Post()\n  @Authz('create:user')\n  async createUser(@Body() dto: CreateUserDto) {\n    // Only accessible if user has 'create:user' permission\n  }\n\n  @Get()\n  @Authz('read:users')\n  async getUsers() {\n    // Only accessible if user has 'read:users' permission\n  }\n}\n```\n\n### @RequirePermission(permission)\n\nUse when you need more control over which guards to apply.\n\n```typescript\nimport { Controller, Get, UseGuards } from '@nestjs/common';\nimport { JwtAuthGuard, PermissionGuard, RequirePermission } from '@amalaika/authz';\n\n@Controller('reports')\nexport class ReportsController {\n  @Get()\n  @UseGuards(JwtAuthGuard, PermissionGuard)\n  @RequirePermission('read:reports')\n  async getReports() {\n    // Custom guard configuration\n  }\n}\n```\n\n## Guards\n\n### JwtAuthGuard\n\nValidates JWT tokens from the Authorization header.\n\n```typescript\nimport { UseGuards } from '@nestjs/common';\nimport { JwtAuthGuard } from '@amalaika/authz';\n\n@Get('profile')\n@UseGuards(JwtAuthGuard)\nasync getProfile() {\n  // Only requires valid JWT, no permission check\n}\n```\n\n### PermissionGuard\n\nChecks if the user has the required permission via the RBAC service.\n\n### ApiKeyGuard\n\nValidates API key for service-to-service communication.\n\n```typescript\nimport { UseGuards } from '@nestjs/common';\nimport { ApiKeyGuard } from '@amalaika/authz';\n\n@Post('internal/sync')\n@UseGuards(ApiKeyGuard)\nasync syncData() {\n  // Only accessible with valid X-API-Key header\n}\n```\n\n### BasicAuthGuard\n\nValidates HTTP Basic authentication credentials from the `Authorization: Basic <base64>` header.\n\n```typescript\nimport { UseGuards } from '@nestjs/common';\nimport { BasicAuthGuard } from '@amalaika/authz';\n\n@Get('health')\n@UseGuards(BasicAuthGuard)\nasync healthCheck() {\n  // Only accessible with valid Basic auth credentials\n}\n```\n\n## Environment Variables\n\n| Variable | Description | Required |\n|----------|-------------|----------|\n| `RBAC_AUTHZ_URL` | URL of the RBAC authorization service | Yes |\n| `JWT_SECRET` | Secret key for JWT verification | Yes |\n| `TOKEN_EXPIRATION_TIME` | JWT expiration time (e.g., '24h') | No |\n| `RBAC_API_KEY` | API key for service-to-service auth | No |\n| `BASIC_AUTH_USERNAME` | Username for HTTP Basic authentication | No |\n| `BASIC_AUTH_PASSWORD` | Password for HTTP Basic authentication | No |\n| `GENERAL_ORIGIN` | Origin header for RBAC requests | No |\n\n## i18n Support\n\nThe package supports `nestjs-i18n` for translations. If i18n is not configured, fallback messages are used.\n\n### Translation Keys\n\nAdd these to your i18n files:\n\n```json\n{\n  \"common\": {\n    \"NO_AUTH_TOKEN\": \"Authentication token is required\",\n    \"TOKEN_EXPIRED\": \"Authentication token has expired\",\n    \"INVALID_TOKEN\": \"Invalid authentication token\",\n    \"NO_ACTIVE_ROLES_ASSIGNED\": \"No active roles assigned to user\",\n    \"ACCESS_DENIED\": \"Access denied\",\n    \"RBAC_AUTHZ_URL_NOT_CONFIGURED\": \"RBAC authorization URL not configured\",\n    \"AUTHORIZATION_SERVICE_ERROR\": \"Authorization service error\",\n    \"API_KEY_NOT_CONFIGURED\": \"API key not configured\",\n    \"API_KEY_MISSING\": \"API key is missing\",\n    \"INVALID_API_KEY\": \"Invalid API key\",\n    \"BASIC_AUTH_NOT_CONFIGURED\": \"Basic authentication is not configured\",\n    \"BASIC_AUTH_MISSING\": \"Basic authentication credentials are required\",\n    \"INVALID_BASIC_AUTH\": \"Invalid username or password\"\n  }\n}\n```\n\n## Scripts\n\n```bash\n# Run tests\nnpm test\n\n# Run tests with coverage\nnpm run test:cov\n\n# Lint\nnpm run lint\n\n# Lint and fix\nnpm run lint:fix\n\n# Format code\nnpm run format\n\n# Build\nnpm run build\n```\n\n## Publishing\n\n```bash\n# Update version\nnpm version patch|minor|major\n\n# Publish (runs lint and build automatically)\nnpm publish\n```\n\n## Author\n\nAime Malaika\n\n## License\n\nMIT\n","readmeFilename":"README.md"}