Skip to content

Commit 63658ef

Browse files
committed
refactor(placement): group service repositories
1 parent 87c7000 commit 63658ef

3 files changed

Lines changed: 40 additions & 32 deletions

File tree

internal/api/placement/router.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@ func NewHandler(cfg config.Config) Handler {
3030
return NewHandlerWithService(
3131
cfg,
3232
appplacement.NewServiceWithRepositories(
33-
storeplacement.NewMemoryResourceProviderRepository(),
34-
storeplacement.NewMemoryInventoryRepository(),
35-
storeplacement.NewMemoryTraitRepository(),
36-
storeplacement.NewMemoryAggregateRepository(),
37-
storeplacement.NewMemoryUsageRepository(),
38-
storeplacement.NewMemoryAllocationRepository(),
39-
storeplacement.NewMemoryResourceClassRepository(),
40-
storeplacement.NewMemoryTraitCatalogRepository(),
33+
appplacement.Repositories{
34+
ResourceProviders: storeplacement.NewMemoryResourceProviderRepository(),
35+
Inventories: storeplacement.NewMemoryInventoryRepository(),
36+
ProviderTraits: storeplacement.NewMemoryTraitRepository(),
37+
Aggregates: storeplacement.NewMemoryAggregateRepository(),
38+
Usages: storeplacement.NewMemoryUsageRepository(),
39+
Allocations: storeplacement.NewMemoryAllocationRepository(),
40+
ResourceClasses: storeplacement.NewMemoryResourceClassRepository(),
41+
TraitCatalog: storeplacement.NewMemoryTraitCatalogRepository(),
42+
},
4143
idgen.Random(),
4244
),
4345
)

internal/api/router.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,16 @@ func NewRouter(cfg config.Config) http.Handler {
8484
idgen.Random(),
8585
)
8686
placementService := appplacement.NewServiceWithRepositories(
87-
storeplacement.NewMemoryResourceProviderRepository(),
88-
storeplacement.NewMemoryInventoryRepository(),
89-
storeplacement.NewMemoryTraitRepository(),
90-
storeplacement.NewMemoryAggregateRepository(),
91-
storeplacement.NewMemoryUsageRepository(),
92-
storeplacement.NewMemoryAllocationRepository(),
93-
storeplacement.NewMemoryResourceClassRepository(),
94-
storeplacement.NewMemoryTraitCatalogRepository(),
87+
appplacement.Repositories{
88+
ResourceProviders: storeplacement.NewMemoryResourceProviderRepository(),
89+
Inventories: storeplacement.NewMemoryInventoryRepository(),
90+
ProviderTraits: storeplacement.NewMemoryTraitRepository(),
91+
Aggregates: storeplacement.NewMemoryAggregateRepository(),
92+
Usages: storeplacement.NewMemoryUsageRepository(),
93+
Allocations: storeplacement.NewMemoryAllocationRepository(),
94+
ResourceClasses: storeplacement.NewMemoryResourceClassRepository(),
95+
TraitCatalog: storeplacement.NewMemoryTraitCatalogRepository(),
96+
},
9597
idgen.Random(),
9698
)
9799

internal/app/placement/service.go

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,30 @@ type Service struct {
2525
idGen idgen.Generator
2626
}
2727

28+
type Repositories struct {
29+
ResourceProviders ResourceProviderRepository
30+
Inventories InventoryRepository
31+
ProviderTraits TraitRepository
32+
Aggregates AggregateRepository
33+
Usages UsageRepository
34+
Allocations AllocationRepository
35+
ResourceClasses ResourceClassRepository
36+
TraitCatalog TraitCatalogRepository
37+
}
38+
2839
func NewServiceWithRepositories(
29-
resourceProviderRepository ResourceProviderRepository,
30-
inventoryRepository InventoryRepository,
31-
traitRepository TraitRepository,
32-
aggregateRepository AggregateRepository,
33-
usageRepository UsageRepository,
34-
allocationRepository AllocationRepository,
35-
resourceClassRepository ResourceClassRepository,
36-
traitCatalogRepository TraitCatalogRepository,
40+
repositories Repositories,
3741
idGen idgen.Generator,
3842
) *Service {
3943
return &Service{
40-
resourceProviderRepository: resourceProviderRepository,
41-
inventoryRepository: inventoryRepository,
42-
traitRepository: traitRepository,
43-
aggregateRepository: aggregateRepository,
44-
usageRepository: usageRepository,
45-
allocationRepository: allocationRepository,
46-
resourceClassRepository: resourceClassRepository,
47-
traitCatalogRepository: traitCatalogRepository,
44+
resourceProviderRepository: repositories.ResourceProviders,
45+
inventoryRepository: repositories.Inventories,
46+
traitRepository: repositories.ProviderTraits,
47+
aggregateRepository: repositories.Aggregates,
48+
usageRepository: repositories.Usages,
49+
allocationRepository: repositories.Allocations,
50+
resourceClassRepository: repositories.ResourceClasses,
51+
traitCatalogRepository: repositories.TraitCatalog,
4852
idGen: idGen,
4953
}
5054
}

0 commit comments

Comments
 (0)