core/internal/port/internal/apimodel/tribe_change.go

34 lines
824 B
Go

package apimodel
import (
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
)
func NewTribeChange(withRelations domain.TribeChangeWithRelations) TribeChange {
tc := withRelations.TribeChange()
return TribeChange{
CreatedAt: tc.CreatedAt(),
Id: tc.ID(),
NewTribe: NewNullTribeMeta(withRelations.NewTribe()),
Player: NewPlayerMeta(withRelations.Player().WithRelations(withRelations.OldTribe())),
}
}
func NewListTribeChangesResponse(res domain.ListTribeChangesWithRelationsResult) ListTribeChangesResponse {
tcs := res.TribeChanges()
resp := ListTribeChangesResponse{
Data: make([]TribeChange, 0, len(tcs)),
Cursor: Cursor{
Next: res.Next().Encode(),
Self: res.Self().Encode(),
},
}
for _, tc := range tcs {
resp.Data = append(resp.Data, NewTribeChange(tc))
}
return resp
}