diff --git a/servers/servers.go b/servers/servers.go index 353e7a4..87fe68a 100644 --- a/servers/servers.go +++ b/servers/servers.go @@ -118,13 +118,22 @@ func convertLabelsToMap(v any) (map[string]string, error) { return x, nil } +type CreateServerRequest struct { + ImageId string `json:"image_id"` +} + func (con Connection) CreateServer(ctx *gin.Context) { claims, exists := ctx.Get("claims") if !exists { ctx.AbortWithStatus(500) } - imageId := ctx.Param("image_id") - imageList, err := con.apiClient.ImageList(context.Background(), image.ListOptions{All: true, Filters: filters.NewArgs(filters.Arg("reference", imageId))}) + var request CreateServerRequest + err := json.NewDecoder(ctx.Request.Body).Decode(&request) + if err != nil { + ctx.AbortWithError(400, err) + } + + imageList, err := con.apiClient.ImageList(context.Background(), image.ListOptions{All: true, Filters: filters.NewArgs(filters.Arg("reference", request.ImageId))}) if err != nil { ctx.AbortWithError(400, err) }