Files
hamster-tycoon/service/game_service.go
2020-05-22 02:09:38 +02:00

31 lines
635 B
Go

package service
import (
"hamster-tycoon/storage/dao"
"hamster-tycoon/storage/model"
)
type GameService struct {
serviceContext
}
func NewGameService(database dao.Database) *GameService {
return &GameService{serviceContext{db: database}}
}
func (gs *GameService) GetAGameByID(id string) (*model.Game, error) {
game, err := gs.db.GetGameByID(id)
if err != nil {
if castedError, ok := err.(*dao.Error); ok {
switch castedError.Type {
case dao.ErrTypeNotFound:
return nil, &model.ErrNotFound
default:
return nil, &model.ErrInternalServer
}
}
return nil, &model.ErrInternalServer
}
return game, nil
}