package apimodel import ( "gitea.dwysokinski.me/twhelp/corev3/internal/domain" ) func NewServer(s domain.Server) Server { converted := Server{ Key: s.Key(), CreatedAt: s.CreatedAt(), NumBarbarianVillages: s.NumBarbarianVillages(), NumBonusVillages: s.NumBonusVillages(), NumPlayerVillages: s.NumPlayerVillages(), NumPlayers: s.NumPlayers(), NumTribes: s.NumTribes(), NumVillages: s.NumVillages(), Open: s.Open(), Url: s.URL().String(), } if v := s.PlayerDataSyncedAt(); !v.IsZero() { converted.PlayerDataSyncedAt = &v } if v := s.TribeDataSyncedAt(); !v.IsZero() { converted.TribeDataSyncedAt = &v } if v := s.VillageDataSyncedAt(); !v.IsZero() { converted.VillageDataSyncedAt = &v } if v := s.EnnoblementDataSyncedAt(); !v.IsZero() { converted.EnnoblementDataSyncedAt = &v } return converted } func NewListServersResponse(res domain.ListServersResult) ListServersResponse { servers := res.Servers() resp := ListServersResponse{ Data: make([]Server, 0, len(servers)), Cursor: Cursor{ Next: res.Next().Encode(), Self: res.Self().Encode(), }, } for _, s := range servers { resp.Data = append(resp.Data, NewServer(s)) } return resp } func NewGetServerResponse(v domain.Server) GetServerResponse { return GetServerResponse{ Data: NewServer(v), } }