Skip to content

Commit

Permalink
test blyat nahyi 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Aweiro committed Nov 4, 2024
1 parent fb66589 commit 298a61e
Showing 1 changed file with 84 additions and 49 deletions.
133 changes: 84 additions & 49 deletions js/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,57 +49,92 @@ app.get('/photos', async (req, res) => {
}
});

// Додавання нового фото
app.post('/upload', upload.single('photo'), (req, res) => {
const { description, decorName, price } = req.body;

if (req.file) {
console.log('Файл завантажено:', req.file); // Лог для перевірки

const uniqueToken = uuidv4();
const blob = bucket.file(`uploads/${req.file.originalname}`);
const blobStream = blob.createWriteStream({
metadata: {
contentType: req.file.mimetype,
metadata: {
firebaseStorageDownloadTokens: uniqueToken
}
}
});

blobStream.on('error', (error) => {
console.error("Помилка завантаження в Firebase Storage:", error);
res.status(500).json({ message: 'Не вдалося завантажити фото.' });
});

blobStream.on('finish', async () => {
// const publicUrl = `https://firebasestorage.googleapis.com/v0/b/${bucket.name}/o/uploads%2F${encodeURIComponent(req.file.originalname)}?alt=media&token=${uniqueToken}`;
const publicUrl = `https://firebasestorage.googleapis.com/v0/b/west-decor.appspot.com/o/uploads%2F1.jpg?alt=media&token=67296033-1b58-45c4-878d-e8a9e424a4e3`;

const newPhoto = {
name: req.file.originalname,
url: publicUrl,
description: description || 'Опис відсутній',
decorName: decorName || 'Назва декору відсутня',
price: price ? parseFloat(price) : 0
};

try {
await db.collection('photos').add(newPhoto);
console.log("Фото успішно збережено:", newPhoto);
res.status(200).json({ message: 'Фото успішно завантажено!', file: newPhoto });
} catch (error) {
console.error("Помилка збереження в Firestore:", error);
res.status(500).json({ message: 'Не вдалося зберегти фото в Firestore.' });
}
});

blobStream.end(req.file.buffer);
} else {
res.status(400).json({ message: 'Файл не завантажено.' });
}

app.post('/upload', upload.single('photo'), async (req, res) => {
console.log("Запит на завантаження фото отримано");
console.log("Дані форми:", req.body);
console.log("Файл:", req.file);

const { description, decorName, price } = req.body;
if (req.file) {
try {
const publicUrl = `https://firebasestorage.googleapis.com/v0/b/west-decor.appspot.com/o/uploads%2F1.jpg?alt=media&token=67296033-1b58-45c4-878d-e8a9e424a4e3`;

const newPhoto = {
name: req.file.originalname,
url: publicUrl,
description: description || 'Опис відсутній',
decorName: decorName || 'Назва декору відсутня',
price: price ? parseFloat(price) : 0
};


// Додавання фото в колекцію Firestore
await db.collection('photos').add(newPhoto);

console.log("Фото успішно збережено:", newPhoto);
res.status(200).json({ message: 'Фото успішно завантажено!', file: newPhoto });
} catch (error) {
console.error("Помилка збереження фото в Firestore:", error);
res.status(500).json({ message: 'Не вдалося зберегти фото.' });
}
} else {
console.log("Фото не завантажено");
res.status(400).json({ message: 'Не вдалося завантажити фото.' });
}
});

// Додавання нового фото
// app.post('/upload', upload.single('photo'), (req, res) => {
// const { description, decorName, price } = req.body;

// if (req.file) {
// console.log('Файл завантажено:', req.file); // Лог для перевірки

// const uniqueToken = uuidv4();
// const blob = bucket.file(`uploads/${req.file.originalname}`);
// const blobStream = blob.createWriteStream({
// metadata: {
// contentType: req.file.mimetype,
// metadata: {
// firebaseStorageDownloadTokens: uniqueToken
// }
// }
// });

// blobStream.on('error', (error) => {
// console.error("Помилка завантаження в Firebase Storage:", error);
// res.status(500).json({ message: 'Не вдалося завантажити фото.' });
// });

// blobStream.on('finish', async () => {
// // const publicUrl = `https://firebasestorage.googleapis.com/v0/b/${bucket.name}/o/uploads%2F${encodeURIComponent(req.file.originalname)}?alt=media&token=${uniqueToken}`;
// const publicUrl = `https://firebasestorage.googleapis.com/v0/b/west-decor.appspot.com/o/uploads%2F1.jpg?alt=media&token=67296033-1b58-45c4-878d-e8a9e424a4e3`;

// const newPhoto = {
// name: req.file.originalname,
// url: publicUrl,
// description: description || 'Опис відсутній',
// decorName: decorName || 'Назва декору відсутня',
// price: price ? parseFloat(price) : 0
// };

// try {
// await db.collection('photos').add(newPhoto);
// console.log("Фото успішно збережено:", newPhoto);
// res.status(200).json({ message: 'Фото успішно завантажено!', file: newPhoto });
// } catch (error) {
// console.error("Помилка збереження в Firestore:", error);
// res.status(500).json({ message: 'Не вдалося зберегти фото в Firestore.' });
// }
// });

// blobStream.end(req.file.buffer);
// } else {
// res.status(400).json({ message: 'Файл не завантажено.' });
// }
// });

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
Expand Down

0 comments on commit 298a61e

Please sign in to comment.