feat: add service and model

This commit is contained in:
Jeffrey Duroyon
2020-05-10 23:58:49 +02:00
parent 4369438ff2
commit c8993f1ca3
20 changed files with 89 additions and 29 deletions

11
service/cage_service.go Normal file
View File

@@ -0,0 +1,11 @@
package service
import "hamster-tycoon/storage/dao"
type CageService struct {
serviceContext
}
func NewCageService(database dao.Database) *CageService {
return &CageService{serviceContext{db: database}}
}

11
service/game_service.go Normal file
View File

@@ -0,0 +1,11 @@
package service
import "Game-tycoon/storage/dao"
type GameService struct {
serviceContext
}
func NewGameService(database dao.Database) *GameService {
return &GameService{serviceContext{db: database}}
}

View File

@@ -0,0 +1,11 @@
package service
import "hamster-tycoon/storage/dao"
type HamsterService struct {
serviceContext
}
func NewHamsterService(database dao.Database) *HamsterService {
return &HamsterService{serviceContext{db: database}}
}

View File

@@ -15,4 +15,12 @@ type Database interface {
UpdateUser(*model.User) error UpdateUser(*model.User) error
// end: user dao funcs // end: user dao funcs
// start: cage games funcs
GetAllGames() ([]*model.Game, error)
GetGameById(string) (*model.Game, error)
CreateGame(*model.Game) error
DeleteGame(string) error
UpdateGame(*model.Game) error
// end: games dao funcs
} }

View File

@@ -0,0 +1 @@
package fake

View File

@@ -0,0 +1 @@
package fake

View File

@@ -0,0 +1 @@
package fake

View File

@@ -0,0 +1 @@
package postgresql

View File

@@ -0,0 +1 @@
package postgresql

View File

@@ -0,0 +1 @@
package postgresql

View File

@@ -1,4 +1,4 @@
package hamster_tycoon package model
type Cage struct { type Cage struct {
Hamsters []*Hamster Hamsters []*Hamster

View File

@@ -1,6 +1,8 @@
package hamster_tycoon package model
type Game struct { type Game struct {
ID string
server Server
Cages []*Cage Cages []*Cage
SelledHamster []*Hamster SelledHamster []*Hamster
} }

View File

@@ -1,8 +1,9 @@
package hamster_tycoon package model
import ( import (
"errors" "errors"
"fmt" "fmt"
uuid "github.com/satori/go.uuid"
"hamster-tycoon/randomizer" "hamster-tycoon/randomizer"
) )
@@ -29,6 +30,7 @@ const (
var GlobalHamsterNumber = 1 var GlobalHamsterNumber = 1
type Hamster struct { type Hamster struct {
ID string
Name string Name string
Number int Number int
Sexe string Sexe string
@@ -113,6 +115,7 @@ func Born(father *Hamster, mother *Hamster) ([]*Hamster, error) {
child := make([]*Hamster, numberOfChild) child := make([]*Hamster, numberOfChild)
for i := 0; i < numberOfChild; i++ { for i := 0; i < numberOfChild; i++ {
child[i] = &Hamster{ child[i] = &Hamster{
ID: uuid.NewV4().String(),
Name: fmt.Sprintf("Hamster %d", GlobalHamsterNumber), Name: fmt.Sprintf("Hamster %d", GlobalHamsterNumber),
Number: GlobalHamsterNumber, Number: GlobalHamsterNumber,
Age: 1, Age: 1,

View File

@@ -1,4 +1,4 @@
package hamster_tycoon package model
import ( import (
"errors" "errors"

5
storage/model/server.go Normal file
View File

@@ -0,0 +1,5 @@
package model
type Server struct {
ID string
}

View File

@@ -1,6 +1,8 @@
package model package model
import "time" import (
"time"
)
type User struct { type User struct {
UserEditable UserEditable
@@ -8,6 +10,7 @@ type User struct {
CreatedAt time.Time `json:"createdAt"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt *time.Time `json:"updatedAt"` UpdatedAt *time.Time `json:"updatedAt"`
GoogleId string `json:"-"` GoogleId string `json:"-"`
Games []Game
} }
type UserEditable struct { type UserEditable struct {