feat(dataset-groups): CRUD, latest-in-group, group SLD with dataset fallback, CreateRasterFromFile

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 13:29:01 +05:00
parent 32eba016b3
commit bc524f3d98
11 changed files with 1366 additions and 34 deletions

View File

@@ -38,6 +38,7 @@ type App struct {
publisher *rabbitmq.Publisher
categories *service.CategoryService
datasets *service.DatasetService
groups *service.DatasetGroupService
eventRepo *postgres.EventRepository
}
@@ -68,6 +69,7 @@ func New(ctx context.Context) (*App, error) {
categoryRepo := postgres.NewCategoryRepository(pool)
datasetRepo := postgres.NewDatasetRepository(pool)
groupRepo := postgres.NewDatasetGroupRepository(pool)
eventRepo := postgres.NewEventRepository(pool)
publisher := rabbitmq.NewPublisher(rabbit)
@@ -81,7 +83,8 @@ func New(ctx context.Context) (*App, error) {
rabbit: rabbit,
publisher: publisher,
categories: service.NewCategoryService(categoryRepo),
datasets: service.NewDatasetService(datasetRepo, store, categoryRepo, jobPublisher, parser.Columns, parser.Rows, raster.NewGDALConverter()),
datasets: service.NewDatasetService(datasetRepo, store, categoryRepo, groupRepo, jobPublisher, parser.Columns, parser.Rows, raster.NewGDALConverter()),
groups: service.NewDatasetGroupService(groupRepo, datasetRepo, store),
eventRepo: eventRepo,
}, nil
}
@@ -100,11 +103,12 @@ func (a *App) Handler() stdhttp.Handler {
})
return transporthttp.NewRouter(transporthttp.RouterDeps{
Logger: a.Log,
Health: health,
Categories: transporthttp.NewCategoryHandler(a.categories, validate),
Datasets: transporthttp.NewDatasetHandler(a.datasets, validate),
OpenAPISpec: api.Spec,
Logger: a.Log,
Health: health,
Categories: transporthttp.NewCategoryHandler(a.categories, validate),
Datasets: transporthttp.NewDatasetHandler(a.datasets, validate),
DatasetGroups: transporthttp.NewDatasetGroupHandler(a.groups, validate),
OpenAPISpec: api.Spec,
})
}