package domain import ( "errors" "git.gregbrzezinski.com/Skirda/skirdaGoLauncher/sharedutils/skirdasession" ) type SkirdaDomain struct { DomainId string SkirdaGames skirdasession.SkirdaSessions } func (domain SkirdaDomain) BuildDomain(newGames []SkirdaGame, newSessions []skirdasession.SkirdaSession) { domain.AddGames(newGames) domain.AddSessions(newSessions) } type Domains []SkirdaDomain func (domains Domains) Set(newDomains []SkirdaDomain) { domains = append([]SkirdaDomain{}, newDomains...) } func (domains Domains) FindGameByID(gameId string) (SkirdaGame, error) { for _, domain := range domains { game, _ := domain.FindGameByID(gameId) if game.GetSkirdaGameId() == gameId { return game, nil } } return nil, errors.New("") } func (domains Domains) GetGames() SkirdaGames { allGames := SkirdaGames{} for _, domain := range domains { allGames = append(allGames, domain.SkirdaGames...) } return allGames } func (domains Domains) GetSessions() skirdasession.SkirdaSessions { plainSessions := skirdasession.SkirdaSessions{} for _, domain := range domains { plainSessions = append(plainSessions, domain.SkirdaSessions...) } return plainSessions } func (domains Domains) FindDomain(domainId string) (SkirdaDomain, error) { for _, domain := range domains { if domain.DomainId == domainId { return domain, nil } } return SkirdaDomain{}, errors.New("not any domain founded") }