chore: clean up codebase for production readiness
Mirror to GitHub / mirror (push) Successful in 44s
Test and Lint / backend-test (push) Successful in 1m42s
Test and Lint / frontend-test (push) Has been cancelled
Version and Release / version-bump (push) Has been cancelled
Version and Release / trigger-drone (push) Has been cancelled

- Remove all console.log/debug statements from production code
- Add NODE_ENV checks for development-only logging
- Remove test scripts (test-feedback, test-image-security, test-backup-*, test-restore)
- Remove one-time fix scripts (fix-temp-photos, fix-migration-state, mark-migration-applied)
- Remove sensitive files (.env.backup, ADMIN_CREDENTIALS.txt)
- Update package.json to remove references to deleted scripts
- Replace console statements with logger utility in backend
- Secure error boundaries to not expose stack traces in production

This makes the codebase production-ready with no debug output or test scripts.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-24 23:19:30 +02:00
parent 827eb4819b
commit 1b4b497fdf
144 changed files with 12279 additions and 2018 deletions
+16 -9
View File
@@ -152,18 +152,25 @@ const validateFeedbackSubmission = [
body('guest_name')
.optional()
.trim()
.isLength({ max: 100 })
.withMessage('Name must be less than 100 characters')
.matches(/^[a-zA-Z0-9\s\-'.]+$/)
.withMessage('Name contains invalid characters'),
.custom((value) => {
// Allow empty or whitespace-only strings
if (!value || value.trim() === '') return true;
// If not empty, check length and pattern
const trimmed = value.trim();
if (trimmed.length > 100) throw new Error('Name must be less than 100 characters');
if (!/^[a-zA-Z0-9\s\-'.]+$/.test(trimmed)) throw new Error('Name contains invalid characters');
return true;
}),
body('guest_email')
.optional()
.trim()
.isEmail()
.normalizeEmail()
.withMessage('Invalid email address')
.custom((value) => {
// Allow empty or whitespace-only strings
if (!value || value.trim() === '') return true;
// If not empty, validate as email
if (!validator.isEmail(value.trim())) throw new Error('Invalid email address');
return true;
})
];
/**