5.2 KiB
5.2 KiB
PriceForge — План очистки (удаление конфигуратора)
Цель: убрать всё, что связано с конфигуратором серверов, проектами, экспортом. Оставить: администратор цен, прайслисты, складские справки, алерты, компоненты. Будущее: интеграция с API B2B площадок для автоматических котировок.
1. Удалить файлы
internal/services/local_configuration.go— CRUD конфигов через SQLiteinternal/services/local_configuration_versioning_test.gointernal/services/project.go— проектыinternal/services/export.go— CSV экспортinternal/services/quote.go— расчёт котировокinternal/services/quote_price_levels_test.gointernal/handlers/export.go— экспорт хэндлерinternal/handlers/configuration.go— legacy хэндлер конфигурацийinternal/handlers/quote.go— хэндлер котировокweb/templates/index.html(85KB) — конфигураторweb/templates/configs.html(38KB) — список конфигурацийweb/templates/projects.html(19KB) — список проектовweb/templates/project_detail.html(23KB) — детали проекта
2. Упростить cmd/pfs/main.go
- Удалить создание сервисов:
configService,projectService,quoteService,exportService - Удалить хэндлеры:
quoteHandler,exportHandler - Удалить все routes
/api/configs/*(строки ~807-1093) - Удалить все routes
/api/projects/*(строки ~1095-1405) - Удалить routes
/api/quote/*(строки ~779-784) - Удалить routes
/api/export/*(строки ~786-790) - Удалить web pages:
/configs,/configurator,/projects,/projects/:uuid - Удалить
triggerPull,syncProjectsFromServer,syncConfigurationsFromServer - Удалить data hygiene:
BackfillConfigurationProjects,PurgeEmptyNamelessProjects,ConsolidateSystemProjects - Удалить sync worker (PriceForge — source of truth, background sync не нужен)
GET /→ redirect на/admin/pricing- Обновить лог: "starting PriceForge server"
- Обновить version output: "pfs version %s"
3. Упростить handlers/web.go
- Удалить из
simplePages:configs.html,projects.html,project_detail.html - Удалить загрузку
index.html+components_list.html(специальный блок) - Удалить методы:
Configurator(),Configs(),Projects(),ProjectDetail() - Изменить
Index()→ redirect на/admin/pricing - Оставить:
AdminPricing(),Pricelists(),PricelistDetail(),Login(),ComponentsPartial()
4. Упростить base.html (навигация)
- Логотип: "PriceForge" вместо "PriceForge"
- Убрать ссылки: "Мои проекты"
- Оставить: "Администратор цен", "Прайслисты", "Настройки"
- Убрать sync indicator из хедера (или упростить — только online/offline статус MariaDB)
5. handlers/component.go — читать из MariaDB
- PriceForge работает напрямую с MariaDB (не local-first)
- Проверить что
List()использует MariaDB как primary source - Если читает из SQLite — переключить на
componentService.List()(MariaDB)
6. Sync — минимальный
- Убрать sync worker (
sync.NewWorkerиsyncWorker.Start) - Убрать pending_changes push логику
- Оставить
/api/sync/statusи/api/sync/infoдля диагностики - Опционально: оставить
/api/sync/componentsи/api/sync/pricelistsчтобы QFS мог pull
7. Обновить Makefile
BINARY := pfs- Пути к
./cmd/pfs - Обновить APP_NAME и описания
8. Верификация
go build ./cmd/pfs— компилируетсяgo vet ./...— без ошибок- Запуск →
/admin/pricingработает - Создание прайслиста работает
- Импорт складской справки работает
- Нет ссылок на конфигуратор в UI
9. Обновить CLAUDE.md
- Переименовать в PriceForge
- Убрать разделы про конфигуратор, проекты, экспорт, offline-first
- Обновить API endpoints список
- Обновить описание: "Администратор цен. Управление прайслистами, складскими справками, интеграция с B2B API."
- Обновить commands:
go run ./cmd/pfs,make run