# Auth API Authentication service for XTransit. Handles login, JWT token generation, and user verification. ## Setup ### Environment Variables ```env PG_HOST=localhost PG_PORT=5432 PG_USER=your_user PG_PASS=your_password PG_DB=your_database JWT_SECRET=your_jwt_secret PORT=5000 ADMIN_USER_CODES=1234,5678 DEV_BYPASS=0 ERROR_LOG_API_URL=https://error.xtransit.testinstance.nl/error_log ``` ### Start API ```bash npm start ``` Runs at `https://auth.xtransit.testinstance.nl` ## API Endpoints **POST** `/login` - Body: `{ "userCode": 1234, "password": "secret" }` - Returns: `{ "token": "jwt...", "user": { "id": 1, "userCode": 1234, "job": "driver", "isAdmin": false } }` **GET** `/me` - Requires: `Authorization: Bearer ` - Returns: `{ "user": { "userId": 1, "userCode": 1234, "isAdmin": false } }` **GET** `/health` - Returns: `{ "status": "ok", "service": "auth_api" }` ## Database Uses `workers.users` table with columns: `id`, `usercode`, `password` (bcrypt), `job` Admin status is determined by `ADMIN_USER_CODES` env variable (comma-separated user codes).