d594d00227
- Fixed theme not being reflected on gallery and admin login pages - Created GlobalThemeProvider to apply themes globally - Updated gallery and admin login pages to use dynamic CSS variables - Added complete translations for all admin sections in English and German: - Notifications management - Event view and creation - Photo upload functionality - Category management - Archive page view - Analytics dashboard - Branding and theme settings - System settings - CMS page management - Email configuration - Fixed admin photo management display issues - Fixed photo upload category assignment - Added password reset functionality for galleries - Improved error handling and user feedback 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
const axios = require('axios');
|
|
const FormData = require('form-data');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
async function testUpload() {
|
|
try {
|
|
// First login
|
|
console.log('1. Logging in as admin...');
|
|
const loginResponse = await axios.post('http://localhost:3000/api/admin/auth/login', {
|
|
username: 'admin',
|
|
password: 'admin123'
|
|
});
|
|
|
|
const token = loginResponse.data.token;
|
|
console.log('✓ Login successful');
|
|
|
|
// Create a test image file
|
|
const testImagePath = path.join(__dirname, 'test-image.png');
|
|
const imageBuffer = Buffer.from('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==', 'base64');
|
|
fs.writeFileSync(testImagePath, imageBuffer);
|
|
|
|
// Test upload
|
|
console.log('\n2. Testing upload with category_id=7...');
|
|
const form = new FormData();
|
|
form.append('photos', fs.createReadStream(testImagePath), 'test-image.png');
|
|
form.append('category_id', '7');
|
|
|
|
console.log('Form data headers:', form.getHeaders());
|
|
|
|
try {
|
|
const uploadResponse = await axios.post(
|
|
'http://localhost:3000/api/admin/events/12/upload',
|
|
form,
|
|
{
|
|
headers: {
|
|
...form.getHeaders(),
|
|
'Authorization': `Bearer ${token}`
|
|
}
|
|
}
|
|
);
|
|
|
|
console.log('✓ Upload successful:', uploadResponse.data);
|
|
} catch (error) {
|
|
console.error('✗ Upload failed:', error.response?.status, error.response?.data);
|
|
if (error.response?.data) {
|
|
console.error('Error details:', JSON.stringify(error.response.data, null, 2));
|
|
}
|
|
}
|
|
|
|
// Clean up
|
|
fs.unlinkSync(testImagePath);
|
|
|
|
} catch (error) {
|
|
console.error('Error:', error.message);
|
|
}
|
|
}
|
|
|
|
testUpload(); |