feat(server): bump generated api code and implement upcoming training date handlers
This commit is contained in:
parent
97d6532f71
commit
401cc5330e
2 changed files with 267 additions and 29 deletions
|
|
@ -380,3 +380,67 @@ func (h *APIHandlers) UpdateTrainingDate(ctx context.Context, req UpdateTraining
|
|||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (h *APIHandlers) ListAllUpcomingTrainingDates(ctx context.Context, req ListAllUpcomingTrainingDatesRequestObject) (ListAllUpcomingTrainingDatesResponseObject, error) {
|
||||
trainingDates, err := h.trainingDateRepository.FindAllUpcoming()
|
||||
if err != nil {
|
||||
return ListAllUpcomingTrainingDates500ApplicationProblemPlusJSONResponse{
|
||||
InternalErrorApplicationProblemPlusJSONResponse: InternalErrorApplicationProblemPlusJSONResponse{
|
||||
Status: fiber.StatusInternalServerError,
|
||||
Title: "Internal Server Error: Failed to list upcoming training dates",
|
||||
Detail: err.Error(),
|
||||
}}, nil
|
||||
}
|
||||
|
||||
data := make([]TrainingDate, len(trainingDates))
|
||||
for idx, td := range trainingDates {
|
||||
data[idx] = TrainingDate{
|
||||
Id: td.ID,
|
||||
Date: td.Date,
|
||||
StartTime: td.StartTime.Format(trainingDateStartTimeFormat),
|
||||
Days: td.Days,
|
||||
IsOnline: td.IsOnline,
|
||||
Location: td.Location,
|
||||
Address: td.Address,
|
||||
Capacity: td.Capacity,
|
||||
Price: TrainingDatePrice{
|
||||
Amount: td.Price.Amount,
|
||||
Currency: td.Price.Currency,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
return ListAllUpcomingTrainingDates200JSONResponse(data), nil
|
||||
}
|
||||
|
||||
func (h *APIHandlers) ListTrainingUpcomingDates(ctx context.Context, req ListTrainingUpcomingDatesRequestObject) (ListTrainingUpcomingDatesResponseObject, error) {
|
||||
trainingDates, err := h.trainingDateRepository.FindUpcomingByTrainingID(req.TrainingID)
|
||||
if err != nil {
|
||||
return ListTrainingUpcomingDates500ApplicationProblemPlusJSONResponse{
|
||||
InternalErrorApplicationProblemPlusJSONResponse: InternalErrorApplicationProblemPlusJSONResponse{
|
||||
Status: fiber.StatusInternalServerError,
|
||||
Title: "Internal Server Error: Failed to list all upcoming training dates",
|
||||
Detail: err.Error(),
|
||||
}}, nil
|
||||
}
|
||||
|
||||
data := make([]TrainingDate, len(trainingDates))
|
||||
for idx, td := range trainingDates {
|
||||
data[idx] = TrainingDate{
|
||||
Id: td.ID,
|
||||
Date: td.Date,
|
||||
StartTime: td.StartTime.Format(trainingDateStartTimeFormat),
|
||||
Days: td.Days,
|
||||
IsOnline: td.IsOnline,
|
||||
Location: td.Location,
|
||||
Address: td.Address,
|
||||
Capacity: td.Capacity,
|
||||
Price: TrainingDatePrice{
|
||||
Amount: td.Price.Amount,
|
||||
Currency: td.Price.Currency,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
return ListTrainingUpcomingDates200JSONResponse(data), nil
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue