refactor: убрать categoryRepo из ExportService, порядок из DefaultCategories

Категория лота приходит из прайслиста — запрашивать её из серверной БД
нарушало принцип local-first. Сигнатура NewExportService упрощена,
все call-sites обновлены.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 19:06:39 +03:00
parent ff262822e1
commit ddc00523e0
4 changed files with 23 additions and 34 deletions

View File

@@ -13,20 +13,17 @@ import (
"git.mchus.pro/mchus/quoteforge/internal/config"
"git.mchus.pro/mchus/quoteforge/internal/localdb"
"git.mchus.pro/mchus/quoteforge/internal/models"
"git.mchus.pro/mchus/quoteforge/internal/repository"
)
type ExportService struct {
config config.ExportConfig
categoryRepo *repository.CategoryRepository
localDB *localdb.LocalDB
config config.ExportConfig
localDB *localdb.LocalDB
}
func NewExportService(cfg config.ExportConfig, categoryRepo *repository.CategoryRepository, local *localdb.LocalDB) *ExportService {
func NewExportService(cfg config.ExportConfig, local *localdb.LocalDB) *ExportService {
return &ExportService{
config: cfg,
categoryRepo: categoryRepo,
localDB: local,
config: cfg,
localDB: local,
}
}
@@ -127,15 +124,7 @@ func (s *ExportService) ToCSV(w io.Writer, data *ProjectExportData) error {
return fmt.Errorf("failed to write header: %w", err)
}
// Build category order: start from DefaultCategories, override with live DB values if available.
categoryOrder := defaultCategoryOrder()
if s.categoryRepo != nil {
if categories, err := s.categoryRepo.GetAll(); err == nil {
for _, cat := range categories {
categoryOrder[cat.Code] = cat.DisplayOrder
}
}
}
for i, block := range data.Configs {
lineNo := block.Line