58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
package apimodel
|
|
|
|
import (
|
|
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
|
)
|
|
|
|
func NewTribe(t domain.Tribe) Tribe {
|
|
converted := Tribe{
|
|
AllPoints: t.AllPoints(),
|
|
BestRank: t.BestRank(),
|
|
BestRankAt: t.BestRankAt(),
|
|
CreatedAt: t.CreatedAt(),
|
|
Dominance: t.Dominance(),
|
|
Id: t.ID(),
|
|
MostPoints: t.MostPoints(),
|
|
MostPointsAt: t.MostPointsAt(),
|
|
MostVillages: t.MostVillages(),
|
|
MostVillagesAt: t.MostVillagesAt(),
|
|
Name: t.Name(),
|
|
NumMembers: t.NumMembers(),
|
|
NumVillages: t.NumVillages(),
|
|
Points: t.Points(),
|
|
ProfileUrl: t.ProfileURL().String(),
|
|
Rank: t.Rank(),
|
|
RankAtt: t.OD().RankAtt(),
|
|
RankDef: t.OD().RankDef(),
|
|
RankTotal: t.OD().RankTotal(),
|
|
ScoreAtt: t.OD().ScoreAtt(),
|
|
ScoreDef: t.OD().ScoreDef(),
|
|
ScoreTotal: t.OD().ScoreTotal(),
|
|
Tag: t.Tag(),
|
|
}
|
|
|
|
if deletedAt := t.DeletedAt(); !deletedAt.IsZero() {
|
|
converted.DeletedAt = &deletedAt
|
|
}
|
|
|
|
return converted
|
|
}
|
|
|
|
func NewListTribesResponse(res domain.ListTribesResult) ListTribesResponse {
|
|
tribes := res.Tribes()
|
|
|
|
resp := ListTribesResponse{
|
|
Data: make([]Tribe, 0, len(tribes)),
|
|
Cursor: Cursor{
|
|
Next: res.Next().Encode(),
|
|
Self: res.Self().Encode(),
|
|
},
|
|
}
|
|
|
|
for _, t := range tribes {
|
|
resp.Data = append(resp.Data, NewTribe(t))
|
|
}
|
|
|
|
return resp
|
|
}
|