feat: add service and model
This commit is contained in:
11
service/cage_service.go
Normal file
11
service/cage_service.go
Normal 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
11
service/game_service.go
Normal 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}}
|
||||||
|
}
|
||||||
11
service/hamster_service.go
Normal file
11
service/hamster_service.go
Normal 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}}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
1
storage/dao/fake/database_postgresql_cages.go
Executable file
1
storage/dao/fake/database_postgresql_cages.go
Executable file
@@ -0,0 +1 @@
|
|||||||
|
package fake
|
||||||
1
storage/dao/fake/database_postgresql_games.go
Executable file
1
storage/dao/fake/database_postgresql_games.go
Executable file
@@ -0,0 +1 @@
|
|||||||
|
package fake
|
||||||
1
storage/dao/fake/database_postgresql_hamsters.go
Executable file
1
storage/dao/fake/database_postgresql_hamsters.go
Executable file
@@ -0,0 +1 @@
|
|||||||
|
package fake
|
||||||
1
storage/dao/postgresql/database_postgresql_cages.go
Executable file
1
storage/dao/postgresql/database_postgresql_cages.go
Executable file
@@ -0,0 +1 @@
|
|||||||
|
package postgresql
|
||||||
1
storage/dao/postgresql/database_postgresql_games.go
Executable file
1
storage/dao/postgresql/database_postgresql_games.go
Executable file
@@ -0,0 +1 @@
|
|||||||
|
package postgresql
|
||||||
1
storage/dao/postgresql/database_postgresql_hamsters.go
Executable file
1
storage/dao/postgresql/database_postgresql_hamsters.go
Executable file
@@ -0,0 +1 @@
|
|||||||
|
package postgresql
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package hamster_tycoon
|
package model
|
||||||
|
|
||||||
type Cage struct {
|
type Cage struct {
|
||||||
Hamsters []*Hamster
|
Hamsters []*Hamster
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
@@ -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,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package hamster_tycoon
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
5
storage/model/server.go
Normal file
5
storage/model/server.go
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
type Server struct {
|
||||||
|
ID string
|
||||||
|
}
|
||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user