ca-grow-ops-manager/backend/package.json
fullsizemalt 9dc0586d67 feat: Sprint 2 Phase 1 - Auth Core Complete
 Implemented:
- Password hashing with bcrypt (salt rounds = 10)
- JWT token generation (access 15m, refresh 7d)
- Updated login endpoint to return access + refresh tokens
- Added refresh and logout endpoints
- Updated seed script with hashed passwords
- Added test users for all roles (OWNER, MANAGER, GROWER, STAFF)

📝 Files Added/Modified:
- backend/src/utils/password.ts (NEW)
- backend/src/utils/jwt.ts (NEW)
- backend/src/controllers/auth.controller.ts (UPDATED)
- backend/src/routes/auth.routes.ts (UPDATED)
- backend/prisma/seed.js (UPDATED - now hashes passwords)
- CREDENTIALS.md (UPDATED - all test users documented)

🔐 Test Users:
- admin@runfoo.run (OWNER)
- manager@runfoo.run (MANAGER)
- grower@runfoo.run (GROWER)
- staff@runfoo.run (STAFF)
All passwords: password123

⏭️ Next: Auth middleware + RBAC
2025-12-09 13:52:54 -08:00

34 lines
787 B
JSON

{
"name": "ca-grow-ops-backend",
"version": "1.0.0",
"main": "dist/server.js",
"scripts": {
"build": "tsc",
"start": "node dist/server.js",
"dev": "ts-node-dev src/server.ts",
"test": "jest",
"lint": "eslint src/**/*.ts"
},
"prisma": {
"seed": "node prisma/seed.js"
},
"dependencies": {
"@fastify/jwt": "^7.2.4",
"@prisma/client": "^5.7.0",
"@types/bcrypt": "^6.0.0",
"@types/jsonwebtoken": "^9.0.10",
"bcrypt": "^6.0.0",
"dotenv": "^16.3.1",
"fastify": "^4.25.0",
"fastify-plugin": "^4.5.0",
"jsonwebtoken": "^9.0.3"
},
"devDependencies": {
"@types/node": "^20.10.0",
"eslint": "^8.56.0",
"jest": "^29.7.0",
"prisma": "^5.7.0",
"ts-node-dev": "^2.0.0",
"typescript": "^5.3.3"
}
}