58 lines
1.7 KiB
Go
58 lines
1.7 KiB
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"cmr-backend/internal/store/postgres"
|
|
)
|
|
|
|
type OpsOverviewSummary struct {
|
|
ManagedAssets int `json:"managedAssets"`
|
|
Places int `json:"places"`
|
|
MapAssets int `json:"mapAssets"`
|
|
TileReleases int `json:"tileReleases"`
|
|
CourseSets int `json:"courseSets"`
|
|
CourseVariants int `json:"courseVariants"`
|
|
Events int `json:"events"`
|
|
DefaultEvents int `json:"defaultEvents"`
|
|
PublishedEvents int `json:"publishedEvents"`
|
|
ConfigSources int `json:"configSources"`
|
|
Releases int `json:"releases"`
|
|
RuntimeBindings int `json:"runtimeBindings"`
|
|
Presentations int `json:"presentations"`
|
|
ContentBundles int `json:"contentBundles"`
|
|
OpsUsers int `json:"opsUsers"`
|
|
}
|
|
|
|
type OpsSummaryService struct {
|
|
store *postgres.Store
|
|
}
|
|
|
|
func NewOpsSummaryService(store *postgres.Store) *OpsSummaryService {
|
|
return &OpsSummaryService{store: store}
|
|
}
|
|
|
|
func (s *OpsSummaryService) GetOverview(ctx context.Context) (*OpsOverviewSummary, error) {
|
|
counts, err := s.store.GetOpsOverviewCounts(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &OpsOverviewSummary{
|
|
ManagedAssets: counts.ManagedAssets,
|
|
Places: counts.Places,
|
|
MapAssets: counts.MapAssets,
|
|
TileReleases: counts.TileReleases,
|
|
CourseSets: counts.CourseSets,
|
|
CourseVariants: counts.CourseVariants,
|
|
Events: counts.Events,
|
|
DefaultEvents: counts.DefaultEvents,
|
|
PublishedEvents: counts.PublishedEvents,
|
|
ConfigSources: counts.ConfigSources,
|
|
Releases: counts.Releases,
|
|
RuntimeBindings: counts.RuntimeBindings,
|
|
Presentations: counts.Presentations,
|
|
ContentBundles: counts.ContentBundles,
|
|
OpsUsers: counts.OpsUsers,
|
|
}, nil
|
|
}
|