add support table and api
This commit is contained in:
@@ -179,6 +179,15 @@ CREATE TABLE tickets (
|
|||||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
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_buildings_management_company ON buildings(management_company_id);
|
||||||
CREATE INDEX idx_management_services_company ON management_services(management_company_id);
|
CREATE INDEX idx_management_services_company ON management_services(management_company_id);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ const apartmentsRouter = require('./apartments');
|
|||||||
const buildingsRouter = require('./buildings');
|
const buildingsRouter = require('./buildings');
|
||||||
const userApartmentsRouter = require('./user_apartments');
|
const userApartmentsRouter = require('./user_apartments');
|
||||||
const avatarRouter = require('./media');
|
const avatarRouter = require('./media');
|
||||||
|
const supportRouter = require('./supportApi');
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|
||||||
@@ -32,3 +33,4 @@ router.use('', apartmentsRouter);
|
|||||||
router.use('', buildingsRouter);
|
router.use('', buildingsRouter);
|
||||||
router.use('', userApartmentsRouter);
|
router.use('', userApartmentsRouter);
|
||||||
router.use('', avatarRouter);
|
router.use('', avatarRouter);
|
||||||
|
router.use('', supportRouter);
|
||||||
22
server/routers/kfu-m-24-1/sber_mobile/supportApi.js
Normal file
22
server/routers/kfu-m-24-1/sber_mobile/supportApi.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const router = express.Router();
|
||||||
|
const { supabase } = require('./supabaseClient');
|
||||||
|
|
||||||
|
// POST /api/support
|
||||||
|
router.post('/support', async (req, res) => {
|
||||||
|
const { user_id, message } = req.body;
|
||||||
|
if (!user_id || !message) {
|
||||||
|
return res.status(400).json({ error: 'user_id и message обязательны' });
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const { data, error } = await supabase
|
||||||
|
.from('support')
|
||||||
|
.insert([{ user_id, message, is_from_user: true }]);
|
||||||
|
if (error) throw error;
|
||||||
|
return res.json({ reply: 'Спасибо за ваше сообщение! Служба поддержки свяжется с вами в ближайшее время.' });
|
||||||
|
} catch (err) {
|
||||||
|
return res.status(500).json({ error: 'Ошибка при сохранении сообщения' });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
Reference in New Issue
Block a user