Files
PriceForge/todo.md

91 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PriceForge — План очистки (удаление конфигуратора)
Цель: убрать всё, что связано с конфигуратором серверов, проектами, экспортом.
Оставить: администратор цен, прайслисты, складские справки, алерты, компоненты.
Будущее: интеграция с API B2B площадок для автоматических котировок.
---
## 1. Удалить файлы
- [ ] `internal/services/local_configuration.go` — CRUD конфигов через SQLite
- [ ] `internal/services/local_configuration_versioning_test.go`
- [ ] `internal/services/project.go` — проекты
- [ ] `internal/services/export.go` — CSV экспорт
- [ ] `internal/services/quote.go` — расчёт котировок
- [ ] `internal/services/quote_price_levels_test.go`
- [ ] `internal/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`