Hub-Api/services/store.go

44 lines
1.1 KiB
Go

package services
import (
"netina/commands"
models "netina/models"
cm "netina/models/commands"
"netina/queries"
store_repository "netina/repositories/store"
)
type StoreService struct {
CommandRepo store_repository.StoreCommandRepository
QueryRepo store_repository.StoreQueryRepository
}
func(s *StoreService) Createstore(cmd cm.CreateStoreCommand) error {
handler := commands.CreateStoreHandler{Repository: s.CommandRepo}
return handler.Handle(cmd)
}
func(s *StoreService) GetStore(id uint)(*models.Store , error){
handler := queries.GetStoreHandler{Repository: s.QueryRepo}
return handler.Handle(id)
}
func(s *StoreService) GetStoresList(id uint)([]models.Store , error){
handler := queries.GetStoreListHandler{Repository: s.QueryRepo}
return handler.Handle(id)
}
func(s *StoreService) Updatestore(id uint,cmd cm.UpdateStoreCommand)(*models.Store ,error) {
handler := commands.UpdateStoreHandler{Repository: s.CommandRepo}
return handler.Handle(id,cmd)
}
func(s *StoreService) Removestore(id uint) error {
handler := commands.RemoveStoreHandler{Repository: s.CommandRepo}
return handler.Handle(id)
}