package apimodel import ( "gitea.dwysokinski.me/twhelp/corev3/internal/domain" ) func NewVillage(withRelations domain.VillageWithRelations) Village { v := withRelations.Village() return Village{ Bonus: v.Bonus(), Continent: v.Continent(), CreatedAt: v.CreatedAt(), FullName: v.FullName(), Id: v.ID(), Name: v.Name(), Points: v.Points(), ProfileUrl: v.ProfileURL().String(), X: v.X(), Y: v.Y(), Player: NewNullPlayerMeta(withRelations.Player()), } } func NewVillageMeta(withRelations domain.VillageMetaWithRelations) VillageMeta { v := withRelations.Village() return VillageMeta{ Continent: v.Continent(), FullName: v.FullName(), Id: v.ID(), Player: NewNullPlayerMeta(withRelations.Player()), ProfileUrl: v.ProfileURL().String(), X: v.X(), Y: v.Y(), } } func NewListVillagesResponse(res domain.ListVillagesWithRelationsResult) ListVillagesResponse { villages := res.Villages() resp := ListVillagesResponse{ Data: make([]Village, 0, len(villages)), Cursor: Cursor{ Next: res.Next().Encode(), Self: res.Self().Encode(), }, } for _, v := range villages { resp.Data = append(resp.Data, NewVillage(v)) } return resp } func NewGetVillageResponse(v domain.VillageWithRelations) GetVillageResponse { return GetVillageResponse{ Data: NewVillage(v), } }