package dao import ( "hamster-tycoon/storage/model" ) type Database interface { // start: user dao funcs GetAllUsers() ([]*model.User, error) GetUsersByID(string) (*model.User, error) GetUsersByGoogleID(string) (*model.User, error) CreateUser(*model.User) error DeleteUser(string) error UpdateUser(*model.User) error // 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 // start: cage funcs GetAllCages(string) ([]*model.Cage, error) GetCageByID(string, string) (*model.Cage, error) CreateCage(*model.Cage) error DeleteCage(string) error UpdateCage(*model.Cage) error // end: cage dao funcs // start: hamster funcs GetAllHamsters(string, string) ([]*model.Hamster, error) GetHamsterByID(string, string, string) (*model.Hamster, error) CreateHamster(*model.Hamster) error DeleteHamster(string) error UpdateHamster(*model.Hamster) error GetHamstersOfGame(string) ([]*model.Hamster, error) // end: hamster dao funcs }