diff --git a/server/routers/kfu-m-24-1/sber_mobile/DB_Scheme.txt b/server/routers/kfu-m-24-1/sber_mobile/DB_Scheme.txt index fa55eb6..0a7b25a 100644 --- a/server/routers/kfu-m-24-1/sber_mobile/DB_Scheme.txt +++ b/server/routers/kfu-m-24-1/sber_mobile/DB_Scheme.txt @@ -179,6 +179,15 @@ CREATE TABLE tickets ( updated_at TIMESTAMPTZ DEFAULT NOW() ); +-- 18. Сообщения в службу поддержки +CREATE TABLE support ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + user_id UUID NOT NULL REFERENCES auth.users(id), + message TEXT NOT NULL, + is_from_user BOOLEAN NOT NULL, + created_at TIMESTAMPTZ DEFAULT NOW() +); + -- Индексы CREATE INDEX idx_buildings_management_company ON buildings(management_company_id); CREATE INDEX idx_management_services_company ON management_services(management_company_id); diff --git a/server/routers/kfu-m-24-1/sber_mobile/index.js b/server/routers/kfu-m-24-1/sber_mobile/index.js index 3a655bc..e419be7 100644 --- a/server/routers/kfu-m-24-1/sber_mobile/index.js +++ b/server/routers/kfu-m-24-1/sber_mobile/index.js @@ -14,6 +14,7 @@ const apartmentsRouter = require('./apartments'); const buildingsRouter = require('./buildings'); const userApartmentsRouter = require('./user_apartments'); const avatarRouter = require('./media'); +const supportRouter = require('./supportApi'); module.exports = router; @@ -31,4 +32,5 @@ router.use('', utilityPaymentsRouter); router.use('', apartmentsRouter); router.use('', buildingsRouter); router.use('', userApartmentsRouter); -router.use('', avatarRouter); \ No newline at end of file +router.use('', avatarRouter); +router.use('', supportRouter); \ No newline at end of file diff --git a/server/routers/kfu-m-24-1/sber_mobile/supportApi.js b/server/routers/kfu-m-24-1/sber_mobile/supportApi.js new file mode 100644 index 0000000..71eef57 --- /dev/null +++ b/server/routers/kfu-m-24-1/sber_mobile/supportApi.js @@ -0,0 +1,16 @@ +const router = require('express').Router(); +const { getSupabaseClient } = require('./supabaseClient'); + +// POST /api/support +router.post('/support', async (req, res) => { + const supabase = getSupabaseClient(); + const { user_id, message } = req.body; + if (!user_id || !message) return res.status(400).json({ error: 'user_id и message обязательны' }); + const { error } = await supabase + .from('support') + .insert({ user_id, message, is_from_user: true }); + if (error) return res.status(400).json({ error: error.message }); + res.json({ reply: 'Спасибо за ваше сообщение! Служба поддержки свяжется с вами в ближайшее время.' }); +}); + +module.exports = router; \ No newline at end of file