{"_id":"@acho-inc/administration","_rev":"8-f0df268567bffa2f7491988e8435d2d4","name":"@acho-inc/administration","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@acho-inc/administration","version":"1.0.0","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.0","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"d17cca9e47780b2c5350a954e1b5fcf7972ce684","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.0.tgz","fileCount":13,"integrity":"sha512-8JKbTTZng+w4iwM48vXhaWQum6aa2iDm5Mh9GrPjbFgm63zCdnOmdRK2KMIlSfgFWMPE+zDVLj1V4m/swDh3pw==","signatures":[{"sig":"MEYCIQDSO2+mbaMTQ31ORab+mNNSaQOx5L/oX0SNvysFgmFrQQIhAPgfoQ1SSbwU/caGu+yRoG3PasieWWFlMfNHLI7kM3Hh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27666},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"bba84c01e81d2daa686a570581916e618a79410a","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.0_1767748528702_0.11958835936670953","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@acho-inc/administration","version":"1.0.1","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.1","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"6528b7ca448b0ffc8c4155098c0056f586b4ae12","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.1.tgz","fileCount":13,"integrity":"sha512-fbh6gs/H9wyCfr/nLALQHRqbCy4RGFBVaDadhtmVbQZ6JVNwi2mZziFONF7uBWsuPP+BFYjkklNs6e45Zq2IGg==","signatures":[{"sig":"MEUCIQD0gTs6fxFvXMFTG8Wr9jFNkclGUt2lBlS8JDNqT6i0uwIgaswONWnT0by4cWRsXiB8cam8B/4hIos1+zbo7L9kkBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28546},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"6c57627dd6e96aea35a1238fb32d82ac0fc67c02","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.1_1768017712123_0.6388312823892306","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@acho-inc/administration","version":"1.0.2","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.2","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"7ff174353706f26dbbf194acc6c8f9a5b042acf1","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.2.tgz","fileCount":13,"integrity":"sha512-yO7Dh1rKSvrl0Z2AfXACZoZGFvI1MkD2pN6fut8+Ed45jLHC8EunbodF5Yt7xLE1JbIv4xfdEFbaPDeuNUkVfw==","signatures":[{"sig":"MEQCICCg/q7VYDpm1ciict6r0WwaTDr075hZDbC5TVti8T5KAiAoRK4xJRxbQFMJ9RejdA7ht2D//IBPWvgV9zg7sT9sqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28554},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"48882b946fc805571b2334604b75766d77753577","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.2_1768017889880_0.7562524187108655","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@acho-inc/administration","version":"1.0.3","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.3","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"7b6ddfbed97dd5744c7a6688018605f1eb27f8b5","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.3.tgz","fileCount":13,"integrity":"sha512-W5N95hzTHXqQzh5Vy2Wp1YGrvYNWkLoTmcBZLwLn4NWGwwkmGu5McxseQ7J4LbbIkzMC1+EXqrry+xSTvrhi2A==","signatures":[{"sig":"MEUCID+HkelmR+bEtKdCihvOYpVbBn9BQlHSoLbIx3iRZs+EAiEAzE6ssJ7xUX1kysaY6PAy9VrcfjWBL1V7up257ZddqTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31167},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"a2d2062eb8a7d058c10533e56428952f69f1ed10","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.3_1768267529418_0.03986504628497367","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@acho-inc/administration","version":"1.0.4","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.4","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"a474bc1e4d501b2813467cbd91d520582349ba13","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.4.tgz","fileCount":13,"integrity":"sha512-Ens2l7BoboMzEwbTDFfp40zqO4LAO5INZymJhQvirdkOHfy0xhu2OEo5J6bPxjmedUSDhtt+ITx+1Y9JWLjcEQ==","signatures":[{"sig":"MEQCIBahCYuRpIZOi11SjUn0xPlGmgudIBZAW/k5lp1IIw0yAiBgzq+uAvlnA4pciIXB+B9U/FklkwwCvNXwvK5rxRUjGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36441},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"0220001d883d362b1a0c45ccc2a337faed8426b4","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","bcrypt":"^6.0.0","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.4_1768268537219_0.08459017658530055","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@acho-inc/administration","version":"1.0.5","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.5","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"dabd06167d79ae928b2f8710945c7e2923221d7e","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.5.tgz","fileCount":13,"integrity":"sha512-K8zRgga+SrXmbrw+ZFVIjAlZ0o5sMC2dg9E1zPzHzWjoyyZq+C2xDuKXiprQ1LP21CUr3jIxINfDh0uEUOlNFw==","signatures":[{"sig":"MEYCIQCG7wZQAT5B4USIaAZYBb7XxtTLWWaPLEMKEDA5aEOUqgIhAOrAXeRnVbJD/RHUPOjRAaHGBzltg0Rj9W8GTeJdKEaT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40555},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"42a0b3a0a4d0a386e4f2fbc50edd864d0b0d4ec3","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","bcrypt":"^6.0.0","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.5_1768269049506_0.12845351634312396","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@acho-inc/administration","version":"1.0.6","keywords":["aden","backend","shared"],"license":"UNLICENSED","_id":"@acho-inc/administration@1.0.6","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"dist":{"shasum":"16d2a6851132a0e1ce32f5de212595555891f637","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.6.tgz","fileCount":13,"integrity":"sha512-nr77oyqLGSu4nVIdxxMERA72VLJ5GlRhsHlz/8RrW6YOjzbuolpnOKBNZBycMiR9qmV/pPvgEBkHT0+7D1NqDw==","signatures":[{"sig":"MEUCIAfkP5GhogbME4nNBIC91/r/+sL3tk98q+zUnR1buVfNAiEAxTot2v1Ou4H78qozJfvz4FLSv2T9OVwiEpokHXFaTaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40863},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"42a0b3a0a4d0a386e4f2fbc50edd864d0b0d4ec3","scripts":{"lint":"eslint .","test":"jest"},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"_npmVersion":"10.8.2","description":"Shared backend core utilities for Aden products","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","mysql":"^2.18.1","bcrypt":"^6.0.0","ioredis":"^5.3.2","mongodb":"^6.3.0","passport":"^0.7.0","nodemailer":"^6.9.8","jsonwebtoken":"^9.0.2","passport-jwt":"^4.0.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"peerDependencies":{"express":"^4.18.0"},"_npmOperationalInternal":{"tmp":"tmp/administration_1.0.6_1768270329422_0.9516449446418078","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@acho-inc/administration","version":"1.0.7","description":"Shared backend core utilities for Aden products","main":"index.js","scripts":{"test":"jest","lint":"eslint ."},"dependencies":{"bcrypt":"^6.0.0","ioredis":"^5.3.2","jsonwebtoken":"^9.0.2","mongodb":"^6.3.0","mysql":"^2.18.1","nodemailer":"^6.9.8","passport":"^0.7.0","passport-jwt":"^4.0.1","pg":"^8.11.3"},"peerDependencies":{"express":"^4.18.0"},"engines":{"node":">=18.0.0"},"keywords":["aden","backend","shared"],"license":"UNLICENSED","publishConfig":{"access":"restricted"},"_id":"@acho-inc/administration@1.0.7","gitHead":"05fecc221004d2d15cb5c7bd738f6bea68d838ee","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZeWiufXWqQQU/rEHvkvIV+GMppxF2FAvtcxmud3zDPwuCrAmOpMUdFqEwUIBa9OtgJYETUNciHKpzaTkT3u7iA==","shasum":"c9276dca6d5bb7355576608beab335deee0b0950","tarball":"https://registry.npmjs.org/@acho-inc/administration/-/administration-1.0.7.tgz","fileCount":13,"unpackedSize":45609,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGhakqwS/Y91pfBMupeKlKWBKTSmqk8YJAbPwvdI0rjyAiAwJSAjFznbHimY9G/KrHy4WN18VuDN5yl9sfifVe8/NQ=="}]},"_npmUser":{"name":"acho-dev-team","email":"dev@acho.io"},"directories":{},"maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/administration_1.0.7_1768331337597_0.4052503899532838"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T01:15:28.558Z","modified":"2026-01-13T19:08:57.971Z","1.0.0":"2026-01-07T01:15:30.201Z","1.0.1":"2026-01-10T04:01:52.299Z","1.0.2":"2026-01-10T04:04:50.059Z","1.0.3":"2026-01-13T01:25:29.557Z","1.0.4":"2026-01-13T01:42:17.366Z","1.0.5":"2026-01-13T01:50:49.705Z","1.0.6":"2026-01-13T02:12:09.605Z","1.0.7":"2026-01-13T19:08:57.733Z"},"license":"UNLICENSED","keywords":["aden","backend","shared"],"description":"Shared backend core utilities for Aden products","maintainers":[{"name":"acho-dev-team","email":"dev@acho.io"}],"readme":"# Aden Administration (Shared Backend Core)\n\nShared backend utilities for Aden products including authentication, database connections, and common utilities.\n\n## Installation\n\n```bash\nnpm install @anthropic/aden-administration\n```\n\n## Usage\n\n```javascript\nconst {\n  auth,\n  database,\n  utils,\n  middleware\n} = require('@anthropic/aden-administration');\n\n// Create database connections\nconst mysqlPool = database.createMySQLPool(config.mysql);\nconst mongoClient = database.createMongoClient(config.mongo);\nconst pgPool = database.createPostgresPool(config.postgres);\n\n// Setup passport authentication\nconst passportStrategy = auth.createPassportStrategy({\n  findSaltByToken: userService.findSaltByToken\n});\npassport.use(passportStrategy);\n```\n\n## Modules\n\n### auth/\n- `passport-jwt.js` - JWT authentication strategy with dependency injection\n- `optional-auth.middleware.js` - Optional authentication middleware\n\n### database/\n- `mysql.factory.js` - MySQL connection pool factory\n- `mongodb.factory.js` - MongoDB client factory\n- `postgres.factory.js` - PostgreSQL pool factory\n\n### models/user/\n- `user-db.service.js` - User database service (findSaltByToken)\n\n### utils/\n- Common utility functions\n\n### middleware/\n- Express middleware helpers\n\n## Architecture Principles\n\nThis package follows AI-native friendly patterns:\n- Dependency injection (no global state)\n- Factory functions for connections\n- Explicit configuration\n- TypeScript-ready JSDoc annotations\n","readmeFilename":"README.md"}