{"_id":"@abtickets-app/common","_rev":"21-5d2cbd679761fb10aff79f7b1bd51aa0","name":"@abtickets-app/common","dist-tags":{"latest":"1.0.20"},"versions":{"1.0.0":{"name":"@abtickets-app/common","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.0","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"9ec369e55a2eee7f05f4a343b43269a9358f2663","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.0.tgz","fileCount":1,"integrity":"sha512-JD6RFbe0EQiV786bSW/NCW1uu3B5+G1xsoTaXZZiDyK/Ex6Q+JcrKTzNZUuh82ayKKsHs+Pb3KYMlQkJ1zOTYg==","signatures":[{"sig":"MEUCIQCqlcHRGSnJhN37zjEn5IYGsvY/JUxY9XLgNJXpDoWRagIgaRRpOibXEPGmkJmOdEuJKbT9EWzuRWIckGjm34TVY0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234},"main":"index.js","gitHead":"d754ee9cc8593854fc7510a71e590d593fcba98e","scripts":{"pub":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/common_1.0.0_1750507163785_0.3468600245470197","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@abtickets-app/common","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.1","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"a93fd05f76c4b83532d5ff850b943813c9dea5b9","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.1.tgz","fileCount":3,"integrity":"sha512-c1+voK8/N/PbYTQOa202XmEWmdnsxYD3TP0nhXnysT8Jxkn3kFvs/bz7czgugv1wx9TB7ZS4QktLi6VoTSbuZw==","signatures":[{"sig":"MEUCIQCH4fJrieoplRJ5lALr2znSzAWGcqkSjKlR7XkDo6YpQAIgOtMhQwdjzkRC4L8q/5HywVfegMUjtD/xU156Y3RGkTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":652},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"b721c46232d6ad7532fb7998856a3b448deea8af","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.1_1750509092193_0.919501475364539","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@abtickets-app/common","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.2","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"daa057b91a6d135bc8bcd89318950c6b74d0c60e","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.2.tgz","fileCount":23,"integrity":"sha512-gFIwvbXAt4/dtOwup6gyzd6PNfm9hTpMAWGQPKelVRHRGk/OWOAboY4KotmuRSkLU7Uhbk0OEk2wVj7KBrDXKA==","signatures":[{"sig":"MEQCIH5PI024WWGnXuePCRiu9hnb07MO0rBLPGv3Bhyjvvn4AiBBEkeY3rEOY+caxsRAANLrRYqlLrFip2REDr4CIy53Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10592},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"45d9263823ad90525a58add197875ef3f1a2b768","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.2_1750512379231_0.4466392873949474","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@abtickets-app/common","version":"1.0.3","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.3","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"def02e77bb5374f44653890f14ab08d07056f38f","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.3.tgz","fileCount":23,"integrity":"sha512-YGJMgLewkPGBdSjavcEkkTe+Aql8qzvOQxFkj3YGtS79q9qq5t4CcT9KTvOfM+MMTFtKE2x84mYsnRRvrkwJEA==","signatures":[{"sig":"MEUCIQCIvIoucqh/pFU3r/zYqtLw8nhu79WWfon49aUojFyIJwIgdSG/iLqh9KFuCfA8Ydlbca4AC9yAYHly7CEIB9uYimA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10592},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"b1a40006b8019f373a9fe84e43673bab2b355fe2","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.3_1750512951393_0.32658396993265515","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@abtickets-app/common","version":"1.0.4","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.4","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"15474c50e2a5c7b009b55738516161e3b73d779e","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.4.tgz","fileCount":23,"integrity":"sha512-gJwtISxXlpD7Csrtb04BxU3ggK6Dp8HLn383tEBJmb90ADpX4qPSp9J9NshdAeiU0TSwIaKQXlOI0MX1HNjnJA==","signatures":[{"sig":"MEUCIESQH02N0YcGMqi0QmWlBeIlZ5UO9HspW4hpFnYzeG5CAiEAqg5BPZnf7qFRDEpcdRIt0/aE3wrw0vkoaWeRWUX9nNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10624},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"dcc3dc1ef436a8b05a938d53e95c8666d08bb004","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.4_1750513613464_0.04748772115651967","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@abtickets-app/common","version":"1.0.5","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.5","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"082a30d0d9771ca7cc6996fa5aa62b9e3c3d8e92","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.5.tgz","fileCount":23,"integrity":"sha512-lysxV9GqAjNFFZiIPldy+B3b5+CDqcPeqf3/aTPnad0ahlQX73sCjKCin67UQngWswrp13TwtD1qdnmMAlMz7g==","signatures":[{"sig":"MEYCIQDIeE5PbWhtiymZ//J3/wOsUCLe3sGgdj9djqUdpq9yHAIhAL2oNCOXRMEERruuLbfk6kAvWRQDnQhVYfpjYVZZLCq4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10624},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"7c10f7f36c230d3565b66931123a50e553cdee76","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.5_1750595839417_0.3273069149745964","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@abtickets-app/common","version":"1.0.6","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.6","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"6c961697ebdbc46215b94db40e1a0b8d5b2a029a","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.6.tgz","fileCount":23,"integrity":"sha512-Q1OCIrddJ0CtPSIvzTzGREq8I+vBDsfJFO4fnyQA7cbCD7p5zsOG8cJpLDySePsjIBmka8FXgRTOjBJ5HA9EJg==","signatures":[{"sig":"MEUCIQDjE6yvOw+JcoTfTskfrIIfmSZ7L/npGo0IepAoQ9tutAIgYsncB39ohG5eilovpfG5TaAQZI2CX5nVMCauxLto++Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10661},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"174edff4f34b2aa67ad1e7b769a7abd2ad75bc05","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.6_1750715409494_0.2659389967061059","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@abtickets-app/common","version":"1.0.7","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.7","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"04560cc443b910f7b9ceddd386d794ea611a853f","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.7.tgz","fileCount":24,"integrity":"sha512-7Da7bg5+nJFLvl2msXiXe7Fqan6riiA7QV9tYDg80yy2LZzt8TWDtmwXE79qz/aeNxqHYekjVlz82duZE4NxMg==","signatures":[{"sig":"MEUCIA00PdwdZlAX8raI3l2WWlKspj4DHzfHWc/W82kLyeq7AiEA+eNUFmuMX+qW3CZVhYMMsyflpP3ocqrLjyuGYICxsAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12121},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"bdf48bcf3a5e5591aaf7c641ec875b6e2427763c","scripts":{"pub":"git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.7_1750778528989_0.13822104338509766","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@abtickets-app/common","version":"1.0.8","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.8","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"521021aff6df0d9bf757ac4f3f1206a99a7d97f3","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.8.tgz","fileCount":34,"integrity":"sha512-L9YLYs0DUrnfH3RgRZaFH1OvFT9vpQmw2t/08sGQxVCMP/B0xrNIwEwHkehjIuV4owPSOx6FV/XZHBb/XlRjiA==","signatures":[{"sig":"MEUCIA6RHc8HiEs+/Kooh/XOccXPQ/pAP9erSTSwi17RR5ERAiEAg8fJ9QENeGOW0tBsPK1whiLyTcT4ktj1Vlzp2UTiZko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16421},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"3c07f5a3b3f7ac14a8386178a54c3d95aadb0a84","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.8_1750778692086_0.8830695311549941","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@abtickets-app/common","version":"1.0.9","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.9","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"ddf5de35034597f0fbbca920c467735bc7b9ef7d","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.9.tgz","fileCount":34,"integrity":"sha512-DcwTbuopKTYmMUCePekwBkBLGVll+3Y4Dz3/u7owwlPGh5Q9Vh/Hq5+ExvaPiCiNrAg5u1HG7dz+cK/oulMuZQ==","signatures":[{"sig":"MEUCIC/4daM9CTNtAMnQHMSDn+26Z97I/tsi0TesW3dz7L0oAiEAn0wtLio8fYLkmn0YxAFoP9q4ak5dFW/rhXeLOK8WtZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16445},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"21e01a58642ab1500850d937b2c76f48f49cc4e2","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.9_1750779304411_0.12363277445782472","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@abtickets-app/common","version":"1.0.10","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.10","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"954ee0e5407adfa7cfd739697e0857395906a27c","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.10.tgz","fileCount":34,"integrity":"sha512-yuz1NpPj1TUK8dkqSjXoO/tefFPv3SKEXLEcdse4NPp4PgcLhunQvd6T1IZNt6qlHStkpxwPyYpYxxHG0pNi8A==","signatures":[{"sig":"MEUCIDpuMZMndC6v2NkKkhKMRWI7zjkjM5Cm/pMcFGYUF0ekAiEAlvNREL62hYAr67cmJ3eCF5pRkAcChWbQkLgqSrAFdrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16446},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"9dea728e3ada865adbab535ad8bca8cc60460188","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.10_1750838313075_0.5162396470733921","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@abtickets-app/common","version":"1.0.11","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.11","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"7ca228222eb53cd7a6167c2a947770d2494bee76","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.11.tgz","fileCount":34,"integrity":"sha512-a6fT2toKsCE/74kK2CsPbcf0Xf8ClpTjQgm0zQR+tZODd56Y0v1+i9eZw8McL5VaWA9TaDyl5/LOpekW6ijrFw==","signatures":[{"sig":"MEYCIQDm5pNpLVz3kKy/NMVqpUq1HMsNPgdVeGhF80k4u/nJkAIhAPI+FlQyp0l+z6somBlStT8TE/1FDEVfkaI18sCorEZx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16446},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"3046fe070953ac057f892931615bc37b98e20efe","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.11_1750838640868_0.8983417636572353","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@abtickets-app/common","version":"1.0.12","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.12","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"bd5a46baccfa91423b1796ca361f9b408a1b6843","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.12.tgz","fileCount":36,"integrity":"sha512-CFaQWIaDt+mqOufwhAysYuO7+gcglbSSObOwHXhPMCnAQ0ysUf4go4aNdAepxcM1taX7NSUrL7v9ygsqr3qBIQ==","signatures":[{"sig":"MEUCIQDgS22905g9hjy4ixuIQjlv0QmkVF41hEp2tMOz66f0EAIgbIxfvtQ5hNRT348+0hmmrtWuPIZyN5cHQ6xRDHaKqlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17419},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"5af2826c24a1839dfe399ad2b11c65150c5c3aa8","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.12_1750865087169_0.8215966441413742","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@abtickets-app/common","version":"1.0.13","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.13","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"a0f57769326af328f31d74c18706908c6163dcc6","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.13.tgz","fileCount":36,"integrity":"sha512-1uyrt44eMpEoINkTfA4ngIhi47S+srq+UDCVOs3Hax+nAZPEPaN3u7kAVVoJofy7VEAtqbTs+liaJKWsQfGSiA==","signatures":[{"sig":"MEQCIAJ5nPxXafjFtpSKt3MFwgny4MA1cr4eArKS0vczShi5AiAUxj6iEevYmcp0HuiPVu6uViQ0h7GP4etpoyTVBtl3uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17419},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"41e891b0a7c62c4ccb8859ebeeec93e751fff343","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.7.0","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.13_1750867361431_0.3853540871122332","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@abtickets-app/common","version":"1.0.14","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.14","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"7b0b24190f8e16042fb2bfd828d9ff8c9b5d04f1","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.14.tgz","fileCount":36,"integrity":"sha512-vkEW6ssmJPp3ypUdlHbtNOii7jOGuDeJmL0EvCrAW2/pR1UdnNpcCuvKa0zhlHxmdybf9kl+tvI701PlAKiExw==","signatures":[{"sig":"MEYCIQCAlrXOrz6ZYbnlH5BN8v58J/VohAVaIMCya9XGx/sO1QIhAMVNrYB2jhtrUYwCwxTc38YWma1rm8Eum6FyEGUDJyZm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17419},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"c6d6c52b812f5b62516693984ea18e23ca039e98","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.9.2","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.14_1751319038146_0.701942251591309","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@abtickets-app/common","version":"1.0.15","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.15","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"dbbc652f3a2da7be8cf5fc2af96d7d215a8072cc","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.15.tgz","fileCount":40,"integrity":"sha512-ZHAeryrXLEBqOnTEUHXbq8mbsSh4+H6wgUOrxaOMutNKk6ijUWRWNl8SvEwqYMpPQwMSe0DxxJzRf27wcZDJ4g==","signatures":[{"sig":"MEYCIQCzlnnqzGT7N5FDJ0/9EF8GUhkWfCARzBpE+BpvlrnAFwIhAMPpGz63MSDZA777cyDjdvGJwNsOFjpw4SENe1+HD8cl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18548},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"d94d193a5af86ee80a72fffcedb9a2efaf4e815b","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","actor":{"name":"baraajr11","type":"user","email":"ahmedbaraa009@gmail.com"},"email":"ahmedbaraa009@gmail.com"},"_npmVersion":"10.9.2","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.15_1751357193985_0.8434574597285196","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@abtickets-app/common","version":"1.0.16","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.16","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"026dca3d0e1aa97c32f0f52920e455e74933977b","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.16.tgz","fileCount":40,"integrity":"sha512-Y+e2JfC/W/S/Xx/yFsmX6Ev6tkKyJ2BaUNp9yyHP8wwbxqPrFQD8/48DNxM8DEbykYlTeuXvVqlarYZvouuqkA==","signatures":[{"sig":"MEUCIQC/HLbA0JduD6KR5DgfO2jugypZsI0b0zIHWUy4PIxRlQIgGQASHVDnsTWJyx5kFm2g/H/bDINt1+misaDn0h9CoW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18648},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"40a028f4a6ab8c5f3f316b81b350543c12c1fe0c","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"},"_npmVersion":"11.6.2","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.16_1763974448190_0.47718827438355826","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@abtickets-app/common","version":"1.0.17","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.17","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"9391f393230f3ddb8936893410aa05f5e147bac2","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.17.tgz","fileCount":40,"integrity":"sha512-s3A+Bifz4Y3jBVkJ9W3bA9TMxEhE7tkKQDBZDe8c2xG5API0JeAoWeb8uIKoORyoNSODkr5ejrtzqvpjb+ankA==","signatures":[{"sig":"MEUCIQDPAcG4BaxgsBspA0+YOzMtZ8LV4fwJmCPjHc2Hmmf4/QIgUF1rQhjwdXL0TSdGjcnKvt434zB5LGzNWGwoSmfxmAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18690},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"391096ecbad26a8f9351f90849f71ac58077fa07","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"},"_npmVersion":"11.6.2","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.17_1764058776907_0.46093240427798654","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@abtickets-app/common","version":"1.0.18","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.18","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"f4128ee7b851f4c3d07f9e3a94c60cbdce4dd193","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.18.tgz","fileCount":42,"integrity":"sha512-MhtCGRaLGOzmUyYmjYqUHn7gcc0X72voE7kvLz7XA7KS8QkFpzrN+7rOCfV4JRENbqjVE50iAZ90FbRjyrM9IA==","signatures":[{"sig":"MEUCIDSPeDHDe5tZcFHbCjuTIQ5l3mh7Q41x0LL1q2xH7VKDAiEAh10dEo0Hd3EeF3ANb2CRuhbY5NTKteq6u5PMlHbUaIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19167},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"86bc45c0042eb8135bcb3c98bd675a81936c2cf0","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"},"_npmVersion":"11.6.2","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.18_1764090664289_0.3585674299620545","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@abtickets-app/common","version":"1.0.19","keywords":[],"author":"","license":"ISC","_id":"@abtickets-app/common@1.0.19","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"dist":{"shasum":"51bbf2b318a9cccb02846daef0f82a2d5285ad34","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.19.tgz","fileCount":44,"integrity":"sha512-IobzmRAW/UHmS48pvCa5XYKMwCT4N2aXiZlmWwd8soCfr4sd52muHieIf+tm+QrQqSpknQHO+F+2lhhUZia0lA==","signatures":[{"sig":"MEUCIQCGM9uzjRfICGnFVrshsGoG3v9S9mrxC977Cl4GMJRocwIgKTNX8u7ux0FAuV36T8sDCbBhDMN6w4SDR0iAH2AslrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19684},"main":"./build/index.js","types":"./build/index.d.ts","gitHead":"2315cc722eb79eccba1e1b876797c0c34be86d85","scripts":{"pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish","build":"tsc","clean":"del-cli ./build/*"},"_npmUser":{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"},"_npmVersion":"11.6.2","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"express":"^5.1.0","jsonwebtoken":"^9.0.2","@types/express":"^5.0.3","cookie-session":"^2.1.0","express-validator":"^7.2.1","@types/jsonwebtoken":"^9.0.10","node-nats-streaming":"^0.3.2","@types/cookie-session":"^2.0.49"},"_hasShrinkwrap":false,"devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/common_1.0.19_1764229180155_0.3335636627136134","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@abtickets-app/common","version":"1.0.20","main":"./build/index.js","types":"./build/index.d.ts","scripts":{"build":"tsc","clean":"del-cli ./build/*","pub":"tsc && git add . && git commit -m \"updates\" && npm version patch && npm publish"},"keywords":[],"author":"","license":"ISC","description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","devDependencies":{"del-cli":"^6.0.0","typescript":"^5.8.3"},"dependencies":{"@types/cookie-session":"^2.0.49","@types/express":"^5.0.3","@types/jsonwebtoken":"^9.0.10","cookie-session":"^2.1.0","express":"^5.1.0","express-validator":"^7.2.1","jsonwebtoken":"^9.0.2","node-nats-streaming":"^0.3.2"},"gitHead":"59d68e83e1613601b6f5cf2b49723bf80103579a","_id":"@abtickets-app/common@1.0.20","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-JAYSP/RekmWiO2Yy0R5/9XfgGXWNl1FWeZNz0FkW9WqacR3z0/pqa9+7CBsxjCJByVtTWoczvAxdGrjbf3mrHw==","shasum":"b00fa6f817915febcf2345f185baa860b97e30b0","tarball":"https://registry.npmjs.org/@abtickets-app/common/-/common-1.0.20.tgz","fileCount":44,"unpackedSize":19683,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCa/vX3NJcd5TFqJQvChfZXqSoctatm6OlpfVXJzKrHcwIgWBYKkQAsIfIbpripos4ROFLXpsNicVqiYi2eMig7tG8="}]},"_npmUser":{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"},"directories":{},"maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/common_1.0.20_1764229497108_0.7938291249980116"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-21T11:59:23.715Z","modified":"2025-11-27T07:44:57.495Z","1.0.0":"2025-06-21T11:59:24.020Z","1.0.1":"2025-06-21T12:31:32.361Z","1.0.2":"2025-06-21T13:26:19.404Z","1.0.3":"2025-06-21T13:35:51.578Z","1.0.4":"2025-06-21T13:46:53.649Z","1.0.5":"2025-06-22T12:37:19.751Z","1.0.6":"2025-06-23T21:50:09.688Z","1.0.7":"2025-06-24T15:22:09.180Z","1.0.8":"2025-06-24T15:24:52.278Z","1.0.9":"2025-06-24T15:35:04.611Z","1.0.10":"2025-06-25T07:58:33.235Z","1.0.11":"2025-06-25T08:04:01.039Z","1.0.12":"2025-06-25T15:24:47.357Z","1.0.13":"2025-06-25T16:02:41.605Z","1.0.14":"2025-06-30T21:30:38.384Z","1.0.15":"2025-07-01T08:06:34.142Z","1.0.16":"2025-11-24T08:54:08.378Z","1.0.17":"2025-11-25T08:19:37.095Z","1.0.18":"2025-11-25T17:11:04.486Z","1.0.19":"2025-11-27T07:39:40.338Z","1.0.20":"2025-11-27T07:44:57.279Z"},"license":"ISC","keywords":[],"description":"A shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.","maintainers":[{"name":"baraajr11","email":"ahmedbaraa009@gmail.com"}],"readme":"# Common Module for Microservices\r\n\r\nA shared npm package containing reusable logic, classes, and middlewares used across multiple microservices in a Node.js-based microservices architecture.\r\n\r\n## 📦 What’s Included\r\n\r\nThis module centralizes and exports the following utilities:\r\n\r\n### 🧠 Middlewares\r\n\r\n- **`validateRequest`** – Validates the request body using `express-validator`.\r\n- **`errorHandler`** – Custom Express error handler.\r\n- **`currentUser`** – Middleware to decode and attach the current user from JWT token.\r\n- **`requireAuth`** – Middleware to restrict access to authenticated users only.\r\n- **`NotFoundError` / `BadRequestError` / `NotAuthorizedError` / `RequestValidationError`** – Custom error classes.\r\n\r\n### 📣 Events & Base Classes\r\n\r\n- **`Publisher`** and **`Listener`** – Base classes built around NATS streaming server.\r\n- **`Subjects`** – Enum defining event subjects.\r\n- **Events** – Interfaces for event contracts (e.g., `TicketCreatedEvent`, `OrderCancelledEvent`).\r\n\r\n## 🚀 Getting Started\r\n\r\n### Install\r\n\r\n```bash\r\n# install module\r\nnpm install abtickets-app/common\r\n```\r\n\r\n---\r\n\r\n## Usage Example\r\n\r\n```ts\r\nimport {\r\n  requireAuth,\r\n  validateRequest,\r\n  BadRequestError,\r\n} from '@abtickets-app/common';\r\n\r\napp.post('/api/resource', requireAuth, validateRequest, (req, res) => {\r\n  if (!req.body.title) {\r\n    throw new BadRequestError('Title is required');\r\n  }\r\n\r\n  res.status(201).send({ success: true });\r\n});\r\n```\r\n","readmeFilename":"README.md"}