53 lines
2.1 KiB
JavaScript
53 lines
2.1 KiB
JavaScript
const router = require('express').Router();
|
|
const { getSupabaseClient } = require('./supabaseClient');
|
|
|
|
// Получить все дополнительные сервисы
|
|
router.get('/additional-services', async (req, res) => {
|
|
const supabase = getSupabaseClient();
|
|
const { data, error } = await supabase.from('additional_services').select('*').order('created_at', { ascending: false });
|
|
if (error) return res.status(400).json({ error: error.message });
|
|
res.json(data);
|
|
});
|
|
|
|
// Получить сервис по id
|
|
router.get('/additional-services/:id', async (req, res) => {
|
|
const supabase = getSupabaseClient();
|
|
const { id } = req.params;
|
|
const { data, error } = await supabase.from('additional_services').select('*').eq('id', id).single();
|
|
if (error) return res.status(400).json({ error: error.message });
|
|
res.json(data);
|
|
});
|
|
|
|
// Создать сервис
|
|
router.post('/additional-services', async (req, res) => {
|
|
const supabase = getSupabaseClient();
|
|
const { title, description, category, price, image_url } = req.body;
|
|
const { data, error } = await supabase.from('additional_services').insert([
|
|
{ title, description, category, price, image_url }
|
|
]).select().single();
|
|
if (error) return res.status(400).json({ error: error.message });
|
|
res.json(data);
|
|
});
|
|
|
|
// Обновить сервис
|
|
router.put('/additional-services/:id', async (req, res) => {
|
|
const supabase = getSupabaseClient();
|
|
const { id } = req.params;
|
|
const { title, description, category, price, image_url } = req.body;
|
|
const { data, error } = await supabase.from('additional_services').update({
|
|
title, description, category, price, image_url
|
|
}).eq('id', id).select().single();
|
|
if (error) return res.status(400).json({ error: error.message });
|
|
res.json(data);
|
|
});
|
|
|
|
// Удалить сервис
|
|
router.delete('/additional-services/:id', async (req, res) => {
|
|
const supabase = getSupabaseClient();
|
|
const { id } = req.params;
|
|
const { error } = await supabase.from('additional_services').delete().eq('id', id);
|
|
if (error) return res.status(400).json({ error: error.message });
|
|
res.json({ success: true });
|
|
});
|
|
|
|
module.exports = router;
|