Added GET /api/admin/users/:id endpoint to retrieve detailed user
information including contact info, personal data, and ticket statistics.
This enables the admin interface to display comprehensive user details
when clicking the "Détails" button.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated the getPendingTickets endpoint to return nested objects for user
and prize data instead of flat SQL columns. Frontend expects structure like
ticket.user.firstName and ticket.prize.name, which now displays correctly
in the employee verification interface instead of showing N/A.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed dotenv.config({ override: true }) to { override: false }
This ensures environment variables from docker-compose.yml take precedence
over the embedded .env file, allowing proper DB configuration in containers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Convert test/app.test.js from CommonJS to ES6 import/export
- Export app from index.js for testing
- Only start server if NODE_ENV !== 'test'
- Fixes 'require is not defined' error in tests
- Remove extensionsToTreatAsEsm from jest.config.js (not needed with type:module)
- Add Jest globals to ESLint config (describe, it, expect, etc.)
- Fix unnecessary escape characters in debug-token-403.js
- Change no-useless-escape from error to warning
Add fetch and timer functions (setTimeout, setInterval, etc.) as
global variables in ESLint configuration to fix no-undef errors
in scripts.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Backend fixes:
- Add eslint.config.js with proper ES6 module configuration
- Add jest.config.js to support ES modules
- Update package.json with @eslint/js dependency
- Configure npm test script with NODE_OPTIONS for ES modules
- Update Jenkinsfile to block deployments on failed lint/tests
This ensures:
1. ESLint works correctly with ES6 modules
2. Jest can run tests with ES6 imports
3. Deployments are blocked if quality checks fail
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Configure Jenkins pipeline to trigger automatically on git push:
- Add pollSCM trigger (checks every minute)
- Add Generic Webhook trigger for Gitea integration
- Add comprehensive webhook setup documentation
This enables CI/CD automation where the pipeline starts
automatically when code is pushed to the repository.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>