Skip to content

Commit 5f64e2b

Browse files
authored
feat: Update swagger doc and clients (#83)
1 parent 572171f commit 5f64e2b

69 files changed

Lines changed: 4019 additions & 1332 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

client/athletes.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (a athletesAPI) GetLoggedInAthlete(ctx context.Context) (models.DetailedAth
4444
return models.DetailedAthlete{}, err
4545
}
4646

47-
return *athlete.Payload, nil
47+
return convertToDetailedAthlete(athlete.GetPayload()), nil
4848
}
4949

5050
func (a athletesAPI) GetLoggedInAthleteZones(ctx context.Context) (models.Zones, error) {
@@ -57,7 +57,7 @@ func (a athletesAPI) GetLoggedInAthleteZones(ctx context.Context) (models.Zones,
5757
return models.Zones{}, err
5858
}
5959

60-
return *athlete.Payload, nil
60+
return convertToZones(athlete.GetPayload()), nil
6161
}
6262

6363
func (a athletesAPI) GetStats(ctx context.Context, id int64) (models.ActivityStats, error) {
@@ -71,7 +71,7 @@ func (a athletesAPI) GetStats(ctx context.Context, id int64) (models.ActivitySta
7171
return models.ActivityStats{}, err
7272
}
7373

74-
return *stats.Payload, nil
74+
return convertToActivityStats(stats.GetPayload()), nil
7575
}
7676

7777
func (a athletesAPI) UpdateLoggedInAthlete(ctx context.Context, weight float32) (models.DetailedAthlete, error) {
@@ -85,5 +85,29 @@ func (a athletesAPI) UpdateLoggedInAthlete(ctx context.Context, weight float32)
8585
return models.DetailedAthlete{}, err
8686
}
8787

88-
return *athlete.Payload, nil
88+
return convertToDetailedAthlete(athlete.GetPayload()), nil
89+
}
90+
91+
func convertToDetailedAthlete(athlete *models.DetailedAthlete) models.DetailedAthlete {
92+
if athlete == nil {
93+
return models.DetailedAthlete{}
94+
}
95+
96+
return *athlete
97+
}
98+
99+
func convertToActivityStats(stats *models.ActivityStats) models.ActivityStats {
100+
if stats == nil {
101+
return models.ActivityStats{}
102+
}
103+
104+
return *stats
105+
}
106+
107+
func convertToZones(zones *models.Zones) models.Zones {
108+
if zones == nil {
109+
return models.Zones{}
110+
}
111+
112+
return *zones
89113
}

client/clubs.go

Lines changed: 98 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,7 @@ func (c clubsService) GetClubActivitiesById(ctx context.Context, id int64, opts
9090
return nil, err
9191
}
9292

93-
resp := make([]models.ClubActivity, 0, len(activities.GetPayload()))
94-
95-
for _, a := range activities.GetPayload() {
96-
resp = append(resp, *a)
97-
}
98-
99-
return resp, nil
93+
return convertToListClubActivity(activities.GetPayload()), nil
10094
}
10195

10296
func (c clubsService) GetClubAdminsById(ctx context.Context, id int64, opts ...GetClubAdminsByIdOpts) ([]models.SummaryAthlete, error) {
@@ -129,13 +123,7 @@ func (c clubsService) GetClubAdminsById(ctx context.Context, id int64, opts ...G
129123
return nil, err
130124
}
131125

132-
resp := make([]models.SummaryAthlete, 0, len(admins.GetPayload()))
133-
134-
for _, a := range admins.GetPayload() {
135-
resp = append(resp, *a)
136-
}
137-
138-
return resp, nil
126+
return convertToListSummaryAthlete(admins.GetPayload()), nil
139127
}
140128

141129
func (c clubsService) GetClubById(ctx context.Context, id int64) (models.DetailedClub, error) {
@@ -150,7 +138,7 @@ func (c clubsService) GetClubById(ctx context.Context, id int64) (models.Detaile
150138
return models.DetailedClub{}, err
151139
}
152140

153-
return *club.GetPayload(), nil
141+
return convertToDetailedClub(club.GetPayload()), nil
154142
}
155143

156144
func (c clubsService) GetClubMembersById(ctx context.Context, id int64, opts ...GetClubMembersByIdOpts) ([]models.ClubAthlete, error) {
@@ -183,13 +171,7 @@ func (c clubsService) GetClubMembersById(ctx context.Context, id int64, opts ...
183171
return nil, err
184172
}
185173

186-
resp := make([]models.ClubAthlete, 0, len(members.GetPayload()))
187-
188-
for _, m := range members.GetPayload() {
189-
resp = append(resp, *m)
190-
}
191-
192-
return resp, nil
174+
return convertToListClubAthlete(members.GetPayload()), nil
193175
}
194176

195177
func (c clubsService) GetLoggedInAthleteClubs(ctx context.Context, opts ...GetLoggedInAthleteClubsOpts) ([]models.SummaryClub, error) {
@@ -221,11 +203,101 @@ func (c clubsService) GetLoggedInAthleteClubs(ctx context.Context, opts ...GetLo
221203
return nil, err
222204
}
223205

224-
resp := make([]models.SummaryClub, 0, len(list.GetPayload()))
206+
return convertToListSummaryClub(list.GetPayload()), nil
207+
}
208+
209+
func convertToClubActivity(activity *models.ClubActivity) models.ClubActivity {
210+
if activity == nil {
211+
return models.ClubActivity{}
212+
}
213+
214+
return *activity
215+
}
216+
217+
func convertToSummaryAthlete(athlete *models.SummaryAthlete) models.SummaryAthlete {
218+
if athlete == nil {
219+
return models.SummaryAthlete{}
220+
}
221+
222+
return *athlete
223+
}
224+
225+
func convertToClubAthlete(athlete *models.ClubAthlete) models.ClubAthlete {
226+
if athlete == nil {
227+
return models.ClubAthlete{}
228+
}
229+
230+
return *athlete
231+
}
232+
233+
func convertToSummaryClub(club *models.SummaryClub) models.SummaryClub {
234+
if club == nil {
235+
return models.SummaryClub{}
236+
}
237+
238+
return *club
239+
}
240+
241+
func convertToDetailedClub(club *models.DetailedClub) models.DetailedClub {
242+
if club == nil {
243+
return models.DetailedClub{}
244+
}
245+
246+
return *club
247+
}
248+
249+
func convertToListSummaryClub(clubs []*models.SummaryClub) []models.SummaryClub {
250+
if clubs == nil {
251+
return nil
252+
}
253+
254+
list := make([]models.SummaryClub, len(clubs))
255+
256+
for i, club := range clubs {
257+
list[i] = convertToSummaryClub(club)
258+
}
259+
260+
return list
261+
}
262+
263+
func convertToListClubActivity(activities []*models.ClubActivity) []models.ClubActivity {
264+
if activities == nil {
265+
return nil
266+
}
267+
268+
list := make([]models.ClubActivity, len(activities))
269+
270+
for i, activity := range activities {
271+
list[i] = convertToClubActivity(activity)
272+
}
273+
274+
return list
275+
}
276+
277+
func convertToListClubAthlete(athletes []*models.ClubAthlete) []models.ClubAthlete {
278+
if athletes == nil {
279+
return nil
280+
}
281+
282+
list := make([]models.ClubAthlete, len(athletes))
283+
284+
for i, athlete := range athletes {
285+
list[i] = convertToClubAthlete(athlete)
286+
}
287+
288+
return list
289+
}
290+
291+
func convertToListSummaryAthlete(athletes []*models.SummaryAthlete) []models.SummaryAthlete {
292+
if athletes == nil {
293+
return nil
294+
}
295+
296+
list := make([]models.SummaryAthlete, len(athletes))
225297

226-
for _, cl := range list.GetPayload() {
227-
resp = append(resp, *cl)
298+
for i, athlete := range athletes {
299+
list[i] = convertToSummaryAthlete(athlete)
228300
}
229301

230-
return resp, nil
302+
return list
231303
}

client/efforts.go

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,26 +100,10 @@ func (s segmentsEffortsService) GetSegmentEffortById(ctx context.Context, id int
100100
}
101101

102102
// convert to models.DetailedSegmentEffort
103-
func convertToSegmentEffort(effort *segment_efforts.GetSegmentEffortByIDOKBody) models.DetailedSegmentEffort {
104-
if effort.HeartRateDetails.AverageHeartrate != 0 || effort.HeartRateDetails.MaxHeartrate != 0 {
105-
effort.HeartRateDetails.HasHeartrate = true
103+
func convertToSegmentEffort(effort *models.DetailedSegmentEffort) models.DetailedSegmentEffort {
104+
if effort == nil {
105+
return models.DetailedSegmentEffort{}
106106
}
107107

108-
return models.DetailedSegmentEffort{
109-
SummarySegmentEffort: effort.SummarySegmentEffort,
110-
HeartRateDetails: effort.HeartRateDetails,
111-
Activity: effort.Activity,
112-
Athlete: effort.Athlete,
113-
AverageCadence: effort.AverageCadence,
114-
AverageWatts: effort.AverageWatts,
115-
DeviceWatts: effort.DeviceWatts,
116-
EndIndex: effort.EndIndex,
117-
Hidden: effort.Hidden,
118-
KomRank: effort.KomRank,
119-
MovingTime: effort.MovingTime,
120-
Name: effort.Name,
121-
PrRank: effort.PrRank,
122-
Segment: effort.Segment,
123-
StartIndex: effort.StartIndex,
124-
}
108+
return *effort
125109
}

client/gears.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,13 @@ func (g gearsService) GetGearById(ctx context.Context, id string) (models.Detail
3939
return models.DetailedGear{}, err
4040
}
4141

42-
return *gear.GetPayload(), nil
42+
return convertToDetailedGear(gear.GetPayload()), nil
43+
}
44+
45+
func convertToDetailedGear(gear *models.DetailedGear) models.DetailedGear {
46+
if gear == nil {
47+
return models.DetailedGear{}
48+
}
49+
50+
return *gear
4351
}

client/routes.go

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -116,24 +116,10 @@ func (r routesService) GetRoutesByAthleteId(ctx context.Context, opts ...GetRout
116116
}
117117

118118
// convertToModelsRoute converts routes.GetRouteByIDOKBody to models.Route
119-
func convertToModelsRoute(route *routes.GetRouteByIDOKBody) models.Route {
120-
return models.Route{
121-
Athlete: route.Athlete,
122-
CreatedAt: route.CreatedAt,
123-
Description: route.Description,
124-
Distance: route.Distance,
125-
ElevationGain: route.ElevationGain,
126-
EstimatedMovingTime: route.EstimatedMovingTime,
127-
ID: route.ID,
128-
IDStr: route.IDStr,
129-
Map: route.Map,
130-
Name: route.Name,
131-
Private: route.Private,
132-
Segments: route.Segments,
133-
Starred: route.Starred,
134-
SubType: route.SubType,
135-
Timestamp: route.Timestamp,
136-
Type: route.Type,
137-
UpdatedAt: route.UpdatedAt,
119+
func convertToModelsRoute(route *models.Route) models.Route {
120+
if route == nil {
121+
return models.Route{}
138122
}
123+
124+
return *route
139125
}

client/segments.go

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func (s segmentsService) ExploreSegments(ctx context.Context, bounds []float32,
7979
return models.ExplorerResponse{}, err
8080
}
8181

82-
return *resp.Payload, nil
82+
return convertToExplorerResponse(resp.GetPayload()), nil
8383
}
8484

8585
func (s segmentsService) GetLoggedInAthleteStarredSegments(ctx context.Context, opts ...GetLoggedInAthleteStarredSegmentsOpts) ([]models.SummarySegment, error) {
@@ -110,13 +110,7 @@ func (s segmentsService) GetLoggedInAthleteStarredSegments(ctx context.Context,
110110
return nil, err
111111
}
112112

113-
list := make([]models.SummarySegment, len(resp.Payload))
114-
115-
for i, v := range resp.Payload {
116-
list[i] = *v
117-
}
118-
119-
return list, nil
113+
return convertToListSummarySegment(resp.GetPayload()), nil
120114
}
121115

122116
func (s segmentsService) GetSegmentById(ctx context.Context, id int64) (models.DetailedSegment, error) {
@@ -131,7 +125,7 @@ func (s segmentsService) GetSegmentById(ctx context.Context, id int64) (models.D
131125
return models.DetailedSegment{}, err
132126
}
133127

134-
return *resp.Payload, nil
128+
return convertToDetailedSegment(resp.GetPayload()), nil
135129
}
136130

137131
func (s segmentsService) StarSegment(ctx context.Context, starred bool, id int64) (models.DetailedSegment, error) {
@@ -147,5 +141,43 @@ func (s segmentsService) StarSegment(ctx context.Context, starred bool, id int64
147141
return models.DetailedSegment{}, err
148142
}
149143

150-
return *resp.Payload, nil
144+
return convertToDetailedSegment(resp.GetPayload()), nil
145+
}
146+
147+
func convertToDetailedSegment(segment *models.DetailedSegment) models.DetailedSegment {
148+
if segment == nil {
149+
return models.DetailedSegment{}
150+
}
151+
152+
return *segment
153+
}
154+
155+
func convertToSummarySegment(segment *models.SummarySegment) models.SummarySegment {
156+
if segment == nil {
157+
return models.SummarySegment{}
158+
}
159+
160+
return *segment
161+
}
162+
163+
func convertToListSummarySegment(segments []*models.SummarySegment) []models.SummarySegment {
164+
if segments == nil {
165+
return nil
166+
}
167+
168+
list := make([]models.SummarySegment, len(segments))
169+
170+
for i, segment := range segments {
171+
list[i] = convertToSummarySegment(segment)
172+
}
173+
174+
return list
175+
}
176+
177+
func convertToExplorerResponse(response *models.ExplorerResponse) models.ExplorerResponse {
178+
if response == nil {
179+
return models.ExplorerResponse{}
180+
}
181+
182+
return *response
151183
}

0 commit comments

Comments
 (0)