Initial commit: TopSysOps site + admin panel
Multi-page public site (Next.js), Node/Express backend with Postgres, and Vite admin/account app, restructured from a single-page layout into dedicated service, promotions, cases, about, FAQ, and blog pages for SEO. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013otXCiTZsxdZ4SJKZ9wUky
This commit is contained in:
commit
130c5382cd
108 files changed
+7146
No files matched your search
@@ -0,0 +1,55 @@
|
||||
-- Обновление прайс-листа: убирает старую заглушку "Разработка сайтов" (от 5 000 ₽)
|
||||
-- и добавляет новую линейку "Разработка под ключ" + "White-label и партнёрство".
|
||||
-- Это настоящая миграция (не разовый скрипт) - применяется САМА при следующем
|
||||
-- запуске бэкенда (docker compose up -d --build), вручную ничего запускать не нужно.
|
||||
-- Безопасна к повторному запуску (WHERE NOT EXISTS), но система миграций и так
|
||||
-- гарантирует, что этот файл выполнится только один раз.
|
||||
BEGIN;
|
||||
|
||||
-- 1) Убираем старую заглушку "Разработка сайтов" (каскадно удалит её позицию "Лендинг")
|
||||
DELETE FROM service_categories WHERE slug = 'web';
|
||||
|
||||
-- 2) Новая категория: Разработка под ключ
|
||||
INSERT INTO service_categories (slug, title, description, icon, sort_order)
|
||||
SELECT 'development', 'Разработка под ключ',
|
||||
'От быстрого MVP до продакшн-разработки и сопровождения', 'Rocket',
|
||||
(SELECT COALESCE(MAX(sort_order), -1) + 1 FROM service_categories)
|
||||
WHERE NOT EXISTS (SELECT 1 FROM service_categories WHERE slug = 'development');
|
||||
|
||||
INSERT INTO service_items (category_id, name, price_text, period, note, sort_order)
|
||||
SELECT (SELECT id FROM service_categories WHERE slug = 'development'),
|
||||
v.name, v.price_text, v.period, v.note, v.sort_order
|
||||
FROM (VALUES
|
||||
('MVP «Быстрый старт»', 'от 120 000 ₽', '', 'Посадочная страница, форма/бот для заявок, простая админка - 2-3 недели', 0),
|
||||
('MVP Pro', 'от 450 000 ₽', '', 'Личный кабинет с авторизацией, оплата, ИИ-ассистент - 4-6 недель', 1),
|
||||
('Продакшн-разработка', 'от 1 200 000 ₽', '', 'Архитектура, тесты, DevOps, масштабирование - от 2 месяцев, точная смета после дискавери', 2),
|
||||
('Discovery-воркшоп', 'от 30 000 ₽', '', 'Фиксация ТЗ и оценки перед стартом проекта - 1-2 дня', 3),
|
||||
('Сопровождение проекта', 'от 40 000 ₽', '/мес', 'Ежемесячные доработки уже готовых продуктов', 4)
|
||||
) AS v(name, price_text, period, note, sort_order)
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM service_items
|
||||
WHERE category_id = (SELECT id FROM service_categories WHERE slug = 'development') AND name = v.name
|
||||
);
|
||||
|
||||
-- 3) Новая категория: White-label и партнёрство
|
||||
INSERT INTO service_categories (slug, title, description, icon, sort_order)
|
||||
SELECT 'partners', 'White-label и партнёрство',
|
||||
'Готовые решения для других компаний и программы сотрудничества', 'Handshake',
|
||||
(SELECT COALESCE(MAX(sort_order), -1) + 1 FROM service_categories)
|
||||
WHERE NOT EXISTS (SELECT 1 FROM service_categories WHERE slug = 'partners');
|
||||
|
||||
INSERT INTO service_items (category_id, name, price_text, period, note, sort_order)
|
||||
SELECT (SELECT id FROM service_categories WHERE slug = 'partners'),
|
||||
v.name, v.price_text, v.period, v.note, v.sort_order
|
||||
FROM (VALUES
|
||||
('White-label «Кабинет + ИИ-ассистент»', 'от 500 000 ₽', '', 'Личный кабинет с авторизацией и ИИ-чатом под брендом вашей компании', 0),
|
||||
('IT-мониторинг сайта', 'от 10 000 ₽', '/мес', 'Аптайм, скорость загрузки, уведомления об инцидентах', 1),
|
||||
('Реферальная программа', '10%', 'от суммы контракта', 'Бонус вам за рекомендацию нас новому клиенту', 2),
|
||||
('Партнёрская программа', 'по договорённости', '', 'Комиссия для хостинг-провайдеров и поставщиков оборудования за рекомендации', 3)
|
||||
) AS v(name, price_text, period, note, sort_order)
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM service_items
|
||||
WHERE category_id = (SELECT id FROM service_categories WHERE slug = 'partners') AND name = v.name
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user