2024-02-09 11:30:01 +00:00
|
|
|
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
|
|
|
|
}
|
2024-02-10 10:53:14 +00:00
|
|
|
|
|
|
|
func NewGetServerResponse(v domain.Server) GetServerResponse {
|
|
|
|
return GetServerResponse{
|
|
|
|
Data: NewServer(v),
|
|
|
|
}
|
|
|
|
}
|