{"_id":"@rytass/member-base-nestjs-module","_rev":"99-d640b89ca9015b102e48909a9280da57","name":"@rytass/member-base-nestjs-module","dist-tags":{"latest":"0.14.0"},"versions":{"0.1.1":{"name":"@rytass/member-base-nestjs-module","version":"0.1.1","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.1","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ea625f04f34af4234ed45d0cc8cf0b2be408cc9b","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.1.tgz","fileCount":21,"integrity":"sha512-ya48/hKBHlYYy7B9XWYiaE5qprPkF/J8RN+vnXkr9ob4fsUX1Y51xtyAco1Z7NGpFTrlGqEn1hbWmATBb6IvUg==","signatures":[{"sig":"MEUCIQCQD/27Vrp2SFMk6iOH+qFkV9umqg9ZBhTiuEi6pDMXrgIgMt/BRJJpX2F7H8BcmQhnMhSoUv7rF/NfZjky7M3cUQM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19910},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.1_1721730134799_0.5384532833497344","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@rytass/member-base-nestjs-module","version":"0.1.2","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.2","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"0d32d576ed8c5870c2dac6f42f4923e7745d7c4c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.2.tgz","fileCount":14,"integrity":"sha512-YjVtsl0jRuMGUB7daDEAHb2paW5VsET9XYizD31M3dqklsxJnplQTzgnYOnX/j2NPNW4PRyjvMc25lUhXgYvEw==","signatures":[{"sig":"MEQCIGwrrQtSGd/T3Vj79x5uYODytHhIf07mqyLtJoVMpijmAiAn2dFJj6ke8SU3ciwZ8nnhLBzsyTzuw83AoXicG3uHAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7118},"gitHead":"5c862e1e43acee2d240728b6a9f095a0b3ea634d","scripts":{"build":"npm run build:clean && node ../../scripts/build.js","clean":"npm run build:clean","release":"lerna version patch && npm run build && lerna publish from-package","build:clean":"node ../../scripts/cleanBuild.js"},"_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"10.8.1","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.2_1721737184436_0.04241974669707016","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@rytass/member-base-nestjs-module","version":"0.1.3","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.3","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"9ea21dc5916c0f813cd21742deac4a5116fa1227","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.3.tgz","fileCount":27,"integrity":"sha512-PBoSdjJZ/irUiObCAFROqWyVstmvOUZdmfR/7Ib7V0hO3RX5HmQ6nxl0yr33Pxv+rS5GYQFKnArEbY93nYXDtg==","signatures":[{"sig":"MEUCIEo8dzwh9gRmB+KXL80FvzsrB7rsBQnwKm4qgbmYTFJ/AiEA1Zlunk1/S3mPSWpCTHFiQ175GcY8OJYSpI3I+FeIUyI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36180},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.3_1721747830178_0.1733050085454131","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@rytass/member-base-nestjs-module","version":"0.1.4","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.4","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"8d83bd6b624cc5584603d81e16010248a8581790","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.4.tgz","fileCount":27,"integrity":"sha512-xiWVgMeQ2P4qQU1M9ECsznjQp/csULHAMXExKjMFvmqv57RmIQxTXQMec3NPBU7g5WappfI6pWtlGqN/qZ76lg==","signatures":[{"sig":"MEUCIQDbaCIEkV6jn89lDIelCj8iyTm/4yJp6gaS0d5ks1rKmgIgSUdiPTvWRpPkBAtGKVmj0eouepjVxP9TR782H2h7b5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36184},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.4_1721748186000_0.7596628152902103","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"@rytass/member-base-nestjs-module","version":"0.1.5","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.5","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"306f4c1adc302e719ce321db13b14e298e503b15","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.5.tgz","fileCount":27,"integrity":"sha512-9S+nU04NozjtlOfpStn01xwpOBPrytnDuJQW87RgT9if0caetDq53/iO5kBfaJLQQVzHuSl/CixWHB7lx66+mg==","signatures":[{"sig":"MEUCIQCmZ6sc75H4msQrJ2wQ0zJJhUA8PHKVbFNuiAtFNeNA1wIgD3FbVdt6WBK7Vlo1NMycPbj4xnozSWbZeSk70APbmGo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36231},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.5_1721748858808_0.22057007779750637","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"@rytass/member-base-nestjs-module","version":"0.1.6","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.6","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"4d4d578688c4886049fd0cf2d55b6f154dd5be2f","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.6.tgz","fileCount":27,"integrity":"sha512-109NwCqbPSjjlMJSKfEivyGkkG9Q+b/3rdx9yEi6TSt9cMqVu5VmM0pqvd9RUJFv+GonWBY7rPae52PJh9RvWg==","signatures":[{"sig":"MEQCIDDpaf0NbRhDolUqypKcdKKJk1ndGhe3kLlvVYOjqaUpAiAh20OYFJgHNuQ6euNGFhEsPktWq0xeMFF3R842KkXYnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39772},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.6_1721813900346_0.5794993558045551","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"@rytass/member-base-nestjs-module","version":"0.1.7","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.7","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"314bfb341c88be6114a4186693b8605c15a2126d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.7.tgz","fileCount":27,"integrity":"sha512-hoK6pTs4YW6PFhBYem+Tr0jedXAyZbajG8/07Ei/FFX2ocwdqb2IqxicTao1/OS7eOTksHqq4HkcgOrpYKkuGg==","signatures":[{"sig":"MEUCIQCduedjRiDWwJq0ATJLf2ikR5VwpvlU2k3RjYvmqqwCrgIgTawDub+M2N1FUvEmJbY9BG4xXjVWrrcxg3XlsHeUEhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39114},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.7_1722264342640_0.8084345187248885","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"@rytass/member-base-nestjs-module","version":"0.1.8","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.8","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ea9f5c2df9408c15b179625513f66a0c92b45a68","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.8.tgz","fileCount":28,"integrity":"sha512-P9GxNBMWl2MOI4XZ3gk06NBBggrfAKAeJQm+6GjvJBY/5cemTQX+CrK26xtsWVEjNTqhbYTghdUJEHQa9hmgbA==","signatures":[{"sig":"MEYCIQCMyTBcqaPf9LIulIicsb9l5uDeltD1iOqcrlzpGspvRAIhAOj67cGt/knJtuQSfLgraZWdbcONUFbWNnscoEco9qnn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44590},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.8_1722342332677_0.2710965769648832","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"@rytass/member-base-nestjs-module","version":"0.1.10","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.10","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"8bc1143520206074bfd802992c9f24b93cdc695c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.10.tgz","fileCount":28,"integrity":"sha512-FTKNg0vDqB8QVwHBnLzUbIlEwxhlR8U37S8OYOq37Dnh4MHKM08LBKW1KbakpZmrrrRRCvQGujM2V2Qg61tiFw==","signatures":[{"sig":"MEQCICvXAbYPQrOpn1uo8ToUj6Y/Ux0KFp02yyN6L3ZxRtc/AiBFsPh0eVoa8x/0stR3Ipq9R01AJ5CH6Od1u/AgpJncwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44601},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.10_1722348737665_0.5980947577699482","host":"s3://npm-registry-packages"}},"0.1.12":{"name":"@rytass/member-base-nestjs-module","version":"0.1.12","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.12","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"37c069ae07581ed47c0d4670cf43b9653828b2b1","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.12.tgz","fileCount":30,"integrity":"sha512-Fa6nd9A8TH534O8AGOvlffbTnlqJsyGxTwje0x5947qP5qce4p8G4LoLLTLD5y4kycf7+h9p+AxIEHovWoAGGQ==","signatures":[{"sig":"MEYCIQCssbj+ZrlJYInGHZpm02PCVmtyuQfKoxw6QBt321dlFAIhAIOb4q1Khm8/51Vv67rXylrj3aTobmBIalp0JBSvEvQT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45474},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.12_1722351190432_0.2905678110837795","host":"s3://npm-registry-packages"}},"0.1.13":{"name":"@rytass/member-base-nestjs-module","version":"0.1.13","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.13","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a1aa5ee21a6de435858916f3171e6506cbaaf70c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.13.tgz","fileCount":35,"integrity":"sha512-yRs0gLbkRXPEqrvQYVxbGuumCus8ynWAIrjM3mP/HwJ2kFEJQMt0OWR3alG1LYeT9bkBhA4dqXYoIr44NY1y/g==","signatures":[{"sig":"MEUCIAUy1U5gAMsNecANdX/6dRvRF+7iO3KGvAFCzaXyl9svAiEArCcu1IG2nVUgH6xuGDOd2qi2z5KanbZB0JMtLENpi3M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49238},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.13_1722432533363_0.3394425077550989","host":"s3://npm-registry-packages"}},"0.1.14":{"name":"@rytass/member-base-nestjs-module","version":"0.1.14","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.14","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"920bff0619b46e26dc6d302fab9f86141d414600","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.14.tgz","fileCount":35,"integrity":"sha512-PWeAF85sH/SBg3yJtj3dQSud4BaQhrLdUmM8dl2fZGaI3YPn574FZP7lTQ+FrZIj8MY2V3JB3p81P/dJGNEkyg==","signatures":[{"sig":"MEQCIGZwdnaXJK+6cNQetYJtWb2UbzuAEg4w4TSdQ4oSaVuzAiAgOAOy5afxoFtI3OrxJabl/lYHw8AwTmozyyAPzDVNKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49320},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.14_1722433032982_0.7630895671245024","host":"s3://npm-registry-packages"}},"0.1.15":{"name":"@rytass/member-base-nestjs-module","version":"0.1.15","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.15","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"faa498614442a19cdc73b0507309c40d6477a45d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.15.tgz","fileCount":35,"integrity":"sha512-DfzAkgvFOkpQ63rlKAvVwZ3Y9/6+suJCKh2PgGOGKplaKv5w6KXwIlojdmZrQu05A/cSsBsXp3qq9OnSZr6FgQ==","signatures":[{"sig":"MEYCIQDUmuPivYnlzvhp13HdAYKs8rQa91ghYGqVPqAi6PjrmAIhANAy9OPXDNREegIjyaFSqiG0iTYzkfBCLzdzlOl9j9Od","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49381},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.15_1722435064780_0.6531700210140741","host":"s3://npm-registry-packages"}},"0.1.16":{"name":"@rytass/member-base-nestjs-module","version":"0.1.16","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.16","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"20d5a4211c1c6b76f83d2d8473d28f7d23c40f4a","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.16.tgz","fileCount":35,"integrity":"sha512-yMNZeN5qqqeJStItMeHqcjvJbcfrDHFBhk2FMvqR0V16PeCaYxNbw3DAbdyKX5duXDQ7lfwmpfxrbegPpi4Lkw==","signatures":[{"sig":"MEUCIQDseNBRdJ7pBFFXekDXuwlaEZ8xkQe/Fore/otsPaydcwIgDiYiQfK1TOXHLahcd7YVB3oAv1DdXP0wgYKzrLPEBo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49343},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.16_1722436365895_0.5683707416965553","host":"s3://npm-registry-packages"}},"0.1.17":{"name":"@rytass/member-base-nestjs-module","version":"0.1.17","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.17","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"607e5e2e0a884286835b433e57f61bca622389d4","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.17.tgz","fileCount":38,"integrity":"sha512-GxImQWQly67B422hgq5Cv/+uDPnkWbM/uW7DJVod0iOCTnoYCG9jmWmxX8N4430ElOGFuWiBNQuHYsvzYXyzvA==","signatures":[{"sig":"MEQCIElyL6L1JwZXHsEmix1M0FCF/EN/WsquAxucw8x0ANziAiApFmvEeC8jRWSoKcAFdOWV71976o/fTfj0vbhQaIHCMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53658},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.17_1722438315466_0.44885930906843274","host":"s3://npm-registry-packages"}},"0.1.18":{"name":"@rytass/member-base-nestjs-module","version":"0.1.18","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.18","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"f23de8327d3d1b8a6fbd2dd865f108c3d719562f","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.18.tgz","fileCount":38,"integrity":"sha512-mRhn+nMWHzU7bhnt0jj2rEXHXCjTrE8YglR34ZrNpllR9YsVc0KY/NMzbMmZ/nSVurGXFIIkgnOkmMvfcDnzMA==","signatures":[{"sig":"MEQCIHRH7NxKvf2lxBizIjQpQDIVby+91AAKUwNT7TlJcIj1AiARtFLRor38x3R/3mf7gP8vNktiTFNXN8xXcVlJLh1xJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53479},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.18_1722439580754_0.16108692760897503","host":"s3://npm-registry-packages"}},"0.1.19":{"name":"@rytass/member-base-nestjs-module","version":"0.1.19","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.19","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"928f78f8aa5254ed5ef8daf9263dddb608d4dd99","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.19.tgz","fileCount":38,"integrity":"sha512-Zw4yolE0hIWb/aTCapE3OsDedJL3Blfi5pMT42mw85dooHo8HbaXz4H0fEodbbNb1L83m8bLCBn1twgG7XJQ1w==","signatures":[{"sig":"MEQCICZFCcwB/XEkilciPTExZCZ/Wl6S66vhbA9AJ4H76wX9AiBOamWmalDHi9ryR4jJnfb+VtDeUuoCtrRvOY470zf1Rw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53372},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.19_1722440891828_0.7741847984874988","host":"s3://npm-registry-packages"}},"0.1.20":{"name":"@rytass/member-base-nestjs-module","version":"0.1.20","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.20","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"7976a6685704036ec81c41eba10851fbbb7ba6b8","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.20.tgz","fileCount":38,"integrity":"sha512-s8V7DGtx1eS6wMRoYCpxVG+iDxcjbiz2dMA+gA3Ex9mO5p2rpOa2EQjOeqk+WKTzE16bcfsMQFXtHmMta+7+vg==","signatures":[{"sig":"MEQCIBj4WvSwEBerPoFMfSSTCHKSfJWR5YJApEKknTG1JMitAiAoIxzrhUcpEDOF+1MjJh3swxLTI4dCTxH6WcKiIDlcUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63256},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.20_1722442518870_0.35689792285003175","host":"s3://npm-registry-packages"}},"0.1.21":{"name":"@rytass/member-base-nestjs-module","version":"0.1.21","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.21","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"27e9ace8e73b2131b233be9cd09273bef0388557","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.21.tgz","fileCount":38,"integrity":"sha512-aWpGiTbHAT/A2tI+11Mqd6cu//iqP70dgu1R8fpXQXBaZDSZRvTnEjpgFavpt6EodlDILyJJS0s3i7alfEg86g==","signatures":[{"sig":"MEUCIGrPOa27Km/2i/Qvd6bDaM9QVHt/YI2eIrhp/7XHppSOAiEAhN3RPSDQtU9MRXm6fFieXn7bBWuihXCk+1lGYTHC9X4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64938},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.21_1722443110340_0.9625892480367109","host":"s3://npm-registry-packages"}},"0.1.22":{"name":"@rytass/member-base-nestjs-module","version":"0.1.22","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.22","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"d2d8bbd4e5543b5b0b469c09ffaac2522e55c751","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.22.tgz","fileCount":38,"integrity":"sha512-r8pvXLHLdaTg3qE4DWoTdSa1KD/qDWI/xOlp85jVabUptCXK3qmoRgbXcFIroJhDTQHxFsPaIgSqI/VUTjDcVQ==","signatures":[{"sig":"MEUCIQDP2HZPsrVE8+5pfNu+HVImmPNiTuWQySAD8Sqsbfj3SgIgQozaVm64ms1Ll6VnjsiMq7S34pWMlShqFzJu2cMZYd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66766},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.22_1722444314858_0.2393774522461527","host":"s3://npm-registry-packages"}},"0.1.23":{"name":"@rytass/member-base-nestjs-module","version":"0.1.23","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.23","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"d3daaf7fc54e39c955d5e8a76a4716134fb1629b","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.23.tgz","fileCount":42,"integrity":"sha512-KGvi+dJWafOz+2NEuc8TqyWO11rBPKykxwTS4HM1aevRUuWHoeU9FoBn1bgcFlFXdqHTQfyyrB8X1B6thUcG8Q==","signatures":[{"sig":"MEYCIQCHIV9Zf9jUnXIHhxeZMyM7rYHFl/oEeB0rBwTz6NutCQIhAODHvUtMJGNC/vIAIAKHzAo8lUw+MVW9qHM6sVwTyuAw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74682},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.23_1722451367514_0.9261694880573768","host":"s3://npm-registry-packages"}},"0.1.24":{"name":"@rytass/member-base-nestjs-module","version":"0.1.24","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.24","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"820909158d3d6aa8f579f1e0a1d3867fb7686990","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.24.tgz","fileCount":42,"integrity":"sha512-EQIwR6dBr8bKCSyS0hv58ayTirR8W7V5l+gTi2wB+G9MHD07HMYmGtmDnT7sX9yoKb+xj01u+fW3dAQCA1Q4Lg==","signatures":[{"sig":"MEQCIC1M4dEsgDKBWrHmlNqeXQiBhLcW3tKPhqp4x7ShzYZHAiAE6mthFP2r7lwsyvNcau5TiiYYch0BUpB68q4Ngkq92g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73724},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.24_1722452617036_0.7900747882505808","host":"s3://npm-registry-packages"}},"0.1.25":{"name":"@rytass/member-base-nestjs-module","version":"0.1.25","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.25","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"1748ef64119fd82e39f3609c656b215466e92e34","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.25.tgz","fileCount":42,"integrity":"sha512-auhVeu6nOZtFJh8P7KPNWNgNE/M2thce3fca7bypp/m+f7Gv6xWo4Al6qGjQrdnV8NJJSoi9DIqDTRE+Mt/Lxg==","signatures":[{"sig":"MEYCIQDEnvyZt1xQaUXhEPWaSOZkX0zEGcsWgebXAKae9+mZXwIhANzBTHUSuv/eQcTVvMxoJT+6PV76iaK3dv5r8xWjFCsV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74788},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.25_1722454187092_0.25294659386145635","host":"s3://npm-registry-packages"}},"0.1.26":{"name":"@rytass/member-base-nestjs-module","version":"0.1.26","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.26","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"d97fba5394920b20fa0984c8b8b6f0c353556fff","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.26.tgz","fileCount":40,"integrity":"sha512-UiR03/qh6WtUFRbPUqmavLrAONcahwK9PcJOvdoi+woFCxgHtRwqVt2zNw1GCztst6D25htUQEI4FdDw5Wh8+g==","signatures":[{"sig":"MEYCIQD7p36QQi3aux6qlpuY0wRnPvFifpg87582M9793DKFVgIhAIqFS3ENsWWPwOI77QsNwTZ7QC6A/8d4S/Jk5pyorT3p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70107},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.26_1722454909382_0.0308938800127303","host":"s3://npm-registry-packages"}},"0.1.27":{"name":"@rytass/member-base-nestjs-module","version":"0.1.27","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.27","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"01152aa5856898efacc1d5e6a71b18d606f1e58d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.27.tgz","fileCount":40,"integrity":"sha512-Ql5Slmh6cR17Jq8O0yk+ducai9LuzkZHRJHQ8ySKZ19wgSin+74wy7S6ya9Hgs9p7wzu8ZgMTFSwumEWQJTOtQ==","signatures":[{"sig":"MEQCIEHxNAFQBQE8tHN2su4RE+JSXHiJd51Oib6z5mehqCR6AiAD/JLa25BmWbhYjn2n6K2DMNOTWCUDzYcLm/Bx/uzLnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70250},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.27_1722526134768_0.4982749081110418","host":"s3://npm-registry-packages"}},"0.1.28":{"name":"@rytass/member-base-nestjs-module","version":"0.1.28","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.28","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"4243bd532ef88bfac97f5aef6bccabb45b70db90","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.28.tgz","fileCount":40,"integrity":"sha512-i9rznd57A04UZctHO1NSITTpL83BmLvIiPiHnq3e9/kqDyxfvyKv/ONfHwTTvgGzEJ96ybYK4zzG1kdp6DrlMg==","signatures":[{"sig":"MEUCIQCZ7J3TUBgyTeLIUZZbRMkM9jnSBY9Ubva79r0KoiB2EgIgGLs2/Ktbp/D+TwC0lbqNMtyC486PiaDXC+vjg+5ns8I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70293},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.28_1722526879397_0.32621146523711886","host":"s3://npm-registry-packages"}},"0.1.29":{"name":"@rytass/member-base-nestjs-module","version":"0.1.29","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.29","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a6e4d69541255883750ec76a3c2b592f06ba0534","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.29.tgz","fileCount":38,"integrity":"sha512-/stkN9EYQwQQFZwOP2oxxHxSHJnJlSML6qVaj30hlQAE7axobGIFoaQmy407pnsjQ1stbTMakTxCApYWfsSQjQ==","signatures":[{"sig":"MEUCIQCQ7jCaGkuqbEcF9LfMOWTsEGrIs2GsJkaeao6jNcUNHgIgUgSFEOv2bl9rRCxzg8Qt50hoSiUUwyYQYRMx0HlXf5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70683},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.29_1722527671886_0.4845644638360327","host":"s3://npm-registry-packages"}},"0.1.30":{"name":"@rytass/member-base-nestjs-module","version":"0.1.30","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.30","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"c0eae0d123bbc776d7b4228adc03f95df7fd0b76","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.30.tgz","fileCount":38,"integrity":"sha512-VOCIVrtWqbrzjbvpTQeyn2v4Depg+qg+/IgsAYe8Jmzf/OpecKK2q2o8XTopzCybfU8EmAYHqLEPveAIO7I0FQ==","signatures":[{"sig":"MEUCID1bSPhQW2NGbrr6AJsyAEFtaxWKwB1XIAi4YgN1/TBgAiEAoRk5vWN5d7yFlwPm+wb2BIAcziSvUsfNqFLEJt8ApSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70726},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.30_1722528617606_0.3527861646292132","host":"s3://npm-registry-packages"}},"0.1.31":{"name":"@rytass/member-base-nestjs-module","version":"0.1.31","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.31","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"e3580cb460d122dbabc5b70c6be2ba2790e5ab0c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.31.tgz","fileCount":45,"integrity":"sha512-esxOd7OA72JHoC3bFLaofEKhi3yFulN3RItGJNmof6rQPzd6w/VPgkK5/3sVsPxp4Xq/15nOXuO09xk2aur5xQ==","signatures":[{"sig":"MEYCIQC3o4iXdIqYmrZzRQBpUBfNEKpSBN/fTJuHmhs2WuWGEAIhAL7bnCIOt6Yh+g74RBDF/psQzFkbLcNH1nMAYyCbz0O/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79465},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.31_1722529839130_0.5308411124605916","host":"s3://npm-registry-packages"}},"0.1.32":{"name":"@rytass/member-base-nestjs-module","version":"0.1.32","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.32","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a7124739a8ed54ff5446bcd128cb9ce0893ea98d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.32.tgz","fileCount":49,"integrity":"sha512-DPD+7iNSYwBKYjq9f7GJjxpJz6efFH/yAv1vHmDVYg6p/BIuFw50beZ/6M3k8bexzC8QSYlB7oWZkYAgALIaBA==","signatures":[{"sig":"MEQCIAUjVs6CCDGYJACU57DzPROJ31LG8tbOj3zx92l1pvToAiBgWdycR1zWuyRUe7QangrR2ml6pjHUOc4IyZpSYUXfeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80844},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.32_1722535588552_0.4637048231388652","host":"s3://npm-registry-packages"}},"0.1.33":{"name":"@rytass/member-base-nestjs-module","version":"0.1.33","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.33","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a5f74f3acffc6bce87f9a0bdf3a38b199ef093ea","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.33.tgz","fileCount":51,"integrity":"sha512-u+m7Yfa1i0HHUivA/IJ/9cS58BxQCQNHCz/V25Imisouylc/eZwGA8vl2jhLHdbgzYao81UvYdPD7RB8SD5b7Q==","signatures":[{"sig":"MEQCIB17JyY5D6OB/1XVfhpxECikqKtIJ6V/kYKvWk/Hqz4iAiBQ58avckLwfht8HoObl4tjlBaz/zUr9THP28OUkpZHHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82082},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.33_1722535896947_0.5524706315026306","host":"s3://npm-registry-packages"}},"0.1.34":{"name":"@rytass/member-base-nestjs-module","version":"0.1.34","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.34","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"adc9cfd9fee842f080e401155f54c2fe1c793d4c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.34.tgz","fileCount":51,"integrity":"sha512-MUE/sbpQWuPKnKcWitFx0zCNJ1JrjMKbgKH/Mw5KeifHwWdmGu0Rqs3AMBM2+pqHj69tv5bmJhtfkU6L+i8MPA==","signatures":[{"sig":"MEUCIHAgK1lYpfEP7nGyALN+maxfMlevgKb4UbdZMONjAYOtAiEAurPr2NA8LYJ6kc6yWK6Xk+R136OBzOfl4nFJf1oOHIE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82126},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.34_1722536236452_0.7848431765554658","host":"s3://npm-registry-packages"}},"0.1.35":{"name":"@rytass/member-base-nestjs-module","version":"0.1.35","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.35","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"7e111712cc42d8c4119e9d8c6f764b9a995c60d0","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.35.tgz","fileCount":53,"integrity":"sha512-GE+wazw713aX/3NfnrgsQwWMguGFrwHdYnotI0GctoC2SQPSOlyBUpae56hRT0YJe1ye3gTGOGZsi3EWj0yNAg==","signatures":[{"sig":"MEQCIHpgQ6/saEhMuBKlgxUAdhqaw01qJBtF4wDqFcc42nB1AiBG5q2jkdzB3E/2Ym/FkL+xEYMF/4oNz2SE+cE/AVVt9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84369},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.35_1722537643882_0.9528274286641483","host":"s3://npm-registry-packages"}},"0.1.37":{"name":"@rytass/member-base-nestjs-module","version":"0.1.37","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.37","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"690eb25ea0d65bc9a36dec9d08ddcbf0b9bc9004","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.37.tgz","fileCount":53,"integrity":"sha512-Z/tAstKtsPR/CPLYG2NVrywgypGiMViVvXiLPtXPnu/n57VELhHD7u3Cb7yZbe8do+2lunOwNhSDiCygZyGb2w==","signatures":[{"sig":"MEYCIQCcOALDB+DPlAsK6hA/Ve9CofyWqMtCWRaH0YRzFTmTSAIhALv1cMfNdD8/9TWoAosuPE3fzJ1nQM4gOmkpxBTdCvMN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85980},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"casbin":"^5.30.0","typeorm-adapter":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8.18.0","graphql":"*","ts-morph":"^23.0.0","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.37_1723023395357_0.7440096628424078","host":"s3://npm-registry-packages"}},"0.1.38":{"name":"@rytass/member-base-nestjs-module","version":"0.1.38","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.38","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"4d210c19ccc52cb2d970ca5cadc12eced4cfcca0","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.38.tgz","fileCount":57,"integrity":"sha512-SFcHaN9waD1StYFwhSAGjWz10WBJTtXRqtzydEKslDFPucZ9MP4SMplBEFwpqOcqz3y19gEp2FPqB7pc1//Zzw==","signatures":[{"sig":"MEYCIQDKYtuzzCa3QReAhMEzbQzaZDZ3K2MZVRqPCi8xRRXaKwIhAOdmEtlYCmZthaFlaow0l3kgtTuf6kXouxkDcYO2CADP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121903},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.38_1723118317049_0.3093804373832143","host":"s3://npm-registry-packages"}},"0.1.39":{"name":"@rytass/member-base-nestjs-module","version":"0.1.39","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.39","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"fd5afcdddb5364592602a198cf68ee476f807738","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.39.tgz","fileCount":57,"integrity":"sha512-LT4i1+enp6soaPMpkrI6E5NRJRMprJvfpp+t5lnvjT9SWdLsL2DmGvb5HvzGpj+uE7uI/MELhHxtbq2uBRY9vQ==","signatures":[{"sig":"MEUCIE98PYgliXk7qEC/qS8T3L1mVNJVoJ8cyMKYwMsMjlwuAiEAhO2uuy0v0FvzdGxY4/ZdZgFgmCbERNOZtWJUStgFrMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121903},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.39_1723540755538_0.7501614551803419","host":"s3://npm-registry-packages"}},"0.1.40":{"name":"@rytass/member-base-nestjs-module","version":"0.1.40","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.40","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"dec84bdc66c9550c235168529adb46e533044479","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.40.tgz","fileCount":57,"integrity":"sha512-7lULVnW7ozKQ84Mj9RRLISiEn0cGi6zCrk3byzipYti1gMslOEtgPNZMfsd5KHvPLUE5IeIAhX+zI8rDXGNYUw==","signatures":[{"sig":"MEUCIQDaPebV3iEx+rxVt/oLADzYUucjjFlqwwRGJiKkoKp8uAIgbz5nL9sdyhX+V9/iHioWbRdDIkRTZVT2laEexYolB8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122295},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.40_1723556020112_0.04730884501616295","host":"s3://npm-registry-packages"}},"0.1.41":{"name":"@rytass/member-base-nestjs-module","version":"0.1.41","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.41","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"f61058c7b2844a91c0cfd09480f0791452d3e55d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.41.tgz","fileCount":61,"integrity":"sha512-vuS0sd1XvvWCo2mIgAywI+rNvvbTvW+Xlt8pyX7ojiUHCoreLwjuQMd1E09QCLzliS88EK3du17/5Cs5CjyQqA==","signatures":[{"sig":"MEYCIQDTt8zeTcz5ExSFcQVL/MbnSlaQxuC1lUc1fDaG+mqZpQIhAKpsnh5iE7Gr5SNn/QqPKFwVGvgm5jZGqQkWCu4ac/oG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127857},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.41_1724039581019_0.2822345945825453","host":"s3://npm-registry-packages"}},"0.1.42":{"name":"@rytass/member-base-nestjs-module","version":"0.1.42","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.42","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"3cb5d393bf35a6b223ce1f2d342dd40f27a3c211","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.42.tgz","fileCount":61,"integrity":"sha512-JpJvHQxi0/Co1sNyAo9cHuEboSFjAI6usUS+OooG+BpOnAa5xDmip+JCVArE7yhwhGr1WF4Q1CgAHtLUUo3WhQ==","signatures":[{"sig":"MEUCIHnseoy1GR/LAJ6Qv88+ndab6kvI9aMUeXPslvwTX9q6AiEAlRCcpabTZ5ng+kK2ND+8zTQo75T0JEDYqARdqMKIGJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127955},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.42_1724079887039_0.9743878643496606","host":"s3://npm-registry-packages"}},"0.1.43":{"name":"@rytass/member-base-nestjs-module","version":"0.1.43","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.43","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a06d4e9005e82d98f9c965a450ab82b56833cc34","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.43.tgz","fileCount":61,"integrity":"sha512-kyyjniHuCIC22Ng+Af6kADoW9dJozIzlAv1URVuJa9HfusIHNB4q079kROHIulRjNlOlVuJkfFEbfBTamdhi4w==","signatures":[{"sig":"MEYCIQDta7QnTj67NAS57rUXPbLuh9Kx+miEH2FJvHKs2mQt+QIhAOB1bw5RolbsLVMxl5dghdZuIQ8nZef5xG8WI4ISNW+t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128297},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.43_1724081789769_0.32042850923006294","host":"s3://npm-registry-packages"}},"0.1.44":{"name":"@rytass/member-base-nestjs-module","version":"0.1.44","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.44","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"dd629929f43f82005c31207b2c1b4e57654dd4b4","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.44.tgz","fileCount":61,"integrity":"sha512-5+AvqkHWNM9EOz4iIXypx4HN5VJmntl8Wl8aYPrEmrXRoNSl8tLoUNI3nF/sH1UGVOvNW6kLnrAGIrl7JVVdyA==","signatures":[{"sig":"MEYCIQCyVsm51EeldU1mzksZHO8mVK1BX8vyPwggm9sBQzPy/gIhAO01NVuCBtBTfqEMEhOCYMBm+PVKyi+NvFa4rlD00zEl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128998},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.44_1724138681282_0.999883224126378","host":"s3://npm-registry-packages"}},"0.1.45":{"name":"@rytass/member-base-nestjs-module","version":"0.1.45","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.45","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"e800958758320c04a91aa3bc6a8448e8d217f002","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.45.tgz","fileCount":61,"integrity":"sha512-cLRbtCkXT4Bwa1HQPbS8xaiZVuZUyvPaPHcwivMLbVC2K9uuK0M2uD8Y2DFxnGv08Tb9kAWCrR8dvvI3DmyaBQ==","signatures":[{"sig":"MEYCIQCTfDsWviW00Lo+Hh//rs5QlZqMosw9nKjprX4LYpxfWwIhANd0kqsp3udxDna6x4dOBMojyUCYIbSddhuZ3kH1WggV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129026},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.7/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.45_1724140242581_0.38020259932597766","host":"s3://npm-registry-packages"}},"0.1.46":{"name":"@rytass/member-base-nestjs-module","version":"0.1.46","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.46","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"47a5abb2672b874130dac059d5ef39f720daf2de","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.46.tgz","fileCount":61,"integrity":"sha512-pvRxzbxsjRHD4VlctWI1N5sQFCCWUoz57vjp1+JKldbYqUMQcXUaAx3WBuZ5ZB2pvxm3eRX9IuX6RzQycDX93Q==","signatures":[{"sig":"MEQCIAaolaD/Uo9p2v+jZpoBodu2XBklr+E3dF/Bw8V+tlP8AiAq7FV9VotLKbvV6cZutqmyUH4VyJlGFuVFyc/qdlCViA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129566},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.8/node@v22.4.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.4.1","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.46_1726125509858_0.08894712616730538","host":"s3://npm-registry-packages"}},"0.1.47":{"name":"@rytass/member-base-nestjs-module","version":"0.1.47","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.47","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ab0be44862253a9252491ee0cbcac8c350b9d5b8","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.47.tgz","fileCount":61,"integrity":"sha512-BlUF4ykvfo8tWOLDqucrXvHKRGuZx6ey8+WRLnkw+WnNcvd+tm8uHnsc9u0nFeuY/1cIU4o1TxRmjeYee1EOIw==","signatures":[{"sig":"MEQCICFyDv82kkDEqU2lFlkEHKmYRrpo+cRE4sgd5uNSmmVzAiB3BURwju6IIWHqHrWOXS2UKGhRDhaocWYqo+qExJ/BqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129670},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.8/node@v22.10.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.10.0","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.47_1731932442785_0.21271594994163667","host":"s3://npm-registry-packages"}},"0.1.48":{"name":"@rytass/member-base-nestjs-module","version":"0.1.48","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.48","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"b361574255e710577b9486989901433661826baf","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.48.tgz","fileCount":61,"integrity":"sha512-wv6ef70QQCEoc7eVmfpobzN+Ypuo6Ewhm1uvctSWWn/h4LUnCcnESpc8RFlqHUKbH5B4D0w2VPWzg8VfI1R+xw==","signatures":[{"sig":"MEQCIE7gLAOXn3IKctgxjvNOIcNM/YYbtAgAV/ruMcCnAhB9AiBvtSBga7Mp/pqLanL9UcjjMHpqZ7NQP8HjQp81ZImqXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133024},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.10.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.10.0","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.48_1737048463938_0.09498902272176335","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"@rytass/member-base-nestjs-module","version":"0.1.49","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.49","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ca825d2b56f43ee0b1ec564d6ca0eb6183166a8c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.49.tgz","fileCount":61,"integrity":"sha512-qPPZuQETWcXSZul0B13HSPcoogxl41YjWd5QtILFKRe+CLJjSTIfDUF0E8Ty8rlybmv+UOXrm3TzFw4XQwFINQ==","signatures":[{"sig":"MEQCIFAUrPTNkzPyfSKf8u4QzwUEUxc0yc+fXOXB9357Kw/SAiAJRvclt7CEORh/jrK9dIVs6dw5OgA0Lg5lGd7ZjwYOsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133135},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.10.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.10.0","dependencies":{"luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.49_1738489122632_0.7392507424115629","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"@rytass/member-base-nestjs-module","version":"0.1.50","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.50","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"b57c30fb06301a0fad98b8dfed3dc1315dbd6532","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.50.tgz","fileCount":68,"integrity":"sha512-EaKVTbn/U9PD2cOgb17LdAJ4/M96egWY7iySaDvlOUtKs3gRe8qPzDFD3l+DO57BrHWkWVzWJJSWTqTpuT7jJQ==","signatures":[{"sig":"MEUCIE7pNL/cw9p8whql0w1jey9bVsa8VxAqu+dgBTBDN59jAiEAvrgMcEEt5nGtkd+LEikSjN05Ur6mIrVDzyprsMW7yEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170288},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.50_1739547590144_0.042180150343895884","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"@rytass/member-base-nestjs-module","version":"0.1.51","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.51","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a20f640ce7e63e4cd24bb6b11473eb4b4ea56d55","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.51.tgz","fileCount":68,"integrity":"sha512-FrDZYYNxH8zkIWAGQZRGbfb2UzB+rxMHAsfLajgfsHIQ+rMABUzR4aoD2ZCOnFlRfIp8FQgCfLAhNA7OGmi5cw==","signatures":[{"sig":"MEUCIQCXdJrSPXdQyHCTIE8Nrw905lOPu2NANdgU7s6ntMQcngIgDAIdgSVpntjRT198kUsBMP0/3AMetelj94davLiVTxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170597},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.51_1739548482300_0.43375200573604555","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"@rytass/member-base-nestjs-module","version":"0.1.52","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.52","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"f56bee5199ef753866c8cadbb64bd9e75c84ac29","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.52.tgz","fileCount":68,"integrity":"sha512-Rru3tuKX6RCuqMMuGABZOCOskWEfv7Rhv3o1m6RBVB0arxcEGnA+obiprfPx1qBG2hY6ZWV7eR+f0rxI891LVw==","signatures":[{"sig":"MEUCIQCtDeLdqV+KP6lmZSWqXnfENcZgD3ub3OorbEgEIGqh1gIgXHwzmL/M1e7t3TCEBF6Wn8/NC7uf6H9IWsca4Z/Ww7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170862},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.52_1739955114169_0.5677604504505984","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"@rytass/member-base-nestjs-module","version":"0.1.53","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.53","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"39f3194a8252e02e48b8539eb3b353476789dd00","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.53.tgz","fileCount":68,"integrity":"sha512-X1D59VdN/FsA/uDZzEXJcIC30gNLhGW4nqEwDfgeKg4dtbY69ax2KuVshDYThdQu8RjSBrgSyaJ2n+71Xsx07w==","signatures":[{"sig":"MEQCICbpiNUKOtvhjUinNDEBRq/PKKrJHE6FyPfajkY0jdnFAiB41mbKurai2d61Oa6UMXt59pYoSfyhzTy6PAj0mFQ74w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171115},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.53_1745339125504_0.27469873566539604","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"@rytass/member-base-nestjs-module","version":"0.1.54","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.54","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"fac9b8154d6e09f8387f5ed73c6faeda15086146","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.54.tgz","fileCount":68,"integrity":"sha512-6p0C86LBukR1WDnmxcQoYqIhCDoqySqSAy5zgygHSJkVpUdQakQDX8j0YWCmfM1Ce7MItf6Ym3ReTb2jZBXssw==","signatures":[{"sig":"MEUCIQDtyQnT4lJPf6v0YhUwK2VyZIhrMr2tLdZG3MJ+GjKqOwIgGNOREMRZUMPCXPvU9K/66zFSPdZ0aacGwHbo0dkcbHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173689},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.54_1745821555256_0.2869279208974673","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"@rytass/member-base-nestjs-module","version":"0.1.55","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.55","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ae292795dfa938e11363e387be168f3bf5775de7","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.55.tgz","fileCount":68,"integrity":"sha512-bS3WSqqLS38C+mr+jDsYPo9zz2VHUq3LbihV4lgP2+qLq3H218eatsQ6A/1kqcHBGRyBcXL0ypH3vnwt0BVjiQ==","signatures":[{"sig":"MEQCIBpyfAZgd285u3ERhPM615WgrYyoLX2vBa9cXnNwR2mBAiAIhLY+IvnnI9rxVm68pNfqzdv2mC0jw642E1MDAuPXZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173767},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.55_1746000874724_0.8180864526237612","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"@rytass/member-base-nestjs-module","version":"0.1.56","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.56","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"2ba8702493658e91c09d3191703a1d5a29634047","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.56.tgz","fileCount":68,"integrity":"sha512-aFIF75iCYXhIynB37sghzWx8sCLJHpjhH2Np5ut7xujg0yeyXACekTnsxd1MwCX8aKPwIup0qGHG68ZokyMtLg==","signatures":[{"sig":"MEYCIQCGFT1iwEqg8ndb4CyY4rrBncWOfAj6nnaTVfxDo762FgIhAKfmlugVPiRHUFMh2eMWUbThdkjM+rtdM2jextkZkdkR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173559},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.56_1746001537805_0.9462082030481367","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"name":"@rytass/member-base-nestjs-module","version":"0.1.57","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.57","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"169bb21f61cdc1a8c6973dceebfe585a9fd69c41","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.57.tgz","fileCount":68,"integrity":"sha512-wC/PBf89njHN7TObEeNNV3rDp09Ej/uEiqwsDJ0NxXVnaYdVwx2FKGRr+285Okpryk/gIXccR/3YDJ1kG4MAtA==","signatures":[{"sig":"MEYCIQDFWlh/kBnmLXhAH2zxhGtSNqO6HDetaAnD0ynatwcO0gIhAJqMXnPlYcLTnpuxf60gsdEQk4wgS/KmvGRIIrgEMDL3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174448},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.13.1+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.13.1","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.57_1747222254215_0.7583154800418945","host":"s3://npm-registry-packages-npm-production"}},"0.1.58":{"name":"@rytass/member-base-nestjs-module","version":"0.1.58","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.58","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"cf2cae6ee886b17a657909229511056b1823f360","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.58.tgz","fileCount":67,"integrity":"sha512-1B/VpV6aS7FTmBr+K7m7d7k9wDkJB6Zq4oUIVfUXHtr+K8U1e7kaA36W39p5QNzPr0wIQetlG1Irw4sBD69cqw==","signatures":[{"sig":"MEQCIEtZNYb6ABlwpKcEw3q5rtI6iDZlHw13eRIOm2HEmxu6AiB8z1JaToHAM9SBTYHDyRagiqGNiti6pf5T7Zim1uGndw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175295},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.58_1748930380493_0.41916864660471487","host":"s3://npm-registry-packages-npm-production"}},"0.1.59":{"name":"@rytass/member-base-nestjs-module","version":"0.1.59","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.59","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"0c6eb1f2ae4a4114f2215884f79009e805ae483c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.59.tgz","fileCount":67,"integrity":"sha512-M29WvOywREof8tHn3gmnrTOJiJHsyb+aUrKnS8p+4TJNrcVDMk7fH8Rtv+1lsa9VWbPO37OLKzrxODF3SCWJfw==","signatures":[{"sig":"MEUCICEw6O5RngSitAKYzd3gE7TnjBNfVi5UJk2shbM6osH1AiEAjRtTp5wWRiPhckTVqPoxWkywka3xo9ICNEJIBON0lXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175613},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.59_1748947595446_0.7194883965874974","host":"s3://npm-registry-packages-npm-production"}},"0.1.60":{"name":"@rytass/member-base-nestjs-module","version":"0.1.60","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.60","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"aa3bc55b78355cd81e5334d90a7e05e0c015fd7c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.60.tgz","fileCount":67,"integrity":"sha512-Xnq6TdDDbaP9mKhsZyurGo41V5vwgG4txl4F483s/a1HzGOa2sd7e6PFhGpJlmMvz1w7O+6QVHJp32jxZFh6QQ==","signatures":[{"sig":"MEUCIBSG+yV4sK0nsUYYVegtjXpqjFCr1QKnXg59gzcRpHD7AiEAh2zmEu0QZ+Yqtw3GSKqL3+egk8yoeI9DbbuS03uR19k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175983},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.60_1748947943075_0.08098455651182102","host":"s3://npm-registry-packages-npm-production"}},"0.1.61":{"name":"@rytass/member-base-nestjs-module","version":"0.1.61","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.61","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"1182f5fd96280df3b2338b8d5b84095e3cbfb6bf","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.61.tgz","fileCount":67,"integrity":"sha512-pyp9CWFzOzBqCEWQUF5nn/me1Ae4Cl60jTtAzG3NUsk7VvmRTi6X6LjXdce3r1Hl2+HFIZAGWMKoex/0OzD0Eg==","signatures":[{"sig":"MEYCIQC8to6t51Fw00pZKIOkCujZtRLegVTT1ekUnpVzahjSQAIhALAHIyl+ln45PHzkDAJQqwPmZ7o+od76NZ3Kkkx1uSKC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176600},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.61_1748966575605_0.6852472426470824","host":"s3://npm-registry-packages-npm-production"}},"0.1.62":{"name":"@rytass/member-base-nestjs-module","version":"0.1.62","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.62","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"9da51881a348a9f11e82521ba97b6243388850f7","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.62.tgz","fileCount":69,"integrity":"sha512-QQobhukjCISUGeCQ41y+N0pHUa1deun3367u5ccmQJMNeo2LbjJ5TJzQFtxapsgHM5Ssk4PlBIU6OXZp6YxhOA==","signatures":[{"sig":"MEYCIQDm4f0VYGLJc7Hy70b6FQs2WrHNfTqDptX9wwK0JMyRHAIhAM8zn5v3VGURzaePTnvf0cEKmNnZ6s4dSd7NZsSNM8+n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177088},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.62_1748967577870_0.47398933984595315","host":"s3://npm-registry-packages-npm-production"}},"0.1.63":{"name":"@rytass/member-base-nestjs-module","version":"0.1.63","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.63","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"2d8c0851164d6ead33a9a9036f808a78c96049f7","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.63.tgz","fileCount":69,"integrity":"sha512-iHnP0Uk4Hmc25yVe81CFYyYtZfB1wmGKKPrm6F8ankALMqlbhellm+gZlcfJx5IEJKyFobX/JjIrZqcks4IUsg==","signatures":[{"sig":"MEYCIQDwi4GrOl82NaqkbdjQXr/0LAYuD0y4TZ5z+lHsaUTx+AIhAPa2DhKE2YspoNcdLOV8YtSnSTT+LyiOqCGU5X8QqxuA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177144},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","actor":{"name":"fantasywind","type":"user","email":"fantasyatelier@gmail.com"},"email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.63_1750595832758_0.8673324250071139","host":"s3://npm-registry-packages-npm-production"}},"0.1.64":{"name":"@rytass/member-base-nestjs-module","version":"0.1.64","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.64","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"d03ceab374b11494deb43805c7f6ecd8c282c6b6","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.64.tgz","fileCount":69,"integrity":"sha512-3ZvzjzDvBAabwgWbweZZLCP7fE4IL6zlEcHMB+FVRJFyr8KgU5h8dUs6aZBO17rNUiTGTdRKv8aj+362DZQCXQ==","signatures":[{"sig":"MEQCIQCJqOVlSjXZA9V7K/i8YcyaP9M2Tp1w8aMRVwAzTBAo4AIfchPSAG03L/ENNrMJBEy9uG8MpyjcDkP0S1olfInzIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191059},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","actor":{"name":"fantasywind","type":"user","email":"fantasyatelier@gmail.com"},"email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.64_1750657782547_0.9835295210465385","host":"s3://npm-registry-packages-npm-production"}},"0.1.65":{"name":"@rytass/member-base-nestjs-module","version":"0.1.65","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.1.65","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"91ecd980613531dc3e6e559054c1b781d8318295","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.1.65.tgz","fileCount":69,"integrity":"sha512-AHSWNOvwh8a9f3AFuTzdKEfwo9t5Mz8q5lfEp15KnpZ50qkFHG+iwNs3x/lC6tR6MqQTmoferOQlQ5Gw9oCRFQ==","signatures":[{"sig":"MEUCIADtG7RxHAshOc7nUkP6vSJlqZITOHl2rLOeRUiRqASwAiEAqDafAbzhz9Vl2icW78vJSojlAySpoNNhZS0IWKVt4x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191133},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","actor":{"name":"fantasywind","type":"user","email":"fantasyatelier@gmail.com"},"email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.15.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.15.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.1.65_1750666869071_0.33886933042151535","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@rytass/member-base-nestjs-module","version":"0.2.0","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"e595537b501b6630509121ef5c59fdc8c13641e5","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.0.tgz","fileCount":69,"integrity":"sha512-YNtJMHFLWu95ZW4SZOoDRnYTssMk63H7mTO56B+vTcW6rrVrHW56X1ats7eNftwVib7EyHZq4y7/yCLRkYLBnQ==","signatures":[{"sig":"MEUCIB7xzG0pd4R6p0p02yniZyss9/LrM47+PcnIHgc+7vloAiEA42JPXxKdg1UXCK9Q+ZAlFbRXteSnVY52RQuDVstZX9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191198},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.0_1753701455390_0.5564122343691442","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@rytass/member-base-nestjs-module","version":"0.2.1","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.1","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"e78b339c99fafe710c07476b8040ca8e5ac4292b","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.1.tgz","fileCount":74,"integrity":"sha512-zO0PDOaB3bJOOufgKbAVpTjRJ/jqYsYT3fMq43G3FyaUkgGL7V+1dQs0ayCa+bYqwiKKm1Bk/Z0J3TorzsR4SA==","signatures":[{"sig":"MEQCIEEUwq51P6uXjWcejW2s86Ji5CpPBP1ELhzXO6RO03noAiA2uKAZjrp7Cxwtno6lWPw0uV/MnHBTxLE1dy/BPxg5Ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193476},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.1_1754304072661_0.7763036945917807","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@rytass/member-base-nestjs-module","version":"0.2.2","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.2","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"53dd6a64bb98daac325cb1818fa5746fd4b9e928","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.2.tgz","fileCount":80,"integrity":"sha512-s/6iAhX1cEpC0TLgTZBLIEffeQAMafE8p+qrRx6whQYKGIZqbI9LWErPNMSgEd99Lgqi2TkSgyk2TTH070Kc4w==","signatures":[{"sig":"MEUCIQDtfn0SmWyw/SLI1nGRkJHHHGCqDk8lFml2Wq6Taz96aAIgKLnflyXmcVrW+u83qGHO3Z9tORX61k43tlwJ+QJrKW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200557},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.2_1754306874443_0.8158415442740146","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@rytass/member-base-nestjs-module","version":"0.2.3","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.3","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"9c250b87748672e7e3ba7dbe98f6863cd300a76a","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.3.tgz","fileCount":76,"integrity":"sha512-Eh87wLw/7q1jlZjvo6OxKSTIh/oeCQQ8UTFDPeBlEg+aX4sMrLb4T2MQLUL2xKARYFBg8Aemtvk3vQO6JazggQ==","signatures":[{"sig":"MEUCIBqUEe5uZmQL+AQo6mAn3dr2K7NV/+/lHVl3PASC57ArAiEAmc/jMYojmeOc36LAmMrvrv0ctwBA6pB5F8reXKJV3Jc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190829},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.3_1754311178701_0.7852505478069327","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@rytass/member-base-nestjs-module","version":"0.2.4","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.4","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"f53315e99117e860dee86b4e6219791cfb31d1c4","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.4.tgz","fileCount":77,"integrity":"sha512-Tk7ipsl259Chkko+UKjDGNeCKBIjlGFcj4HKvxEin1yfJ48Tk764sBr5nsQtoKiC0iCQEuhaeAmk2gHoAlhbOw==","signatures":[{"sig":"MEUCIQDQWQm5w74YRuELIkHfmIV5LIxvL1iCwZ79QSlc89O0NAIgHRzrj2kpWc8WQ+4pwQBQX/DknT6bkPTjLehBNz46HAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191088},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.4_1754312387607_0.736306917527048","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@rytass/member-base-nestjs-module","version":"0.2.5","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.5","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"cd10d93d46fb3b330e6fe110ea0af8f00329cb75","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.5.tgz","fileCount":77,"integrity":"sha512-A1LK2pwne2Pe0/VwBCJRZcvrlIbYnnM6XADQ40mqr/HGtYz9QEnql24v2Q8cPBr5r+Wphn2AlgNGWL05CbmDNA==","signatures":[{"sig":"MEYCIQCU2luSYcAwG+dALShl/f7eMo5607ebmsdwADUBwXRf7AIhAKzxDym6ks4uc/t57yPdE+M1MwlwjIceYc6BYsoOKRGe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191603},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.5_1754313270325_0.6931142537487109","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@rytass/member-base-nestjs-module","version":"0.2.6","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.6","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"0ab6df6a2df6b615f2da312a46b9dca91c7cbf78","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.6.tgz","fileCount":77,"integrity":"sha512-uFV+5Ot3aq/TQGUzZjqzYTpWg7KssFjzC22uyHDC2y5zu05dWO2naZ2vq1hoDwkc8ft0iIdUkuGicJrr22xlqw==","signatures":[{"sig":"MEYCIQCMwDL+0cuy/u8pvqi4Xz/ulAf199B3ZhHWR74+O1/8lwIhAJ2gpc6cJ6NTHznaPP/JlsmYPAT1FH+fru17NRl2peav","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191933},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.6_1754314270367_0.9175402504096664","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@rytass/member-base-nestjs-module","version":"0.2.7","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.7","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"aa8196ca86f01c42c8f2d70bbb7f992ece48c903","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.7.tgz","fileCount":77,"integrity":"sha512-cKskHNu1L9Xq7WWy0+kQzYoi62HqlgGIGwe3qTMY0lZ7af9u0QTzuWED0OsW0Ej3c5eVxz85FLOh1aqTnnuqUQ==","signatures":[{"sig":"MEQCIHkuD47/Gt2My7uzfxVZlMHBDoEAY8BpXulaxdtaAkiXAiAeLYFuO4ArELhqqX0iTTnSZDwrVhX3vY/rOnz176OEEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192803},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.7_1754315909415_0.28068218120553","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@rytass/member-base-nestjs-module","version":"0.2.8","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.8","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"8e0184b6b5896068745f259cc705271379bee73b","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.8.tgz","fileCount":77,"integrity":"sha512-WduV/DPXuM4XVZ8z2x+meE+tZakV/LODIwH9EtRyvBisyTBJhHsRH03LEsqExvOvhWsuDtrtvKGhI9AphaljoA==","signatures":[{"sig":"MEYCIQCkvPii8cSJkC8Tn66o5J/VQNW+b4Way1axXuaHAzvKtwIhAOsvqQiebjt2QUTfv0KHt/kBgu3im9V0Kb77I5OFsEWU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192991},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.1.9/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/luxon":"^3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.8_1755614348541_0.6262425668387146","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@rytass/member-base-nestjs-module","version":"0.2.9","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.9","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a2af228582a65bfe6d2e03cbc9651e879cbcf64f","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.9.tgz","fileCount":77,"integrity":"sha512-A31uopBGguenXAOtrY10KYHT+5JaSAgNc6RZjoPLT8EIqHE4jl0QlEvwU4q6+osaYeJfCk7tsrn9WtuqzSnTuQ==","signatures":[{"sig":"MEQCIE7ME4G+YIVHwsbOty1AB6oMyfTy00dwNMf9d36AQwL7AiAwbLr2NcGdWFgKQI5WcOJZMRPEP5Sl7OtKqvfI/1M3tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193338},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/generate-password":"^1.5.3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.9_1757429141520_0.15790236873361074","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@rytass/member-base-nestjs-module","version":"0.2.10","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.10","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"37187eb010f16d2ff3755be00f199cce33a2b747","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.10.tgz","fileCount":77,"integrity":"sha512-KBnCIxD9Oy7RocN3kNHuXUqFbg5SqEcTdlDSoUJREtYxl94cinj5iX3mhOevNkRi5DvJP4Tv165PiJVwck41tg==","signatures":[{"sig":"MEQCIBl6eBO8A+cYxKBnQ1hzeltCM/HlPh3xDGme7Bu0oKQsAiACzp/kZqeVD2bJzgxtKNI9kFc9gpwiUt881ADjKL7P7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193339},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8","@types/generate-password":"^1.5.3"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.10_1757585683733_0.5239031404522809","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@rytass/member-base-nestjs-module","version":"0.2.11","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.11","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"0b29574efe24bbf24342ba4bbd0b3493e98f2571","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.11.tgz","fileCount":77,"integrity":"sha512-fFtwq3CuL9364eQHHRYmVZUdNaq5ZiWcCtQom1BYGc+GqsxtrnbglNPr75bkBMdn+y8T6zZ2jb2H8u/J5lLL1w==","signatures":[{"sig":"MEUCIFFwk9jY8kdRQ2+HaUDhRYAyeZ7qqPU0NlzJUVdpqXCfAiEA5vzDHd1AMvbS6eIDaguErnLvMUWR7pUrgXOKk6ZpWF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193297},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.11_1757942365434_0.23288183208400892","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@rytass/member-base-nestjs-module","version":"0.2.12","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.12","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"48bfd736a554db8dc0ab075828529b679aba96ac","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.12.tgz","fileCount":77,"integrity":"sha512-zrIffBqGPlQvpXrnOcx/9/3qx2t4A+noI5oPDAiD3vIrGhX+uco+JISLCueWh2bMLttjHb3yp/H+pzVZ4vyKeg==","signatures":[{"sig":"MEUCIF+ABV3AWlKphSbjF6en/EoiTA8xeCnOFrx9P5o6EWFpAiEA193kaG3okVEHCTuXpzuqwgDmiOTPeR5HVhpDYFYr21Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193386},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.12_1758025508329_0.2659682803495129","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@rytass/member-base-nestjs-module","version":"0.2.13","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.13","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ed2d365aaa4d609ed7d547a17db828233b5f482a","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.13.tgz","fileCount":77,"integrity":"sha512-04/jxThIbe/tsX2zktIiIEdAEazsrCcEnhsNsFfFz+U35pL38TqMRcfzDLNzqueKIVwQHyJLvlOCs4KywSm6kw==","signatures":[{"sig":"MEUCIClW3E09/QvtK8soQ9keTkjY+sKJU/wy+cdXASpxfiiCAiEA9NwR4pgae0vNzgu6q6dj3v2Q3D24Jr2cCOb7B9Vt+UQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193345},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.13_1758026158887_0.43284912164885236","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@rytass/member-base-nestjs-module","version":"0.2.14","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.14","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"47d6f86cd64c5e1c7a88cb54f55293a002a39387","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.14.tgz","fileCount":77,"integrity":"sha512-Q6WUUq5HhKFgk1kjmLICYk9194Mb5dBiZ8iUnsxggK4o/45NvrqjYSPKkwtuGETV/NoNmlaPrL8Npuj3Nr5v4w==","signatures":[{"sig":"MEUCIGUrWnWZMc2xRNePbXoG2Dg81OQxVUIvJGLlXW8Mr/BaAiEAxYSCbCRA6SHo/7AVJQPS0Gv69OAyZosh2S2Ibpla810=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193361},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.14_1758029504157_0.7679627721253164","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@rytass/member-base-nestjs-module","version":"0.2.15","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.15","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"05f174edd1996bff843661f985a9eff7c418389d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.15.tgz","fileCount":79,"integrity":"sha512-xu6dspqqNl0WqIJkaeR42iGyOk7PJO2jND4TaN5ySIfU0zBZwc1AKZpRtg9ZNPtsNqe57vhUQ9wZiUBXuQm55w==","signatures":[{"sig":"MEUCIQDPPyjAmJDSxCvegCFT8z5hPkdYeahbB9yZjY0gjdYjkQIgIFnCSUg9SoOXAZp+hf7r3HNWLONyYgsPugcaiAZpL4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208435},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.15_1758555533005_0.3120915085565641","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@rytass/member-base-nestjs-module","version":"0.2.16","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.16","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"aa9b4bd3e6a060899bd8140d6558949330003c3c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.16.tgz","fileCount":79,"integrity":"sha512-IsFL7yTpZ50GX9j2USdQ7fVRgA/y1YoG1uyI42HxgDErcnygwln52nLFmaPMy6/UyVV8SgUTU5crKtCB4iygUg==","signatures":[{"sig":"MEQCIA5G6Y/rHbTqOCDUxUZEbSohNPPeB7vw57r/Kxq0fV0aAiAY1axXr8ahIgX/jeev9N/OK/ZKjTn95ztcsG3u/kfz4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208189},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.16_1760968500894_0.038104168382103065","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@rytass/member-base-nestjs-module","version":"0.2.17","keywords":["rytass","member-system","nestjs"],"author":"Chia Yu Pai <fantasyatelier@gmail.com>","license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.17","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"7840dfbe6fdffbbd6f04f620e358be9327917ef1","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.17.tgz","fileCount":79,"integrity":"sha512-fkgKXf9pAZeofbTcN2dB0pZYC0uZv5Z/HKQNfLfXTqqMI0Jm7P/gheCBkpjIPQYR0P9e5oeEAPkvQ9pZItGPzA==","signatures":[{"sig":"MEUCIQDJ/UdxcE3HiciviHZjkIg+AHldNQxe5IM+QiJcdJgu2gIgLiiJ1JvssOa+b0O5LXBMtSHHPgxRIwfaTEqfX2C/ZfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208945},"main":"./index.cjs.js","module":"./index.js","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.1","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.17_1762773332739_0.6439085455136118","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@rytass/member-base-nestjs-module","version":"0.2.18","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.2.18","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"5869a48b34566dad7683036dc7762cc3a10f7aeb","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.2.18.tgz","fileCount":79,"integrity":"sha512-2Hp1ZMPGdDCyhJfClIv/VKzxVvXZ43ICpFHv4QydDjkqdU8nbvCWTbIt4KXwl+1KbljmNq5gtPmK/HNTydU/Ww==","signatures":[{"sig":"MEUCIQDyW9yOHR222GDSI+s5Ok+eN8jXpcwSHNBFUuaIqoCq7QIgHYGEp1pvxUzUXN+tLACffbNZgkio9gdWC7vpOr3QRkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208945},"main":"./index.cjs.js","module":"./index.js","gitHead":"6d64a59c8a66ddd5590d8ee96f1b4b9ed8bcf717","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"*","luxon":"^3.7.2","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.2.18_1764927206227_0.34335871737601464","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@rytass/member-base-nestjs-module","version":"0.3.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.3.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"5f0cd8e2d2ac22deb29ce10ffb954cbed43deb73","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.3.0.tgz","fileCount":82,"integrity":"sha512-HSUwB1+VUVFK4+MrJOixwYDSH0JRKyQqM5CUiszmt0RpKFBa2h7Eiyr9HDQLPl9ShoOMjK8csgglnE+UDmEEpw==","signatures":[{"sig":"MEQCIBXJh79adN718M4Ruw4yVyGmmvqKQGoFB2Gvu+Iv8ukVAiBZc7yNpTUUe0XCv20QVskl3iqJfrb0P8YKcxEUI13faw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219360},"main":"./index.cjs.js","module":"./index.js","gitHead":"8738ad98a338c517e30fd236c9e0d9c99b2eb67b","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v26.4.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"*","luxon":"^3.7.2","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.3.0_1783413281202_0.8109298377551897","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@rytass/member-base-nestjs-module","version":"0.3.1","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.3.1","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"27e5b231410e6ec85cf6ab48af9547f891d82f9d","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.3.1.tgz","fileCount":82,"integrity":"sha512-YfR7SgtVePyFBdmuY8Q9uUJmaPZIz9gi7sPBJMcKk+f9AsOdUYAu8eG/hvGYQEayE5Rzv3TQv9AMu+B0ADI81A==","signatures":[{"sig":"MEUCIQDyWL+d9X/3qTzURYTF0ksYM01bf4jVb/3V2TgvmvDNrQIgdlx+23rL2gkCrl1WvZPnhvGVwWjherjYznoNNlaQnOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220196},"main":"./index.cjs.js","module":"./index.js","gitHead":"a2a83a8052476e8ff3eec5dba52e3fcd898423c5","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.4.2","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.3.1_1784033186573_0.7077768937982705","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@rytass/member-base-nestjs-module","version":"0.4.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.4.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"fd195cf056061e95fac8b1d487e169789599d427","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.4.0.tgz","fileCount":88,"integrity":"sha512-uw+Fb5OvAC6XkKN3WGI+YwSMRDhqDezAHGJsOiEtlb8V1/AZ5HzncyIyE1iiDFFcoVDPu+icjDv1llBnQXZS6A==","signatures":[{"sig":"MEQCIAYgFkrjRsBc3fP6Cr9m99jeRw8R9facHPbuXA6j0rRaAiAhSt2QMZOykPaUivOP4PvHBmJVv/qvhEMlevcHbNhL6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237972},"main":"./index.cjs.js","module":"./index.js","gitHead":"7246df701c4632f8594e07bccfba6049ec2bf7b9","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.4.2","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","typeorm-adapter":"^1","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts"],"devDependencies":{"@types/ws":"^8"},"peerDependencies":{"argon2":"*","typeorm":"*","jsonwebtoken":"*","@nestjs/common":"*","@nestjs/typeorm":"*"},"optionalDependencies":{"ws":"^8","graphql":"*","ts-morph":"*","cookie-parser":"*","@nestjs/graphql":"*"},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.4.0_1784046145690_0.7598779037643058","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@rytass/member-base-nestjs-module","version":"0.5.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.5.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"61d96795e05bf7c12f5f78d7a977ad7e73ac0548","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.5.0.tgz","fileCount":144,"integrity":"sha512-pN2tSE8FK8lLLe3ObSnwgS1rLkrqwkVrowAYCUMGABwDgkkIldrQg3gdQlwUllQ5MdsVB0xxFdQQYpOVIRcmog==","signatures":[{"sig":"MEUCICthza/wTj3EjlUksPl+GP/FBFvcy65eCaJURw7BKNS/AiEAxLP1pxyggTiWACpT8PyfcsHNn9WmLVHxswOiHb9qmBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":510852},"main":"./index.cjs.js","module":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs.js"},"./ldap":{"types":"./ldap.d.ts","import":"./ldap.js","require":"./ldap.cjs.js"},"./graphql":{"types":"./graphql.d.ts","import":"./graphql.js","require":"./graphql.cjs.js"},"./package.json":"./package.json","./oidc-provider":{"types":"./oidc-provider.d.ts","import":"./oidc-provider.js","require":"./oidc-provider.cjs.js"}},"gitHead":"6d82ea81cb2dcb710153889e6ed2c4d5a6a86039","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.4.2","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.5.0_1785396835887_0.2455820053799671","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@rytass/member-base-nestjs-module","version":"0.6.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.6.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"4a08f5207f2aa3903460dbc6162d2840ecf201a3","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.6.0.tgz","fileCount":144,"integrity":"sha512-nmzK6eAznD4tO5ynwWMj6eU41RMPD/Lcj0WQ07cRjnUIqRR053XMdDNnWL9FXh51Kg781KrobNaKXIQPAjvp7A==","signatures":[{"sig":"MEYCIQCDMA0886FS+dKVwCmNXOLXpAKQ0P0V+QdNMBOgh5ur9gIhANZzFhA+js3ATfMwPSVTWJo9gF0yU2ZWnTvZDNDM3/zM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530737},"main":"./index.cjs.js","module":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs.js"},"./ldap":{"types":"./ldap.d.ts","import":"./ldap.js","require":"./ldap.cjs.js"},"./graphql":{"types":"./graphql.d.ts","import":"./graphql.js","require":"./graphql.cjs.js"},"./package.json":"./package.json","./oidc-provider":{"types":"./oidc-provider.d.ts","import":"./oidc-provider.js","require":"./oidc-provider.cjs.js"}},"gitHead":"67fe27b648ecb379997aaf20989b6940dabb87a4","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.4.2","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.6.0_1785414371673_0.500577367613176","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@rytass/member-base-nestjs-module","version":"0.6.1","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.6.1","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"5e38a9844dbb3e8bbe7d83580ff692952bedb41e","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.6.1.tgz","fileCount":148,"integrity":"sha512-/qC/W7Ax3h/eEipeKu52bns4P9WF6Wwo4PV3qVdDLjnQo34Zr/DwwGA5kARpVQcrreoDSf0eVAqDoA4p8QLIXw==","signatures":[{"sig":"MEQCIClx1qCql3Io7e5GMpujuaWA74ndNmWbPtbNZyoyTlhHAiAD9ZNs8NuQV5ETQgZC9LbPRSkEA7L2iyK9yd0GFKWx/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607288},"main":"./index.cjs.js","module":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs.js"},"./ldap":{"types":"./ldap.d.ts","import":"./ldap.js","require":"./ldap.cjs.js"},"./graphql":{"types":"./graphql.d.ts","import":"./graphql.js","require":"./graphql.cjs.js"},"./package.json":"./package.json","./oidc-provider":{"types":"./oidc-provider.d.ts","import":"./oidc-provider.js","require":"./oidc-provider.cjs.js"}},"gitHead":"b67aca1afbc183db90b82552dc5f5c80557d1e2f","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v22.17.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.17.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.6.1_1785525274275_0.8235084041146083","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@rytass/member-base-nestjs-module","version":"0.6.2","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.6.2","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"886cc059c3d5d4e1f837f217e5201d7c19504305","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.6.2.tgz","fileCount":150,"integrity":"sha512-W7Lp7vDBM9Hv7yzIimHd1cGOsQQrDwBiMZtgXzV+3ofbuUa3lLkezkXU9bmNzXn8NQVEQhypVmHRcYSKGDFahA==","signatures":[{"sig":"MEUCIQCcg/jTMrYmEtT5Fak1ZYTE2F7W1VV/6UPp1kejAWKxgwIgO7U2XxELHJIHyv5j/iZcXC2vAT9IlCnysJfv19t8gLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":634846},"main":"./index.cjs.js","module":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs.js"},"./ldap":{"types":"./ldap.d.ts","import":"./ldap.js","require":"./ldap.cjs.js"},"./graphql":{"types":"./graphql.d.ts","import":"./graphql.js","require":"./graphql.cjs.js"},"./package.json":"./package.json","./oidc-provider":{"types":"./oidc-provider.d.ts","import":"./oidc-provider.js","require":"./oidc-provider.cjs.js"}},"gitHead":"c1b67130c2911fe89c086da41c557503ceac422a","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v24.18.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"24.18.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.6.2_1785566404037_0.07244178937672174","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@rytass/member-base-nestjs-module","version":"0.6.3","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.6.3","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"c6e8d85725521b0dd390f1a8166c87b95856ef1b","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.6.3.tgz","fileCount":150,"integrity":"sha512-Dhu/Hp5ch4i82A90v5ZS1w85iDjD251O621UMIuBGUipSjz7Bx8FWRBmbIUzpadRgaLPqj3kIfoZC+kHutMAYQ==","signatures":[{"sig":"MEYCIQCzkS5L/7KNUAVqB2yAjDBuJMMtMoQRL/WF+glGu+9+/QIhAL5ufcdS59l8ddCMc9ouNMePNeKkjel3U7eooZQA0Wvp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":644807},"main":"./index.cjs.js","module":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs.js"},"./ldap":{"types":"./ldap.d.ts","import":"./ldap.js","require":"./ldap.cjs.js"},"./graphql":{"types":"./graphql.d.ts","import":"./graphql.js","require":"./graphql.cjs.js"},"./package.json":"./package.json","./oidc-provider":{"types":"./oidc-provider.d.ts","import":"./oidc-provider.js","require":"./oidc-provider.cjs.js"}},"gitHead":"8741f19bd25c13848876cc49020114d201a676b8","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v24.18.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"24.18.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.6.3_1785593810652_0.8922561515615464","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"@rytass/member-base-nestjs-module","version":"0.6.7","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.6.7","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"38fa89950dfaf7dfa1b2c224e86c5c01986a872f","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.6.7.tgz","fileCount":150,"integrity":"sha512-3BJ8+gW9HizGHnL5ABGWf8GO0kv5j7Ywjn/qHrcRuKh/pOsLdoG4fd9D+5UFjGFxM13kh5ufGWcNAbf5a8a8LA==","signatures":[{"sig":"MEUCIQD67hkCXj/O6YoW0SZLUsYmflyZnAlJxPLS1x6xv8LCZwIgG/enTYSgE5EAzE0BDzcDUveVTtYLL4hpSpd/trWYavo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":652949},"main":"./index.cjs.js","module":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs.js"},"./ldap":{"types":"./ldap.d.ts","import":"./ldap.js","require":"./ldap.cjs.js"},"./graphql":{"types":"./graphql.d.ts","import":"./graphql.js","require":"./graphql.cjs.js"},"./package.json":"./package.json","./oidc-provider":{"types":"./oidc-provider.d.ts","import":"./oidc-provider.js","require":"./oidc-provider.cjs.js"}},"gitHead":"6afeff4930cf873f7de286d0c8d3961a03f4ce33","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v26.2.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.2.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.6.7_1785684628259_0.7639597355562111","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@rytass/member-base-nestjs-module","version":"0.7.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.7.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"aa7d313a2c14d35bde807960a559b2db2bb7d223","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.7.0.tgz","fileCount":285,"integrity":"sha512-uRUvLfqWH7tgDioj5Dix6qqA0smojNC7gmSPdGguhX/6w211ZNJp784NnOPpeXQLEv1aFC+vEtS4tmw1SVyDMg==","signatures":[{"sig":"MEQCICIER8j59J7i2Ukb9uDg80XEfbLTGsBW+rf0QCYSzsKbAiAUDHBaXz15XgZyNckwJO5cZ40Xf6K3lUtksRSEfQmeLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":776511},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"4e84d1f8fa0679df8809c6c03f1e11be5610c5e9","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v26.4.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.7.0_1785696833985_0.9633276861544755","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@rytass/member-base-nestjs-module","version":"0.8.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.8.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"ff8441e53e0b5432369d429e9ca7cc9cf39e01d9","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.8.0.tgz","fileCount":285,"integrity":"sha512-zTr156OO4AneSqvzDOUSMqJ10hu1o+hFPbaQAUvlT17vNkcpMw0pn0mCoD3suWKJzbKx+rvyZuhqkkcTNqSYIQ==","signatures":[{"sig":"MEQCICqxmwsbxh9iiOqgDWenF9GBWZN7S1rLfGHfrZWO7iNsAiBWKtbdwCorTuKDs95dVTs/fvkyStQWxLROvoTmSKCkSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782583},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"7c20dd7108b8ceffc2a445fa6a8b374c0da13a12","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.17.0","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.8.0_1785731676732_0.024609843024662403","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@rytass/member-base-nestjs-module","version":"0.8.1","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.8.1","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"a4ef155958b238647bd3b832b80705a9294126a3","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.8.1.tgz","fileCount":292,"integrity":"sha512-hyO5b+fTFzxuLPxGhnjGjTsDdiOfwSerT1KiMiiHUeJIvSqJAq5Fb2jGkrlui6tGSrRu0/BtL0/qvsaB38eagg==","signatures":[{"sig":"MEQCID8A3nBqu1JY961ZZfzhEONFal2Soy1cTa2NxKYNadCzAiBx2o50CY48LnisE24W1FJQf7r8RhVRKNMC2muhNsNSuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888237},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"87d3cbe2ccbad068a48eb6e4447fb2352118765c","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.17.0","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.8.1_1785746191831_0.4478778967997894","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@rytass/member-base-nestjs-module","version":"0.9.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.9.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"df67bf8743e726099432a8f087f7b6f84eef9665","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.9.0.tgz","fileCount":292,"integrity":"sha512-qg7hkPVhVofZ/NuYkpn0y12mg1gDYicRoDw9zKaqA4EDL155Z6IPwSsXM6lBYYYZp2pJ1TPg5kPIF7Q9ONbSJQ==","signatures":[{"sig":"MEUCIHKLPYPIcfp2PXs29D54ULiFQTM9quUf8NHiylK6WCDJAiEAnoKGA/ytmispNomnlTrOLib7NCmx0ykZfpbCk6gJUAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":913411},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"fba95873ed7520e118a68c3f3999ef470aee365b","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.17.0","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.9.0_1786611411666_0.39696821477667976","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@rytass/member-base-nestjs-module","version":"0.10.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.10.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"1d914c8120676e7e87520a98c15d7de0c73dfc85","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.10.0.tgz","fileCount":328,"integrity":"sha512-jvTF4b6DEHxebSEYTItgQCefbYFewlVUjPUoLXFAMwd1JQrlVBM1Zsj6PseVv+xZpjsrNUdzl+rjesctuQsaXg==","signatures":[{"sig":"MEUCIQChYpg32/Dm9cKsgU1ijsAAEy1rKAP/0ajzenFpjiwIGQIgUhW0L8Qc1QIeQQr1wXPL/k0BPFTlkUgA5qjf+43SAVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC1gT8hBeDXFD7DM2a+WWljX4V/DChatsaTJlj2m17LKgIhALhsPod2v8BKWYZHIbW/hmy9ryBp6e7I4THmUMkX2lAa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1222622},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./entra":{"import":{"types":"./entra.d.ts","default":"./entra.js"},"default":"./entra.js","require":{"types":"./entra.d.cts","default":"./entra.cjs"}},"./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"0d503d924807d6ca2f3accb4e3f6551912ffd256","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v22.22.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"22.22.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./entra.ts","./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.10.0_1787980778626_0.41132628903817525","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@rytass/member-base-nestjs-module","version":"0.11.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.11.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"4d977a8633f90bf553decdace6b7179ede30a23c","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.11.0.tgz","fileCount":328,"integrity":"sha512-lBZZwJr1YhMy1can18QPqrmGtIfl6tLkfRgusm+G+HlgWkZSO94Zf2Ko2Vqaohe2Pgzn48lS3dSU1Olzu7Sqag==","signatures":[{"sig":"MEUCIQC09ga+Sn9ymwr9f5idCKR5vkuK4Qx0dii+l1t6KVjyuQIgcv3R8FwMV2KWjj2qwdv7yZTCKqWBR74tpUAL2HUYZaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDIbFm+KopVzw9TVkLI0NHxipT18rkan5g3yQHjnieVigIhAKYW2VSB6VWupL6pTNCtAxUQWrnmk72iyVhhlJtU0VUD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1254641},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./entra":{"import":{"types":"./entra.d.ts","default":"./entra.js"},"default":"./entra.js","require":{"types":"./entra.d.cts","default":"./entra.cjs"}},"./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"2e18eda177254474e3083f911ac41a184b47ef4b","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v26.4.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./entra.ts","./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.11.0_1788103566790_0.21952214254858538","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@rytass/member-base-nestjs-module","version":"0.12.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.12.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"9920a61ff96a15a619366eea451a8324a26bcd63","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.12.0.tgz","fileCount":332,"integrity":"sha512-B22mAbAcFVedcHrqDzwU8B1mz+NP4PB44pXJ6jIGRUJkmRWN98UufNf3blAEn/yy8bY1Zp8SN7icSHz8CAiejA==","signatures":[{"sig":"MEQCIAEirAUsl0JjNw5YbV2FDSYWqthGKOUYNrAqWeR57oMrAiBSRDvjEMeEeWiq7zaKohkjcE9NBqElkm2Hr/LwKpcmNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDjZMiK+APS7ZfUgNK+wwrOEKCggLSCEATPfJAQvOMXhAIhALd+Z6AS25H0FCxG7Kpq+kvmzoVwg0M8aiqFHVe5Q6bq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1278950},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./entra":{"import":{"types":"./entra.d.ts","default":"./entra.js"},"default":"./entra.js","require":{"types":"./entra.d.cts","default":"./entra.cjs"}},"./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"cda8243c0100b2c6939cac9d4de17f7c12719832","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v26.4.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./entra.ts","./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.12.0_1788109872314_0.27260720648871684","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@rytass/member-base-nestjs-module","version":"0.13.0","keywords":["rytass","member-system","nestjs"],"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","_id":"@rytass/member-base-nestjs-module@0.13.0","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"homepage":"https://github.com/Rytass/Utils#readme","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"b9e2fa0aa850bd559edd95493fcb2f286e84410e","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.13.0.tgz","fileCount":336,"integrity":"sha512-hKWJJSVSF9JPdpzqURS24MojuyoVZzWYqY60U7fb4ma8lq97LM9ZeSJ/PEVQV4VT1vlyoYGwQspIqU2Z4jz59A==","signatures":[{"sig":"MEUCIQC5CskyJ9xaqQbqVqEw4FW/FsuOhVvQ1ne5AvxNZaNdpQIgPbN3R3KFEMaxCgYHAoGvlYF2Fh1KgPPqxzTHRI1Vo7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICSsdEtdnMywyJsGckQ41GEpqJZquHhy4RTNd0yevBprAiEAnlaxXRehL7c+k/Hmaa9/TA08WpFvyhradeO0Af9LLV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293516},"main":"./index.cjs","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./entra":{"import":{"types":"./entra.d.ts","default":"./entra.js"},"default":"./entra.js","require":{"types":"./entra.d.cts","default":"./entra.cjs"}},"./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"f66e0781d53ad6e4f907b5b386b8da63b3723725","typings":"./index.d.ts","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"lerna/9.0.4/node@v26.4.0+arm64 (darwin)","description":"Rytass Member System NestJS Base Module","directories":{},"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./entra.ts","./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/member-base-nestjs-module_0.13.0_1788284515085_0.2824716265726066","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"_id":"@rytass/member-base-nestjs-module@0.14.0","bugs":{"url":"https://github.com/Rytass/Utils/issues"},"dist":{"shasum":"e65a7e716e5478c82d3c3f41cb107df0bfde4936","tarball":"https://registry.npmjs.org/@rytass/member-base-nestjs-module/-/member-base-nestjs-module-0.14.0.tgz","fileCount":342,"integrity":"sha512-fnzXc2ILW972LkpiCEHi98tgwLYa+kZJNlofqus432mN4LXc3SAkJMyP1EBxi3++X50i6zQjbQExyaBit6P75Q==","signatures":[{"sig":"MEQCICqU/AD39RHL5q9vMT29+VtxK4+HNG+NIAdDTldYHd+WAiAywHKX8RHgly8r92e2SZ+YX0JoCg5FbgWJ9LzpxtM/JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD8kUpdsHFVBIx9tn83fwN9SI+Ithw38WLBGg7140k0ewIhAOMWiE8OoYhyvzpAlFVjLR8X6Wxx92GnOjTe9efPt/dJ"}],"unpackedSize":1302453},"main":"./index.cjs","name":"@rytass/member-base-nestjs-module","type":"module","types":"./index.d.ts","author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"module":"./index.js","engines":{"node":">=20.19.0"},"exports":{".":{"import":{"types":"./index.d.ts","default":"./index.js"},"default":"./index.js","require":{"types":"./index.d.cts","default":"./index.cjs"}},"./*":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./*.js":{"import":{"types":"./*.d.ts","default":"./*.js"},"default":"./*.js","require":{"types":"./*.d.cts","default":"./*.cjs"}},"./ldap":{"import":{"types":"./ldap.d.ts","default":"./ldap.js"},"default":"./ldap.js","require":{"types":"./ldap.d.cts","default":"./ldap.cjs"}},"./*.css":"./*.css","./entra":{"import":{"types":"./entra.d.ts","default":"./entra.js"},"default":"./entra.js","require":{"types":"./entra.d.cts","default":"./entra.cjs"}},"./*.json":"./*.json","./graphql":{"import":{"types":"./graphql.d.ts","default":"./graphql.js"},"default":"./graphql.js","require":{"types":"./graphql.d.cts","default":"./graphql.cjs"}},"./package.json":"./package.json","./oidc-provider":{"import":{"types":"./oidc-provider.d.ts","default":"./oidc-provider.js"},"default":"./oidc-provider.js","require":{"types":"./oidc-provider.d.cts","default":"./oidc-provider.cjs"}},"./constants/errors":{"import":{"types":"./constants/errors/index.d.ts","default":"./constants/errors/index.js"},"default":"./constants/errors/index.js","require":{"types":"./constants/errors/index.d.cts","default":"./constants/errors/index.cjs"}}},"gitHead":"bef3c795ea0e579c93c274546cc29574c938a8a6","license":"MIT","typings":"./index.d.ts","version":"0.14.0","_npmUser":{"name":"fantasywind","email":"fantasyatelier@gmail.com"},"homepage":"https://github.com/Rytass/Utils#readme","keywords":["rytass","member-system","nestjs"],"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"_npmVersion":"11.17.0","description":"Rytass Member System NestJS Base Module","directories":{},"maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"_nodeVersion":"26.4.0","dependencies":{"axios":"^1.16.1","luxon":"^3.7.2","casbin":"^5","generate-password":"^1.7.1"},"_hasShrinkwrap":false,"isolateEntries":["./entra.ts","./graphql.ts","./ldap.ts","./oidc-provider.ts"],"peerDependencies":{"argon2":"*","ldapts":"*","graphql":"*","typeorm":"*","@nestjs/core":"*","jsonwebtoken":"*","oidc-provider":">=9","@nestjs/common":"*","@nestjs/graphql":"*","@nestjs/typeorm":"*","typeorm-adapter":">=1"},"peerDependenciesMeta":{"ldapts":{"optional":true},"graphql":{"optional":true},"oidc-provider":{"optional":true},"@nestjs/graphql":{"optional":true},"typeorm-adapter":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/member-base-nestjs-module_0.14.0_1788351848928_0.2972274725280726"}}},"time":{"created":"2024-07-23T10:22:14.632Z","modified":"2026-09-02T12:24:09.248Z","0.1.1":"2024-07-23T10:22:14.946Z","0.1.2":"2024-07-23T12:19:44.648Z","0.1.3":"2024-07-23T15:17:10.345Z","0.1.4":"2024-07-23T15:23:06.134Z","0.1.5":"2024-07-23T15:34:18.953Z","0.1.6":"2024-07-24T09:38:20.529Z","0.1.7":"2024-07-29T14:45:42.846Z","0.1.8":"2024-07-30T12:25:32.816Z","0.1.10":"2024-07-30T14:12:17.804Z","0.1.12":"2024-07-30T14:53:10.647Z","0.1.13":"2024-07-31T13:28:53.494Z","0.1.14":"2024-07-31T13:37:13.178Z","0.1.15":"2024-07-31T14:11:05.006Z","0.1.16":"2024-07-31T14:32:46.048Z","0.1.17":"2024-07-31T15:05:16.014Z","0.1.18":"2024-07-31T15:26:20.893Z","0.1.19":"2024-07-31T15:48:12.036Z","0.1.20":"2024-07-31T16:15:19.170Z","0.1.21":"2024-07-31T16:25:10.553Z","0.1.22":"2024-07-31T16:45:15.042Z","0.1.23":"2024-07-31T18:42:47.720Z","0.1.24":"2024-07-31T19:03:37.220Z","0.1.25":"2024-07-31T19:29:47.300Z","0.1.26":"2024-07-31T19:41:49.580Z","0.1.27":"2024-08-01T15:28:54.966Z","0.1.28":"2024-08-01T15:41:19.579Z","0.1.29":"2024-08-01T15:54:32.041Z","0.1.30":"2024-08-01T16:10:17.783Z","0.1.31":"2024-08-01T16:30:39.318Z","0.1.32":"2024-08-01T18:06:28.696Z","0.1.33":"2024-08-01T18:11:37.144Z","0.1.34":"2024-08-01T18:17:16.607Z","0.1.35":"2024-08-01T18:40:44.054Z","0.1.37":"2024-08-07T09:36:35.543Z","0.1.38":"2024-08-08T11:58:37.225Z","0.1.39":"2024-08-13T09:19:15.702Z","0.1.40":"2024-08-13T13:33:40.267Z","0.1.41":"2024-08-19T03:53:01.152Z","0.1.42":"2024-08-19T15:04:47.200Z","0.1.43":"2024-08-19T15:36:30.025Z","0.1.44":"2024-08-20T07:24:41.427Z","0.1.45":"2024-08-20T07:50:42.795Z","0.1.46":"2024-09-12T07:18:30.036Z","0.1.47":"2024-11-18T12:20:42.989Z","0.1.48":"2025-01-16T17:27:44.106Z","0.1.49":"2025-02-02T09:38:42.852Z","0.1.50":"2025-02-14T15:39:50.331Z","0.1.51":"2025-02-14T15:54:42.519Z","0.1.52":"2025-02-19T08:51:54.367Z","0.1.53":"2025-04-22T16:25:25.744Z","0.1.54":"2025-04-28T06:25:55.475Z","0.1.55":"2025-04-30T08:14:34.912Z","0.1.56":"2025-04-30T08:25:37.992Z","0.1.57":"2025-05-14T11:30:54.382Z","0.1.58":"2025-06-03T05:59:40.690Z","0.1.59":"2025-06-03T10:46:35.627Z","0.1.60":"2025-06-03T10:52:23.267Z","0.1.61":"2025-06-03T16:02:55.773Z","0.1.62":"2025-06-03T16:19:38.059Z","0.1.63":"2025-06-22T12:37:12.954Z","0.1.64":"2025-06-23T05:49:42.725Z","0.1.65":"2025-06-23T08:21:09.247Z","0.2.0":"2025-07-28T11:17:35.558Z","0.2.1":"2025-08-04T10:41:12.865Z","0.2.2":"2025-08-04T11:27:54.620Z","0.2.3":"2025-08-04T12:39:38.927Z","0.2.4":"2025-08-04T12:59:47.802Z","0.2.5":"2025-08-04T13:14:30.589Z","0.2.6":"2025-08-04T13:31:10.562Z","0.2.7":"2025-08-04T13:58:29.626Z","0.2.8":"2025-08-19T14:39:08.752Z","0.2.9":"2025-09-09T14:45:41.744Z","0.2.10":"2025-09-11T10:14:43.930Z","0.2.11":"2025-09-15T13:19:25.608Z","0.2.12":"2025-09-16T12:25:08.509Z","0.2.13":"2025-09-16T12:35:59.061Z","0.2.14":"2025-09-16T13:31:44.349Z","0.2.15":"2025-09-22T15:38:53.208Z","0.2.16":"2025-10-20T13:55:01.110Z","0.2.17":"2025-11-10T11:15:32.949Z","0.2.18":"2025-12-05T09:33:26.380Z","0.3.0":"2026-07-07T08:34:41.323Z","0.3.1":"2026-07-14T12:46:26.685Z","0.4.0":"2026-07-14T16:22:25.823Z","0.5.0":"2026-07-30T07:33:56.033Z","0.6.0":"2026-07-30T12:26:11.838Z","0.6.1":"2026-07-31T19:14:34.426Z","0.6.2":"2026-08-01T06:40:04.192Z","0.6.3":"2026-08-01T14:16:50.817Z","0.6.7":"2026-08-02T15:30:28.450Z","0.7.0":"2026-08-02T18:53:54.159Z","0.8.0":"2026-08-03T04:34:36.884Z","0.8.1":"2026-08-03T08:36:32.017Z","0.9.0":"2026-08-13T08:56:51.796Z","0.10.0":"2026-08-29T05:19:38.713Z","0.11.0":"2026-08-30T15:26:06.894Z","0.12.0":"2026-08-30T17:11:12.448Z","0.13.0":"2026-09-01T17:41:55.188Z","0.14.0":"2026-09-02T12:24:09.041Z"},"bugs":{"url":"https://github.com/Rytass/Utils/issues"},"author":{"name":"Chia Yu Pai","email":"fantasyatelier@gmail.com"},"license":"MIT","homepage":"https://github.com/Rytass/Utils#readme","keywords":["rytass","member-system","nestjs"],"repository":{"url":"git+https://github.com/Rytass/Utils.git","type":"git"},"description":"Rytass Member System NestJS Base Module","maintainers":[{"name":"fantasywind","email":"fantasyatelier@gmail.com"}],"readme":"# Member Base System for NestJS Projects\n\nMembers, passwords, tokens and Casbin authorization for NestJS — plus a pluggable authentication gateway and an optional OpenID Connect provider endpoint.\n\n## What you can build with it\n\n| Capability                                    | Entry point      | Status              |\n| --------------------------------------------- | ---------------- | ------------------- |\n| Members, password policy, JWT session, Casbin | package root     | always on           |\n| Account/password login                        | package root     | always on           |\n| Google / Facebook / custom OAuth2 login       | package root     | configure to enable |\n| Login against any OIDC issuer (relying party) | package root     | configure to enable |\n| Login against an LDAP / Active Directory      | `/ldap`          | opt-in subpath      |\n| **Be** an OIDC provider for other services    | `/oidc-provider` | opt-in subpath      |\n| GraphQL DTOs                                  | `/graphql`       | opt-in subpath      |\n\nAuthentication sources and the issuer endpoint are independent: any source can back the issuer. Jump to [Deployment Topologies](#deployment-topologies) for complete, copy-pasteable setups of each combination.\n\n```\n        authentication sources                    this application\n  ┌─────────────────────────────┐           ┌──────────────────────────┐\n  │ account + password (built-in)│──┐        │  AuthenticationGateway   │\n  │ Google / Facebook / OAuth2   │──┤        │           │              │\n  │ any OIDC issuer              │──┼───────▶│    member + Casbin       │\n  │ LDAP / Active Directory      │──┤        │           │              │\n  │ your own provider            │──┘        │  ┌────────┴───────────┐  │\n  └─────────────────────────────┘           │  │ own API (guarded)  │  │\n                                             │  │ OIDC endpoint      │──┼──▶ other services\n                                             │  └────────────────────┘  │\n                                             └──────────────────────────┘\n```\n\n### How this document is arranged\n\nIt is long because the package covers a lot; you are not meant to read it start to finish.\n\n| If you want to                | Read                                                                                                                                                            |\n| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Get something running         | [Installation](#installation), [Defining Your Member Entity](#defining-your-member-entity), then the topology that matches you                                  |\n| Understand permissions        | [RBAC with Domains](#rbac-with-domains-configuration) and [Request-Aware Authorization](#request-aware-authorization-casbindomainresolver-and-decision-tracing) |\n| Tell 401 from 403             | [How the Guard Reports a Denial](#how-the-guard-reports-a-denial)                                                                                               |\n| Seed the first administrator  | [Default Admin Bootstrap](#default-admin-bootstrap)                                                                                                             |\n| Serve GraphQL                 | [GraphQL Support](#graphql-support)                                                                                                                             |\n| Put the session in a cookie   | [Sessions and Cookies](#sessions-and-cookies)                                                                                                                   |\n| Look up an option             | [Configuration Reference](#configuration-reference)                                                                                                             |\n| Add a login source            | [Authentication Gateway](#authentication-gateway), [LDAP](#authenticating-against-an-ldap-directory), [OIDC issuer](#authenticating-against-an-oidc-issuer)     |\n| Sign in with Microsoft Entra  | [Microsoft Entra ID](#authenticating-against-microsoft-entra-id)                                                                                                |\n| Stop writing callback routes  | [Mounted Login Routes](#mounted-login-routes-for-redirect-providers)                                                                                            |\n| Log in from a native app      | [Native apps: why a cookie cannot reach them](#native-apps-why-a-cookie-cannot-reach-them)                                                                      |\n| Reconcile against a directory | [Reading a directory through the gateway](#reading-a-directory-through-the-gateway)                                                                             |\n| Become an issuer yourself     | [Acting as an OpenID Connect Provider](#acting-as-an-openid-connect-provider)                                                                                   |\n| Upgrade an existing install   | [CHANGELOG.md](./CHANGELOG.md) — each release carries its own migration notes                                                                                   |\n| Find what something is called | [Type Aliases and Injection Tokens](#type-aliases-and-injection-tokens)                                                                                         |\n\n## Installation\n\n```bash\nnpm install @rytass/member-base-nestjs-module\n```\n\nRequired peer dependencies:\n\n```bash\nnpm install @nestjs/common @nestjs/core @nestjs/typeorm typeorm argon2 jsonwebtoken\n```\n\nOptional peer dependencies — install only the ones you use:\n\n| Package                      | Needed when                                                       |\n| ---------------------------- | ----------------------------------------------------------------- |\n| `typeorm-adapter`            | You set `casbinAdapterOptions` (database-backed Casbin policy)    |\n| `@nestjs/graphql`, `graphql` | You import from `@rytass/member-base-nestjs-module/graphql`       |\n| `ldapts`                     | You import from `@rytass/member-base-nestjs-module/ldap`          |\n| `oidc-provider`              | You import from `@rytass/member-base-nestjs-module/oidc-provider` |\n\nNothing is pulled in by importing the package root: an entry point you never import is never resolved, so its dependency is never required and its tables are never created. See [Subpath isolation](#subpath-isolation).\n\n### `typeorm-adapter` is an optional peer dependency\n\nInstall it yourself when you set `casbinAdapterOptions`, and not otherwise:\n\n```bash\nnpm install typeorm-adapter\n```\n\nIt is not bundled because `typeorm-adapter` declares `typeorm` as its own `dependency`\n(`^0.3.17`) rather than a peer dependency. Bundled, any consumer whose `typeorm` version\nfell outside that range got a **second copy of TypeORM** under\n`node_modules/typeorm-adapter/node_modules/`. `getMetadataArgsStorage()` is a\nmodule-level singleton, so the two copies split the entity metadata registry and produced\nerrors such as `Entity metadata for X was not found`, with nothing pointing back to this\npackage. The same nesting pulled in `reflect-metadata@^0.1.13` alongside the `^0.2.x` that\nNestJS 11 and TypeORM require, splitting the `Reflect` polyfill too. Keeping it optional\nmeans your `typeorm` version is the only one installed.\n\nSetting `casbinAdapterOptions` without installing it throws at startup with an explicit\nmessage rather than booting into a broken authorization state.\n\n## Defining Your Member Entity\n\n```typescript\n// app.module.ts\nimport { Module } from '@nestjs/common';\nimport { TypeOrmModule } from '@nestjs/typeorm';\nimport { MemberBaseModule } from '@rytass/member-base-nestjs-module';\nimport { MemberEntity } from './models/member.entity.ts';\n\n@Module({\n  imports: [\n    TypeOrmModule.forRoot({\n      // ... typeorm configuration\n    }),\n    MemberBaseModule.forRoot({\n      memberEntity: MemberEntity, // register custom child entity\n    }),\n  ],\n})\nexport class AppModule {}\n\n// models/member.entity.ts\nimport { BaseMemberEntity } from '@rytass/member-base-nestjs-module';\nimport { ChildEntity, Column, OneToMany, Relation } from 'typeorm';\nimport { MemberOrderEntity } from './member-order.entity.ts';\n\n@ChildEntity()\nexport class MemberEntity extends BaseMemberEntity {\n  @Column({ type: 'boolean', default: 0 })\n  isVerified: boolean;\n\n  @OneToMany(() => MemberOrderEntity, order => order.member)\n  orders: Relation<MemberOrderEntity[]>;\n}\n\n// models/member-order.entity.ts\nimport { Entity, PrimaryGeneratedColumn, Column, ManyToOne, Relation, JoinColumn } from 'typeorm';\nimport { MemberEntity } from './member.entity.ts';\n\n@Entity('member_orders')\nexport class MemberOrderEntity {\n  @PrimaryGeneratedColumn('uuid')\n  id: string;\n\n  @Column('uuid')\n  memberId: string;\n\n  @ManyToOne(() => MemberEntity, member => member.orders)\n  @JoinColumn({ name: 'memberId', referencedColumnName: 'id' })\n  member: Relation<MemberEntity>;\n}\n\n// services/member.service.ts\nimport { DataSource, Repository } from 'typeorm';\nimport { Injectable, BadRequestException, Inject } from '@nestjs/common';\nimport { MemberLoginLogRepo, MemberLoginLogEntity } from '@rytass/member-base-nestjs-module';\nimport { MemberEntity } from '../models/member.entity.ts';\n\n@Injectable()\nexport class MemberService {\n  constructor(\n    private readonly dataSource: DataSource,\n    @Inject(MemberLoginLogRepo)\n    private readonly memberLoginLogRepo: Repository<MemberLoginLogEntity>,\n  ) {}\n\n  async getMemberAuditLogs(id: string): Promise<MemberLoginLogEntity[]> {\n    const qb = this.memberLoginLogRepo.createQueryBuilder('logs');\n\n    qb.andWhere('logs.memberId = :id', { id });\n\n    const logs = await qb.getMany();\n\n    return logs;\n  }\n\n  async getMemberWithOrders(id: string): Promise<MemberEntity> {\n    const qb = this.dataSource.getRepository(MemberEntity).createQueryBuilder('members');\n\n    qb.leftJoinAndSelect('members.orders', 'orders');\n    qb.andWhere('members.id = :id', { id });\n\n    const member = await qb.getOne();\n\n    if (!member) {\n      throw new BadRequestException('Member not found');\n    }\n\n    return member;\n  }\n}\n```\n\n## RBAC with Domains Configuration\n\n```typescript\n// app.module.ts\nimport { Module } from '@nestjs/common';\nimport { TypeOrmModule } from '@nestjs/typeorm';\nimport { MemberBaseModule } from '@rytass/member-base-nestjs-module';\n\n@Module({\n  imports: [\n    TypeOrmModule.forRoot({\n      // ... typeorm configuration\n    }),\n    MemberBaseModule.forRoot({\n      casbinAdapterOptions: {\n        type: 'postgres',\n        host: 'localhost',\n        username: 'rytass',\n        password: 'rytass',\n        database: 'rytass',\n        schema: 'members',\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n\n// controllers/article.controller.ts\nimport { Controller, Get, Post } from '@nestjs/common';\nimport { IsPublic, AllowActions } from '@rytass/member-base-nestjs-module';\n\n@Controller('/articles')\nexport class ArticleController {\n  @Get('/')\n  @IsPublic()\n  list() {\n    // allow everyone\n  }\n\n  @Post('/')\n  @AllowActions([\n    ['article', 'create'], // [Subject, Action] — the domain is not declared here\n  ])\n  create() {\n    // Only allowed members\n  }\n}\n\n// services/member.service.ts\nimport { Injectable } from '@nestjs/common';\nimport { MemberBaseService, CASBIN_ENFORCER } from '@rytass/member-base-nestjs-module';\nimport type { Enforcer } from 'casbin';\n\n@Injectable()\nexport class MemberService {\n  constructor(\n    private readonly memberBaseService: MemberBaseService,\n    @Inject(CASBIN_ENFORCER)\n    private readonly enforcer: Enforcer,\n  ) {}\n\n  // Create member and assign permissions\n  async onApplicationBootstrap() {\n    // Set role domain actions\n    await this.enforcer.addPolicy('article-admin', 'articles', 'article', 'create');\n    await this.enforcer.addPolicy('article-admin', 'articles', 'article', 'update');\n    await this.enforcer.addPolicy('article-admin', 'articles', 'article', 'list');\n    await this.enforcer.addPolicy('article-admin', 'articles', 'article', 'delete');\n\n    const member = await this.memberBaseService.register('creator', 'complex-password');\n\n    await this.enforcer.addGroupingPolicy(member.id, 'article-admin', 'articles');\n  }\n}\n```\n\nYou can use MemberBaseService.login to get accessToken and put it in header (Authorization) with Bearer prefix to authorize the request.\n\n### How a declared action becomes an enforcement\n\nThe model is `r = sub, dom, obj, act`, and the guard calls `enforcer.enforce(memberId, domain, subject, action)`. Only `subject` and `action` come from the decorator; **`domain` is never declared on the route**:\n\n| Part  | Where it comes from                                                      |\n| ----- | ------------------------------------------------------------------------ |\n| `sub` | The member id in the access token                                        |\n| `dom` | `payload.domain` from the token, falling back to `DEFAULT_CASBIN_DOMAIN` |\n| `obj` | The first element of each `AllowActions` pair                            |\n| `act` | The second element                                                       |\n\nSo the policy `addPolicy('article-admin', 'articles', 'article', 'create')` above is matched by `@AllowActions([['article', 'create']])` when the caller's token carries `domain: 'articles'` — which `login(account, password, { domain: 'articles' })` puts there.\n\nListing several pairs is an **OR**: the call is allowed if any one of them passes. To decide the domain per request instead of taking it from the token — when the target depends on GraphQL arguments, say — supply a [`casbinDomainResolver`](#request-aware-authorization-casbindomainresolver-and-decision-tracing). To use your own decorator in place of `AllowActions`, set `casbinPermissionDecorator`.\n\nWith `enableGlobalGuard` on (the default) and no `casbinAdapterOptions`, there is no enforcer at all: `CASBIN_ENFORCER` resolves to `null`, and the guard then **denies** every route carrying `@AllowActions()` with a `CasbinEnforcerUnavailableError` (403). A route marked only `@Authenticated()` still passes on a valid token, and `@IsPublic()` still bypasses the guard entirely. That is the failure direction you want, but it does mean a policy-guarded route is unreachable until the adapter is configured.\n\nTurning `enableGlobalGuard` off inverts this: the guard returns before any of those checks, so `@AllowActions()` routes are all **allowed** rather than all denied. Decorate deliberately if you take that route.\n\n### Keeping two applications' policies apart (casbinRuleEntity)\n\nPolicies live in one table, `casbin_rule`. Two applications pointed at the same database therefore share it — and since the usual startup routine is \"load the authoritative rules, clear the table, write them back\", each one's boot briefly empties the table the other is enforcing against. Convergence at the end is not the same as isolation during.\n\n`casbinRuleEntity` gives each application its own table. Subclass typeorm-adapter's `CasbinRule` and name the table:\n\n```typescript\n// casbin-rule.entity.ts\nimport { Entity } from 'typeorm';\nimport { CasbinRule } from 'typeorm-adapter';\n\n@Entity('backend_casbin_rule')\nexport class BackendCasbinRule extends CasbinRule {}\n\n// app.module.ts\nMemberBaseModule.forRoot({\n  casbinAdapterOptions: { type: 'postgres' /* ... */ },\n  casbinRuleEntity: BackendCasbinRule,\n});\n```\n\nLeft unset, the adapter is constructed exactly as before and keeps using `casbin_rule`, so this changes nothing for an existing deployment. Setting it on an application that already has policies starts that application from an empty table — it does not migrate the rows.\n\nThree caveats worth stating plainly.\n\n**Splitting the table separates the *cache*, not the permissions.** If both applications rebuild their policies from the same upstream tables, both still end up with identical contents, and a permission missing from those upstream tables stays missing in both.\n\n**The entity is more than a table name.** typeorm-adapter constructs every policy row from it, resolves the repository through it, and — on the branch where it opens the connection itself, where `synchronize` defaults to on — creates the table from it. So it has to keep the `ptype` and `v0`–`v5` columns the adapter reads and writes, which is exactly what subclassing `CasbinRule` guarantees. Columns of your own on top are supported; `@CreateDateColumn()` and `@UpdateDateColumn()` are the usual pair.\n\n**An existing connection needs the entity registered on it.** `casbinAdapterOptions` also accepts `{ connection: dataSource }`, and typeorm-adapter assembles an `entities` list only on the other branch, the one where it opens the connection itself. Handed a `DataSource` it takes that one's entity list as it finds it, while still resolving the repository through your class — so declare the entity on that `DataSource` yourself, and let its `synchronize` or a migration create the table. Miss it and boot fails inside `loadPolicy()` with TypeORM's `EntityMetadataNotFoundError`, which names the entity but not the option that introduced it.\n\n## Request-Aware Authorization (casbinDomainResolver and Decision Tracing)\n\nBy default, the built-in permission checker enforces against `payload.domain ?? DEFAULT_CASBIN_DOMAIN`. For per-resource multi-domain models (e.g. the target domain depends on GraphQL arguments), provide a `casbinDomainResolver`. The resolver receives the original Nest `ExecutionContext` (and the underlying request), returns one or more candidate domains, and the default checker allows the call if ANY returned domain passes ANY declared action (the same OR semantics as `AllowActions`). Returning an empty array denies immediately.\n\nThe checker result is normalized into a `CasbinAuthorizationDecision` and attached to `request.casbinDecision`, so downstream interceptors / services can audit which domain actually granted access.\n\n```typescript\n// app.module.ts\nimport { Module } from '@nestjs/common';\nimport { GqlExecutionContext } from '@nestjs/graphql';\nimport { MemberBaseModule } from '@rytass/member-base-nestjs-module';\nimport type { CasbinDomainResolverParams } from '@rytass/member-base-nestjs-module';\n\n@Module({\n  imports: [\n    MemberBaseModule.forRoot({\n      casbinAdapterOptions: {\n        /* ... */\n      },\n      // Resolve target domains from the request instead of the token payload.\n      casbinDomainResolver: ({ context, payload }: CasbinDomainResolverParams): string[] => {\n        if (!context) return [];\n\n        // GraphQL: read resource ids from resolver args, e.g. query documents(projectId: ID!)\n        const args = GqlExecutionContext.create(context).getArgs<{ projectId?: string; organizationId?: string }>();\n\n        // Multi-layer domain fallback: project first, then its organization, then the tenant.\n        return [\n          ...(args.projectId ? [`project:${args.projectId}`] : []),\n          ...(args.organizationId ? [`organization:${args.organizationId}`] : []),\n          ...(typeof payload.tenantId === 'string' ? [`tenant:${payload.tenantId}`] : []),\n        ];\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\nReading the decision for auditing (e.g. logging when access was granted through organization inheritance):\n\n```typescript\n// interceptors/authorization-audit.interceptor.ts\nimport { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { GqlExecutionContext } from '@nestjs/graphql';\nimport type { CasbinAuthorizationDecision } from '@rytass/member-base-nestjs-module';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class AuthorizationAuditInterceptor implements NestInterceptor {\n  intercept(context: ExecutionContext, next: CallHandler): Observable<unknown> {\n    const request = GqlExecutionContext.create(context).getContext<{\n      req: { casbinDecision?: CasbinAuthorizationDecision };\n    }>().req;\n\n    const decision = request.casbinDecision;\n\n    if (decision?.allowed && decision.matchedDomain?.startsWith('organization:')) {\n      // Access was granted via an inherited organization-level policy; keep an audit trail.\n      console.log('organization inheritance access', decision.matchedDomain, decision.matchedAction);\n    }\n\n    return next.handle();\n  }\n}\n```\n\nNotes:\n\n- `casbinDomainResolver` only affects the DEFAULT checker. When a custom `casbinPermissionChecker` is provided, the resolver is ignored — the custom checker receives `context` / `request` in its params (`CasbinPermissionCheckerParams`) and decides on its own.\n- Custom checkers may keep returning `Promise<boolean>` (legacy signature, fully backward compatible) or return a rich `CasbinAuthorizationDecision` (`{ allowed, matchedDomain?, matchedAction?, meta? }`) for tracing.\n- Without `casbinDomainResolver`, the default checker behavior is unchanged (`payload.domain ?? DEFAULT_CASBIN_DOMAIN`).\n\n## How the Guard Reports a Denial\n\n`CasbinGuard` can refuse a call for five unrelated reasons, and it throws a different exception for each. Every class is exported from the package root, so an application distinguishes them with `instanceof` rather than by reading a message:\n\n| Cause                                                        | Exception                             | Status | Message                              | `code` |\n| ------------------------------------------------------------ | ------------------------------------- | ------ | ------------------------------------ | ------ |\n| No token presented                                           | `MissingAccessTokenError`             | 401    | `Access token is missing`            | 120    |\n| Token did not verify (bad signature, expired, malformed)     | `InvalidAccessTokenError`             | 401    | `Access token is invalid or expired` | 121    |\n| Authenticated, policy said no                                | `PermissionDeniedError`               | 403    | `Permission denied`                  | 122    |\n| Handler carries no permission decorator                      | `RouteMissingPermissionMetadataError` | 403    | `Route has no permission metadata`   | 123    |\n| `@AllowActions()` route with `CASBIN_ENFORCER` set to `null` | `CasbinEnforcerUnavailableError`      | 403    | `Casbin enforcer is not configured`  | 124    |\n\nThe two 401s are the only denials that mean the session is unusable. Everything else means the session is fine and this particular call is not allowed — a distinction worth honouring, because treating a 403 as an expired session logs out a user who was merely reading a page containing one field they lack permission for.\n\nThe last two rows are configuration mistakes rather than runtime denials. They stay 403 so the deny direction is unchanged and a route nobody declared does not page whoever watches the 5xx rate, but they are separate classes because they are fixed by editing code, not by granting a policy. The undecorated-handler case is additionally logged once per handler, naming it:\n\n```\nWARN [CasbinGuard] Route ArticleController.archive carries none of @AllowActions(), @Authenticated() or @IsPublic(), so it is denied to everyone including a super admin. Decorate it or remove it.\n```\n\nA checker returning a `CasbinAuthorizationDecision` may set `reason`, which becomes the message of the 403 — so keep it fit for the caller to read, and put anything internal in `meta`. The whole decision is attached to the thrown `PermissionDeniedError` as `.decision` and to the request as `request.casbinDecision`, neither of which is serialized into the response:\n\n```typescript\n// filters/authorization.filter.ts\nimport { ArgumentsHost, Catch, ExceptionFilter } from '@nestjs/common';\nimport { PermissionDeniedError } from '@rytass/member-base-nestjs-module';\n\n@Catch(PermissionDeniedError)\nexport class AuthorizationFilter implements ExceptionFilter {\n  catch(exception: PermissionDeniedError, host: ArgumentsHost): void {\n    // exception.decision?.matchedDomain / .matchedAction / .meta\n    console.warn('denied', exception.decision);\n\n    // ... respond as usual\n  }\n}\n```\n\n### Over GraphQL\n\nThis package cannot set a GraphQL error code itself — that would make `graphql` a hard dependency rather than an optional peer. What it can do is give Apollo an exception carrying a status, which arrives as `extensions.originalError.statusCode`. Map it once in `formatError` and every resolver gets the right code:\n\n```typescript\n// app.module.ts\nGraphQLModule.forRoot<ApolloDriverConfig>({\n  driver: ApolloDriver,\n  formatError: (error: GraphQLFormattedError): GraphQLFormattedError => {\n    const status = (error.extensions?.originalError as { statusCode?: number } | undefined)?.statusCode;\n\n    if (status === 401) return { ...error, extensions: { ...error.extensions, code: 'UNAUTHENTICATED' } };\n    if (status === 403) return { ...error, extensions: { ...error.extensions, code: 'FORBIDDEN' } };\n\n    return error;\n  },\n});\n```\n\nA GraphQL response then carries `FORBIDDEN` on the one field the caller lacks permission for while the rest returns data, which is what lets a page degrade gracefully instead of the client concluding the session ended:\n\n```json\n{\n  \"data\": { \"auditTrail\": \"...\", \"memberOptions\": null },\n  \"errors\": [{ \"path\": [\"memberOptions\"], \"extensions\": { \"code\": \"FORBIDDEN\" } }]\n}\n```\n\nThat the denied field be **nullable** is the condition for it, and it is your schema's decision, not this package's: a denial on a non-null field null-propagates to the root, so `data` comes back `null` and there is nothing left to degrade to.\n\n## Default Admin Bootstrap\n\nInstead of hand-writing the seeding code above, you can declare a default administrator directly in the module options. On application startup the module will create the account and grant it **super-admin (allow-all) permissions**.\n\n```typescript\nMemberBaseModule.forRoot({\n  memberEntity: MyMemberEntity,\n  casbinAdapterOptions: { type: 'postgres' /* ... */ }, // required to grant permissions\n  defaultAdminAccount: 'root',\n  // defaultAdminPassword: 'Sup3rStr0ng', // optional — omit to auto-generate\n});\n```\n\nBehavior:\n\n- **On first startup**, the `defaultAdminAccount` is created and bound to the well-known `SUPER_ADMIN_ROLE` grouping (in `DEFAULT_CASBIN_DOMAIN`). The built-in permission checker treats any member holding this role as allow-all — it passes every guarded action regardless of domain, without enumerating policies.\n- **Idempotent**: if the account already exists at startup, the module does nothing (safe across restarts).\n- **Password**: if `defaultAdminPassword` is omitted, a policy-compliant random password is generated and written to the log **once** (at creation). Supplied passwords are never logged; a supplied password that fails the policy aborts startup with `PasswordDoesNotMeetPolicyError`.\n- **No Casbin configured**: if `casbinAdapterOptions` is not set (the enforcer is unavailable), the account is still created but the super-admin grant is skipped with a warning.\n- **Custom checker caveat**: the allow-all short-circuit lives in the module's default permission checker. If you provide your own `casbinPermissionChecker`, honor `SUPER_ADMIN_ROLE` yourself if you want the same behavior.\n\n`SUPER_ADMIN_ROLE` is exported, so you can grant super-admin to other members too:\n\n```typescript\nimport { SUPER_ADMIN_ROLE, DEFAULT_CASBIN_DOMAIN, CASBIN_ENFORCER } from '@rytass/member-base-nestjs-module';\n\nawait enforcer.addGroupingPolicy(member.id, SUPER_ADMIN_ROLE, DEFAULT_CASBIN_DOMAIN);\n```\n\n## GraphQL Support\n\nGuards work over GraphQL exactly as they do over HTTP — `@AllowActions()`, `@Authenticated()` and `@IsPublic()` all behave the same, and `CasbinGuard` reads the underlying request itself. The one thing to remember is `fieldResolverEnhancers`, without which field resolvers run unguarded:\n\n```typescript\n// app.module.ts\nimport { Module } from '@nestjs/common';\nimport { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';\nimport { GraphQLModule } from '@nestjs/graphql';\nimport { GraphQLContextTokenResolver } from '@rytass/member-base-nestjs-module';\n\n@Module({\n  imports: [\n    GraphQLModule.forRoot<ApolloDriverConfig>({\n      driver: ApolloDriver,\n      fieldResolverEnhancers: ['guards'], // Important!! Field resolvers are unguarded without it.\n      debug: true,\n      playground: true,\n      autoTransformHttpErrors: true,\n      // Optional: publishes the caller's token as context.token for your own resolvers.\n      context: GraphQLContextTokenResolver,\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n`GraphQLContextTokenResolver` is a **convenience for your own resolvers**, not part of authorization: it puts the raw token on `context.token`, header first and cookie second. Authorization does not go through it, so omitting it changes nothing about who may call what.\n\nThe pre-built export assumes the defaults. Build your own whenever the module is configured differently, so that `context.token` agrees with what the guard actually accepted:\n\n```typescript\nimport { createGraphQLContextTokenResolver } from '@rytass/member-base-nestjs-module';\n\ncontext: createGraphQLContextTokenResolver({\n  cookieName: 'sid', // match accessTokenCookieName\n  cookieMode: true, // match cookieMode\n});\n```\n\nBoth mirror the module's own options. `cookieMode: false` matters in particular: the guard ignores cookies entirely in that mode, and a resolver that kept reading them would hand your resolvers a token the guard had refused — one left over from before the mode was turned off, for instance.\n\n## Sessions and Cookies\n\nBy default a caller presents its token in the `Authorization` header and the module writes no cookies at all. `cookieMode: true` adds the cookie as a second source.\n\n**Reading** then happens on every request, header first: `Authorization: Bearer` wins, and the cookie is consulted only if there is no header. Only the **access token** cookie is ever read. The module never reads the refresh token cookie at all — it only writes it, so that a refresh route of your own can pick it up and hand the value to `memberBaseService.refreshToken(token)`. There is no refresh endpoint in this package, and no route it provides will accept a refresh token as a session.\n\n**Writing** is narrower than reading. The module sets cookies only where it completes a login itself, and both cookies are written together so the caller does not need an immediate refresh round trip:\n\n| Where                                | When                                             | Writes           |\n| ------------------------------------ | ------------------------------------------------ | ---------------- |\n| `GET /auth/callbacks/:channel`       | An OAuth2 provider is configured                 | access + refresh |\n| [`OidcSsoBridge`](#session-bridging) | `/oidc-provider` is mounted and the bridge is on | access + refresh |\n\nA login you drive yourself — `memberBaseService.login(...)` — returns a token pair and writes nothing. Set it with the exported `resolveCookieOptions` to get the same attributes the module would have used.\n\nNames and attributes come from the [cookie options](#cookie-options); each `Max-Age` follows its own token's lifetime.\n\nAll of it is configured through the [cookie options](#cookie-options). Nothing is required — each has a working default:\n\n```ts\n// app.module.ts\nimport { Module } from '@nestjs/common';\nimport { TypeOrmModule } from '@nestjs/typeorm';\nimport { MemberBaseModule } from '@rytass/member-base-nestjs-module';\n\n@Module({\n  imports: [\n    TypeOrmModule.forRoot({\n      /* ... */\n    }),\n    MemberBaseModule.forRoot({\n      cookieMode: true,\n\n      // All optional. Shown with the values they already default to, except\n      // the names, which are changed here to avoid colliding with another\n      // service on the same host.\n      accessTokenCookieName: 'sid',\n      refreshTokenCookieName: 'sid_r',\n      cookiePath: '/',\n      cookieSameSite: 'lax',\n      // cookieSecure — omitted: https gets Secure, localhost does not\n      // cookieDomain — omitted: host-only, so only this host can read it\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\nAn OAuth callback on `https://app.example.com` then answers with:\n\n```\nSet-Cookie: sid=...;   Max-Age=900;     Path=/; Expires=<GMT date>; HttpOnly; Secure; SameSite=Lax\nSet-Cookie: sid_r=...; Max-Age=7776000; Path=/; Expires=<GMT date>; HttpOnly; Secure; SameSite=Lax\n```\n\nBoth cookies are written, each with its own token's lifetime as `Max-Age`. On `http://localhost:3000` they are identical but without `Secure`, so local development works without a separate configuration. (`Expires` is Express mirroring `Max-Age`; it is not separately configurable.)\n\n### What each default adapts to\n\n| Attribute  | Adapts how                                                                                                                                         |\n| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `Secure`   | Set when the request is https, and for every host except `localhost`, `127.0.0.1` and `::1`, where a Secure cookie is never stored over plain http |\n| `Domain`   | Not emitted, so the browser scopes the cookie to exactly the host that served the response                                                         |\n| `Path`     | `/`, so one cookie serves every route                                                                                                              |\n| `Max-Age`  | From `accessTokenExpiration` / `refreshTokenExpiration`                                                                                            |\n| `HttpOnly` | Always on, not configurable                                                                                                                        |\n\nBehind a reverse proxy, enable `app.set('trust proxy', 1)`. `X-Forwarded-Proto` then settles the `Secure` flag directly, which matters because a proxy that does not forward the original `Host` — nginx's default when `proxy_set_header Host` is omitted — otherwise makes an https deployment look like plain localhost. `cookieSecure: true` forces the flag if neither signal is available.\n\nThe OIDC provider module is not subject to any of this: `OidcSsoBridge` takes `Secure` from the `issuer` it was configured with, since that describes the public URL and no proxy can rewrite it. `cookieSecure` still overrides it.\n\n### Sharing a session across subdomains\n\nThe default is host-only: a cookie set by `idp.example.com` is not sent to `app.example.com`. To share one session across siblings, name the parent explicitly:\n\n```ts\nMemberBaseModule.forRoot({ cookieMode: true, cookieDomain: '.example.com' });\n```\n\nThis is opt-in on purpose. Every subdomain under that name can then read the session, including any hosted by someone else, so it should be a deliberate decision rather than a default.\n\n### Do not override the DI tokens\n\nEarlier versions of this document suggested overriding `ACCESS_TOKEN_COOKIE_NAME` / `REFRESH_TOKEN_COOKIE_NAME` from the application's `providers` array. **That does not work**, because Nest resolves providers per module:\n\n- `CasbinGuard` and `OAuthCallbacksController` are declared by `MemberBaseModule` itself, so they resolve its own binding directly.\n- `OidcSsoBridge` is declared in the OIDC provider module and reaches the same binding through `MemberBaseModule`'s `@Global()` export — falling back to the default names if it is absent, since it injects them `@Optional()`.\n\nAn application-level provider reaches only the application's own components. The module keeps writing the default names, with no error or warning to indicate it. Use the options above.\n\n## Deployment Topologies\n\nSix combinations cover nearly every deployment. Each is complete — the module configuration plus whatever `main.ts` needs. A tenant on Microsoft Entra is topology D with a directory attached, and has [its own section](#authenticating-against-microsoft-entra-id).\n\n### Choosing one\n\n| Question                                                      | Topology                                                            |\n| ------------------------------------------------------------- | ------------------------------------------------------------------- |\n| Users have accounts here, nothing else involved               | [A. Standalone](#a-standalone)                                      |\n| Users sign in with Google/Facebook too                        | [B. Social login](#b-standalone-with-social-login)                  |\n| Corporate directory owns the passwords                        | [C. Directory-backed](#c-directory-backed-active-directory)         |\n| Another system already owns identity, this app consumes it    | [D. Relying party](#d-relying-party-of-an-existing-issuer)          |\n| Other services should authenticate against **this** app       | [E. Identity provider](#e-identity-provider)                        |\n| Directory owns passwords **and** other services need identity | [F. Directory-backed issuer](#f-directory-backed-identity-provider) |\n| Microsoft 365 / Entra owns identity                           | [Microsoft Entra ID](#authenticating-against-microsoft-entra-id)    |\n\n### A. Standalone\n\nThe baseline: local accounts, local authorization, nothing external.\n\n```ts\n@Module({\n  imports: [\n    MemberBaseModule.forRoot({\n      memberEntity: MemberEntity,\n      accessTokenSecret: process.env.JWT_ACCESS_SECRET,\n      refreshTokenSecret: process.env.JWT_REFRESH_SECRET,\n      cookieMode: true,\n      casbinAdapterOptions: { type: 'postgres' /* ... */ },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n```ts\nconst { accessToken, refreshToken } = await memberBaseService.login(account, password, { ip });\n```\n\nNothing else to install. No subpath, no extra table.\n\n### B. Standalone with social login\n\nAdds Google/Facebook on top of A. The callback controller is registered automatically.\n\n```ts\nMemberBaseModule.forRoot({\n  // ...everything from A\n  oauth2Providers: [\n    { channel: 'google', clientId, clientSecret, redirectUri: 'https://app.example.com/oauth2/google/callback' },\n  ],\n  oauth2ClientDestUrl: '/login',\n\n  // Social identifiers are email addresses, so restrict account takeover to\n  // providers that actually verified them.\n  linkExistingAccount: 'verified-only',\n});\n```\n\n> The bundled Facebook flow does not check an email verification flag. With the default `linkExistingAccount: true` that is an account takeover path — see [Provisioning and linking policy](#provisioning-and-linking-policy).\n\n### C. Directory-backed (Active Directory)\n\nThe directory owns passwords; this application owns roles. No password is ever stored locally.\n\n```bash\nnpm install ldapts\n```\n\n```ts\nimport { LdapAuthProvider } from '@rytass/member-base-nestjs-module/ldap';\n\nMemberBaseModule.forRoot({\n  // ...everything from A\n  authProviders: [\n    new LdapAuthProvider({\n      url: 'ldaps://dc.corp.local',\n      bindDN: 'CN=svc-account,OU=Service,DC=corp,DC=local',\n      bindPassword: process.env.LDAP_BIND_PASSWORD,\n      baseDN: 'DC=corp,DC=local',\n    }),\n  ],\n\n  // Having a domain account does not imply being entitled to this system.\n  // Returning null rejects the login; returning a member id accepts it.\n  autoProvision: async identity => {\n    const groups = (identity.attributes?.groups ?? []) as string[];\n\n    if (!groups.includes('APP_USERS')) return null;\n\n    const existing = await memberBaseService.findByAccount(identity.identifier);\n\n    if (existing) return existing.id;\n\n    const [member] = await memberBaseService.registerWithoutPassword(identity.identifier);\n\n    return member.id;\n  },\n});\n```\n\n```ts\nconst { member } = await gateway.authenticate('ldap', { account, password }, { ip });\nconst tokenPair = await gateway.login('ldap', { account, password }, { ip });\n```\n\nLocal accounts still work — the password provider is always registered, so an emergency admin account is unaffected by directory outages.\n\n### D. Relying party of an existing issuer\n\nSomeone else runs the IdP; this application consumes it. Members are provisioned on first login and carry local roles.\n\n```ts\nimport { OidcAuthProvider } from '@rytass/member-base-nestjs-module';\n\nMemberBaseModule.forRoot({\n  // ...everything from A\n  authProviders: [\n    new OidcAuthProvider({\n      channel: 'corp-idp',\n      issuer: 'https://idp.example.com/oidc',\n      clientId,\n      clientSecret,\n      redirectUri: 'https://app.example.com/auth/callback',\n    }),\n  ],\n});\n```\n\nThe provider holds no per-attempt state, so the application decides where the PKCE verifier and nonce live:\n\n```ts\n@Controller('auth')\nexport class SsoController {\n  constructor(private readonly gateway: AuthenticationGateway) {}\n\n  @IsPublic()\n  @Get('login')\n  async login(@Res() res: Response): Promise<void> {\n    const request = await this.gateway.getProvider('corp-idp').createAuthorizationRequest!();\n\n    res.cookie('oidc_tx', JSON.stringify(request), { httpOnly: true, sameSite: 'lax', maxAge: 600_000 });\n    res.redirect(request.url);\n  }\n\n  @IsPublic()\n  @Get('callback')\n  async callback(\n    @Req() req: Request,\n    @Res() res: Response,\n    @Query('code') code: string,\n    @Query('state') state: string,\n  ): Promise<void> {\n    const tx = JSON.parse(req.cookies.oidc_tx ?? '{}');\n\n    if (!tx.state || tx.state !== state) throw new BadRequestException('Invalid state');\n\n    const { member } = await this.gateway.handleCallback('corp-idp', {\n      code,\n      codeVerifier: tx.codeVerifier,\n      nonce: tx.nonce,\n    });\n\n    res.clearCookie('oidc_tx');\n    res.cookie('access_token', this.memberBaseService.signAccessToken(member), { httpOnly: true });\n    res.redirect('/');\n  }\n}\n```\n\nState validation stays with the caller because the caller is what persisted it.\n\n### E. Identity provider\n\nOther services authenticate against this application. Members sign in with local passwords.\n\n```bash\nnpm install oidc-provider\n```\n\n```ts\nimport { MemberBaseOidcProviderModule } from '@rytass/member-base-nestjs-module/oidc-provider';\n\n@Module({\n  imports: [\n    MemberBaseModule.forRoot({\n      // ...everything from A. cookieMode: true is required for session bridging.\n    }),\n    MemberBaseOidcProviderModule.forRoot({\n      issuer: 'https://idp.example.com/oidc',\n      jwks: JSON.parse(process.env.OIDC_JWKS),\n      cookieKeys: [process.env.OIDC_COOKIE_KEY],\n      // Your pages. The module redirects here and exposes an API they drive.\n      interaction: {\n        loginPageUrl: '/sign-in',\n        consentPageUrl: '/authorize',\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n```ts\n// main.ts — must run before listen()\nimport { mountMemberBaseOidcProvider } from '@rytass/member-base-nestjs-module/oidc-provider';\n\nconst app = await NestFactory.create(AppModule);\n\nmountMemberBaseOidcProvider(app);\n\nawait app.listen(3000);\n```\n\nRegister a service provider through `OidcClientService`. The module exposes no administration endpoint of its own — see [Administering service providers](#administering-service-providers):\n\n```ts\nconst created = await this.oidcClientService.create({\n  name: 'Reporting',\n  redirectUris: ['https://reporting.example.com/auth/callback'],\n  skipConsent: true,\n});\n// => { clientId: '...', clientSecret: '...', ... }  secret readable once\n```\n\n`skipConsent: true` suits a first-party client. Leave it false for anything third-party and the member is asked to authorize the release of claims — see [The interaction API](#the-interaction-api).\n\nThis application remains a normal resource server at the same time: its own guarded endpoints keep working, and a member who signs in at the interaction page is also signed in locally (see [Session bridging](#session-bridging)).\n\n### F. Directory-backed identity provider\n\nC and E combined, and the reason the two layers are separate. Active Directory owns the passwords; this application issues OIDC identities to every downstream service; roles stay with each service.\n\n```bash\nnpm install ldapts oidc-provider\n```\n\n```ts\nimport { LdapAuthProvider } from '@rytass/member-base-nestjs-module/ldap';\nimport { MemberBaseOidcProviderModule } from '@rytass/member-base-nestjs-module/oidc-provider';\n\n@Module({\n  imports: [\n    MemberBaseModule.forRoot({\n      memberEntity: MemberEntity,\n      accessTokenSecret: process.env.JWT_ACCESS_SECRET,\n      refreshTokenSecret: process.env.JWT_REFRESH_SECRET,\n      cookieMode: true,\n      casbinAdapterOptions: { type: 'postgres' /* ... */ },\n\n      authProviders: [\n        new LdapAuthProvider({\n          url: process.env.LDAP_URL,\n          bindDN: process.env.LDAP_BIND_DN,\n          bindPassword: process.env.LDAP_BIND_PASSWORD,\n          baseDN: process.env.LDAP_BASE_DN,\n        }),\n      ],\n    }),\n\n    MemberBaseOidcProviderModule.forRoot({\n      issuer: process.env.OIDC_ISSUER,\n      jwks: JSON.parse(process.env.OIDC_JWKS),\n      cookieKeys: [process.env.OIDC_COOKIE_KEY],\n\n      interaction: {\n        // Directory first; the local password provider stays available for\n        // break-glass accounts when the directory is unreachable.\n        allowedChannels: ['ldap', 'password'],\n\n        loginPageUrl: '/sign-in',\n        consentPageUrl: '/authorize',\n      },\n\n      claims: {\n        // Identity attributes only. Roles are deliberately not published.\n        extra: async member => ({ name: member.name, email: member.email }),\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n```ts\n// main.ts\nmountMemberBaseOidcProvider(app);\n\nawait app.listen(3000);\n```\n\nEnd to end:\n\n```\n [User] --account/password--> [interaction page]\n                                    |\n                                    v\n                          gateway.authenticate('ldap')\n                                    |\n                          bind against directory\n                                    |\n                          resolve or provision member\n                                    |\n                                    v\n                       accountId = local member id\n                                    |\n                                    v\n        [OIDC endpoint] --id_token--> [Service A] --> its own Casbin decides\n                        --id_token--> [Service B] --> its own Casbin decides\n```\n\nThe subject is the local member id rather than the directory's identifier, so renaming or re-creating a directory account does not break any downstream binding.\n\n## Configuration Reference\n\n### `MemberBaseModule` — authentication gateway options\n\n| Option                | Type                                               | Default    | Purpose                                                                     |\n| --------------------- | -------------------------------------------------- | ---------- | --------------------------------------------------------------------------- |\n| `authProviders`       | `AuthenticationProvider[]`                         | `[]`       | Extra sources; password is always registered                                |\n| `autoProvision`       | `boolean \\| (identity) => Promise<string \\| null>` | `true`     | What happens when an external identity has no member                        |\n| `linkExistingAccount` | `boolean \\| 'verified-only'`                       | `true`     | Whether an external identity may claim a matching local account             |\n| `syncOnAuthenticate`  | `(params) => Promise<void>`                        | —          | Write directory attributes back after resolution; nothing runs by default   |\n| `oauth2Providers`     | `OAuth2Provider[]`                                 | `[]`       | Google / Facebook / custom OAuth2                                           |\n| `oauth2ClientDestUrl` | `string`                                           | `'/login'` | Where the OAuth2 callback redirects                                         |\n| `redirectAuth`        | `RedirectAuthOptions`                              | —          | Mount login routes for redirect providers; nothing is registered by default |\n\n`OAuth2Provider` is a union. Everything shared lives on `BaseOAuth2Provider` — `channel`, `clientId`, `clientSecret`, `redirectUri` and an optional `getState` — and each member adds only what it needs. Google and Facebook add an optional `scope`; anything else is a custom provider and has to say how to exchange a code and read an identifier back:\n\n```ts\noauth2Providers: [\n  { channel: 'google', clientId, clientSecret, redirectUri, scope: ['email', 'profile'] },\n  {\n    channel: 'line',\n    clientId,\n    clientSecret,\n    redirectUri,\n    scope: ['profile'],\n    requestUrl: 'https://access.line.me/oauth2/v2.1/authorize',\n    getAccessTokenFromCode: async code => '...',\n    getAccountFromAccessToken: async accessToken => '...',\n  },\n];\n```\n\n### Cookie options\n\nMainly used when `cookieMode: true`. Left unset, each attribute has a working default that needs no configuration in either development or production — derived from the request, except that the OIDC session bridge takes `Secure` from its configured `issuer` instead (see [Sessions and Cookies](#sessions-and-cookies)).\n\n`accessTokenCookieName`, `cookiePath` and `cookieDomain` are also used by the OIDC session bridge when reading a session and when clearing one at logout, neither of which is gated on `cookieMode`.\n\n| Option                   | Type                          | Default                         | Purpose                                          |\n| ------------------------ | ----------------------------- | ------------------------------- | ------------------------------------------------ |\n| `accessTokenCookieName`  | `string`                      | `'access_token'`                | Name of the access token cookie                  |\n| `refreshTokenCookieName` | `string`                      | `'refresh_token'`               | Name of the refresh token cookie                 |\n| `cookiePath`             | `string`                      | `'/'`                           | Path attribute                                   |\n| `cookieSameSite`         | `'lax' \\| 'strict' \\| 'none'` | `'lax'`                         | SameSite attribute                               |\n| `cookieSecure`           | `boolean`                     | https, or any non-loopback host | Secure attribute                                 |\n| `cookieDomain`           | `string`                      | absent (host-only)              | Domain attribute; set to share across subdomains |\n\n`httpOnly` is not configurable and is always on: a session token readable from JavaScript is a session token one XSS away from being stolen.\n\nEvery pre-existing option (token secrets and lifetimes, password policy, Casbin, cookie mode, default admin) is unchanged and documented in its own section below.\n\n### Hashing, Casbin naming and the login log\n\n| Option                | Type                  | Default             | Purpose                                             |\n| --------------------- | --------------------- | ------------------- | --------------------------------------------------- |\n| `passwordHashOptions` | `PasswordHashOptions` | argon2's own        | argon2 cost parameters for every password hashed    |\n| `superAdminRole`      | `string`              | `'::SUPER_ADMIN::'` | Role the default checker treats as allow-all        |\n| `defaultCasbinDomain` | `string`              | `'::DEFAULT::'`     | Domain that grouping is keyed to                    |\n| `loginLogEnabled`     | `boolean`             | `true`              | Write a row to `member_login_logs` on every attempt |\n| `loginLogRecordIp`    | `boolean`             | `true`              | Store the caller's address with that row            |\n\n**Hash cost.** The right cost is a property of the hardware, so the package does not pick one for you. Raising it does not invalidate existing hashes — argon2 reads each hash's parameters out of the hash itself, so old passwords keep verifying and are re-hashed at the new cost the next time they are changed.\n\n```ts\npasswordHashOptions: { memoryCost: 65536, timeCost: 3, parallelism: 4 },\n```\n\n**Casbin naming.** Change these only when an existing policy table already uses those strings for something else. Every grouping policy keeps the name it was written with, so renaming after members hold the grouping leaves them without it — grant the new name before switching.\n\n**Login log.** `loginLogRecordIp: false` keeps recording attempts without retaining an address, which is usually what a retention policy actually asks for. Turning the log off entirely also disables `loginFailedAutoUnlockSeconds`, which reads the last failed attempt out of that table; the combination logs a warning on boot rather than leaving an account locked for reasons nobody can find.\n\nThe address is stored as a `cidr`, so it carries the prefix length for its family — `/32` for IPv4 and `/128` for IPv6. `toInetCidr(ip)` is exported if you write your own rows into that table and need the same format.\n\n### `MemberBaseOidcProviderModule` options\n\n| Option                        | Type                                      | Default                 | Purpose                                                              |\n| ----------------------------- | ----------------------------------------- | ----------------------- | -------------------------------------------------------------------- |\n| `issuer`                      | `string`                                  | required                | Issuer identifier; must match the public URL                         |\n| `jwks`                        | `{ keys: [] }`                            | ephemeral + warn        | Signing keys; required outside development                           |\n| `cookieKeys`                  | `string[]`                                | random                  | Keys protecting the provider's cookies                               |\n| `routePrefix`                 | `string`                                  | `'oidc'`                | Path the endpoints are mounted on                                    |\n| `interaction.loginPageUrl`    | `string \\| (params) => string`            | built-in page           | Your own login page; the browser is redirected here                  |\n| `interaction.consentPageUrl`  | `string \\| (params) => string`            | built-in page           | Your own consent page                                                |\n| `interaction.renderLogin`     | `(params) => string`                      | built-in page           | Render login HTML in-process; ignored when `loginPageUrl` is set     |\n| `interaction.renderConsent`   | `(params) => string`                      | built-in page           | Render consent HTML in-process; ignored when `consentPageUrl` is set |\n| `interaction.allowedChannels` | `string[]`                                | all credential channels | Which sources the login form may use                                 |\n| `interaction.autoConsent`     | `boolean \\| (clientId) => boolean`        | client's `skipConsent`  | Skip the consent step entirely                                       |\n| `claims.extra`                | `(member) => object`                      | —                       | Additional identity claims                                           |\n| `claims.additionalScopes`     | `string[]`                                | —                       | Extra accepted scopes                                                |\n| `claims.scopeClaims`          | `Record<string, string[]>`                | —                       | Which claims each scope releases                                     |\n| `ssoBridge.*`                 | see [Session bridging](#session-bridging) | all enabled             | Local/issuer session interop                                         |\n| `clients.allowPublic`         | `boolean`                                 | `true`                  | Whether public (PKCE-only) clients may be registered                 |\n| `clients.validate`            | `(input, context) => void \\| Promise`     | —                       | Extra registration rules; throw to reject                            |\n| `clients.secretCipher`        | `{ encrypt, decrypt }`                    | plaintext               | Encrypt `client_secret` at rest                                      |\n| `features.rpInitiatedLogout`  | `boolean`                                 | `true`                  | `/session/end`                                                       |\n| `features.revocation`         | `boolean`                                 | `true`                  | `/revocation`                                                        |\n| `features.introspection`      | `boolean`                                 | `true`                  | `/introspection`                                                     |\n| `features.userinfo`           | `boolean`                                 | `true`                  | `/me`                                                                |\n| `requirePkce`                 | `boolean`                                 | `true`                  | Turn off only for a legacy client that cannot be changed             |\n| `proxy`                       | `boolean`                                 | `true`                  | Trust `X-Forwarded-*` when deriving request URLs                     |\n| `clientBasedCors`             | `boolean`                                 | `true`                  | Answer preflights from a client's registered origins                 |\n| `ttl`                         | `Partial<Record<...>>`                    | 1h access, 14d refresh  | Token lifetimes                                                      |\n| `purgeIntervalSeconds`        | `number`                                  | `3600`                  | Expired payload sweep; `0` disables                                  |\n| `advanced`                    | `Record<string, unknown>`                 | —                       | Merged last into oidc-provider config                                |\n\n`features` merges one key at a time, so turning a single endpoint off leaves the rest alone. `advanced.features` replaces the whole object instead — that is what the typed toggles exist to avoid, and `advanced` deliberately keeps the last word. `devInteractions` is not configurable: it would shadow this module's interaction routes.\n\n`buildOidcConfiguration(params)` is exported for when you want to see what all of this resolves to. It returns the object handed to oidc-provider without loading the ESM-only dependency, so it can be asserted on from a test.\n\n### Which tables exist\n\n| Table                                         | Created by                      |\n| --------------------------------------------- | ------------------------------- |\n| `members` (+ your subclass)                   | package root, always            |\n| `member_login_logs`                           | package root, always            |\n| `member_password_histories`                   | package root, always            |\n| `member_oauth_records`                        | package root, always            |\n| `casbin_rule` (or `casbinRuleEntity`'s table) | `casbinAdapterOptions`          |\n| `oidc_payloads`, `oidc_clients`               | importing `/oidc-provider` only |\n\nColumn bounds follow one rule: **bounded when this package or a spec decides the value, unbounded when the application does.** So `oidc_clients.clientSecret`, `.name` and `.scope` are `text` — their length is the application's business, and with `secretCipher` the stored secret is whatever an external cipher produced. `clientId` stays `varchar(255)` because it is the primary key and a btree key cannot be unbounded, and `tokenEndpointAuthMethod` stays `varchar(64)` because the specs fix its values. Everything in `oidc_payloads` is generated by oidc-provider, so all of it is bounded.\n\n## Authentication Gateway\n\nAuthentication sources are pluggable. The built-in account/password provider is always registered and is the only one registered by default, so an application that configures nothing behaves exactly as before.\n\n```ts\nimport { AuthenticationGateway, PASSWORD_CHANNEL } from '@rytass/member-base-nestjs-module';\n\n// Authenticate through any registered channel and get the local member back\nconst { member, identity } = await gateway.authenticate(PASSWORD_CHANNEL, { account, password }, { ip });\n\n// Or authenticate and receive a member-base token pair in one call\nconst tokenPair = await gateway.login(PASSWORD_CHANNEL, { account, password }, { ip, domain });\n```\n\n### Registering another source\n\nA provider answers \"who is this subject\"; the gateway maps that answer onto a local member.\n\n```ts\nimport type { AuthenticationProvider, AuthenticatedIdentity } from '@rytass/member-base-nestjs-module';\n\nclass DirectoryAuthProvider implements AuthenticationProvider<{ account: string; password: string }> {\n  readonly channel = 'ldap';\n  readonly kind = 'credential' as const;\n\n  async authenticate(credentials): Promise<AuthenticatedIdentity> {\n    const entry = await bindAndSearch(credentials);\n\n    return {\n      channel: this.channel,\n      identifier: entry.objectGUID, // immutable, unlike an account name\n      identifierVerified: true,\n      attributes: { name: entry.displayName, groups: entry.memberOf },\n    };\n  }\n}\n\nMemberBaseModule.forRoot({\n  authProviders: [new DirectoryAuthProvider()],\n});\n```\n\nPrefer an identifier the directory cannot change (an OIDC `sub`, an Active Directory `objectGUID`) over an account name or email — the local binding is keyed on it.\n\n### Reading a directory through the gateway\n\nSome providers are also a source of truth for _who exists_, not only for _who is signing in_. `DirectoryProvider` names that second capability, and `isDirectoryProvider()` is how a caller reaches it off `getProvider()`:\n\n```ts\nimport { isDirectoryProvider } from '@rytass/member-base-nestjs-module';\n\nconst provider = gateway.getProvider(channel);\n\nif (isDirectoryProvider(provider)) {\n  const entries = await provider.findAllUsers();\n\n  for (const entry of entries) {\n    await gateway.resolve(provider.toIdentity(entry)); // same path a login takes\n  }\n}\n```\n\n`LdapAuthProvider` and `EntraDirectoryProvider` both implement it; `EntraAuthProvider` implements it only when a `directory` block was configured, and answers `false` here when it was not. It replaces the `as unknown as LdapAuthProvider` cast that used to be the only way to reach these methods — `getProvider()` returns an `AuthenticationProvider`, which does not declare them.\n\nThe interface is generic over its list options **and** its entry type, so each provider keeps its own dialect and its own entry shape: `LdapAuthProvider.findAllUsers({ baseDN, filter })` takes an RFC 4515 filter, `EntraDirectoryProvider.findAllUsers({ filter })` an OData one. `DirectoryListOptions` itself declares **no** shared `filter` field, deliberately: LDAP, Graph, SCIM and the Google Directory API each take a different, incompatible expression language, so one shared name over four of them would let a caller write a portable `findAllUsers({ filter })` that is wrong for most directories at runtime with nothing to catch it.\n\n**`isDirectoryProvider()` narrows to the base type, so through it you can only call `findAllUsers()` with no options.** That is the whole portable surface, and it is deliberate — passing a dialect means you already know which directory answered, so hold that provider (see the LDAP and Entra examples).\n\nThat is enforced, not merely intended — the base type carries an unused `__dialect?: never` so it is not the empty `{}` that TypeScript exempts from excess-property checking. **After `isDirectoryProvider()` you hold the base type and can only call `findAllUsers()` with no options**, which is the one portable listing; passing a dialect requires the concrete provider, as in the LDAP example above.\n\nThree more things the contract fixes rather than leaves to convention:\n\n- **`channel` is declared on the interface**, because bindings are keyed on `(channel, identifier)`. A directory reporting a channel no registered `AuthenticationProvider` serves writes binding rows that no login can ever match.\n- **`findChangedUsers?` is optional on the interface**, the same way `authenticate?` and `handleCallback?` are on `AuthenticationProvider`. Probe it to use incremental sync polymorphically; LDAP does not carry it, Entra does.\n- **`DirectoryIdentityAttributes` names the attribute set** every implementor maps onto (`account`, `name`, `email`, `title`, `department`, `groups`, `disabled`), so a third directory has a target shape instead of a table in this README.\n\n`findAllUsers` is fully materialised — the whole result set is in memory before the caller sees a row. That is fine for thousands and a poor fit for hundreds of thousands, where narrowing through `options` or reading incrementally is the intended answer.\n\n**Nothing here is scheduled and nothing runs on its own.** Reconciliation cadence, upsert rules, what to do about a disabled account and whether a failure aborts","readmeFilename":"README.md"}