From 030b3d7c4da654043a36df019113aad7b96a05db Mon Sep 17 00:00:00 2001 From: LP B Date: Thu, 14 Apr 2022 18:44:04 +0200 Subject: [PATCH] fix(edge-jobs): HTTP 404 on file upload (#6671) * fix(edge-jobs): HTTP 404 on file upload * fix(edge-jobs): state 'edge job' in message on edge job removal instead of 'stack' * fix(api/edge-jobs): save changes on edge-jobs update --- api/http/handler/edgejobs/edgejob_create.go | 2 +- api/http/handler/edgejobs/edgejob_update.go | 1 + app/edge/views/edge-jobs/edgeJobsView/edgeJobsViewController.js | 2 +- app/portainer/services/fileUpload.js | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/http/handler/edgejobs/edgejob_create.go b/api/http/handler/edgejobs/edgejob_create.go index 392a930e5..33caf32f0 100644 --- a/api/http/handler/edgejobs/edgejob_create.go +++ b/api/http/handler/edgejobs/edgejob_create.go @@ -119,7 +119,7 @@ func (payload *edgeJobCreateFromFilePayload) Validate(r *http.Request) error { payload.CronExpression = cronExpression var endpoints []portainer.EndpointID - err = request.RetrieveMultiPartFormJSONValue(r, "Environments", &endpoints, false) + err = request.RetrieveMultiPartFormJSONValue(r, "Endpoints", &endpoints, false) if err != nil { return errors.New("Invalid environments") } diff --git a/api/http/handler/edgejobs/edgejob_update.go b/api/http/handler/edgejobs/edgejob_update.go index 2e1f6106b..bb4858875 100644 --- a/api/http/handler/edgejobs/edgejob_update.go +++ b/api/http/handler/edgejobs/edgejob_update.go @@ -114,6 +114,7 @@ func (handler *Handler) updateEdgeSchedule(edgeJob *portainer.EdgeJob, payload * } if payload.FileContent != nil && *payload.FileContent != string(fileContent) { + fileContent = []byte(*payload.FileContent) _, err := handler.FileService.StoreEdgeJobFileFromBytes(strconv.Itoa(int(edgeJob.ID)), fileContent) if err != nil { return err diff --git a/app/edge/views/edge-jobs/edgeJobsView/edgeJobsViewController.js b/app/edge/views/edge-jobs/edgeJobsView/edgeJobsViewController.js index d047e4e77..bda1d3a4a 100644 --- a/app/edge/views/edge-jobs/edgeJobsView/edgeJobsViewController.js +++ b/app/edge/views/edge-jobs/edgeJobsView/edgeJobsViewController.js @@ -31,7 +31,7 @@ export class EdgeJobsViewController { for (let edgeJob of edgeJobs) { try { await this.EdgeJobService.remove(edgeJob.Id); - this.Notifications.success('Stack successfully removed', edgeJob.Name); + this.Notifications.success('Edge job successfully removed', edgeJob.Name); _.remove(this.edgeJobs, edgeJob); } catch (err) { this.Notifications.error('Failure', err, 'Unable to remove Edge job ' + edgeJob.Name); diff --git a/app/portainer/services/fileUpload.js b/app/portainer/services/fileUpload.js index a7696b47d..128e0804a 100644 --- a/app/portainer/services/fileUpload.js +++ b/app/portainer/services/fileUpload.js @@ -48,7 +48,7 @@ angular.module('portainer.app').factory('FileUploadService', [ service.createSchedule = function (payload) { return Upload.upload({ - url: 'api/schedules?method=file', + url: 'api/edge_jobs?method=file', data: { file: payload.File, Name: payload.Name,