mirror of https://github.com/portainer/portainer
refactor(docker/images): remove EndpointProvider from build [EE-5551] (#9020)
parent
7cb6e3f66a
commit
dfc1a7b1d7
|
@ -1,16 +1,13 @@
|
||||||
|
import { API_ENDPOINT_ENDPOINTS } from '@/constants';
|
||||||
import { jsonObjectsToArrayHandler } from './response/handlers';
|
import { jsonObjectsToArrayHandler } from './response/handlers';
|
||||||
|
|
||||||
angular.module('portainer.docker').factory('Build', [
|
angular.module('portainer.docker').factory('Build', [
|
||||||
'$resource',
|
'$resource',
|
||||||
'API_ENDPOINT_ENDPOINTS',
|
function BuildFactory($resource) {
|
||||||
'EndpointProvider',
|
|
||||||
function BuildFactory($resource, API_ENDPOINT_ENDPOINTS, EndpointProvider) {
|
|
||||||
'use strict';
|
'use strict';
|
||||||
return $resource(
|
return $resource(
|
||||||
API_ENDPOINT_ENDPOINTS + '/:endpointId/docker/build',
|
API_ENDPOINT_ENDPOINTS + '/:endpointId/docker/build',
|
||||||
{
|
{},
|
||||||
endpointId: EndpointProvider.endpointID,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
buildImage: {
|
buildImage: {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
|
|
@ -8,10 +8,10 @@ angular.module('portainer.docker').factory('BuildService', [
|
||||||
'use strict';
|
'use strict';
|
||||||
var service = {};
|
var service = {};
|
||||||
|
|
||||||
service.buildImageFromUpload = function (names, file, path) {
|
service.buildImageFromUpload = function (endpointID, names, file, path) {
|
||||||
var deferred = $q.defer();
|
var deferred = $q.defer();
|
||||||
|
|
||||||
FileUploadService.buildImage(names, file, path)
|
FileUploadService.buildImage(endpointID, names, file, path)
|
||||||
.then(function success(response) {
|
.then(function success(response) {
|
||||||
var model = new ImageBuildModel(response.data);
|
var model = new ImageBuildModel(response.data);
|
||||||
deferred.resolve(model);
|
deferred.resolve(model);
|
||||||
|
@ -23,8 +23,9 @@ angular.module('portainer.docker').factory('BuildService', [
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
service.buildImageFromURL = function (names, url, path) {
|
service.buildImageFromURL = function (endpointId, names, url, path) {
|
||||||
var params = {
|
var params = {
|
||||||
|
endpointId,
|
||||||
t: names,
|
t: names,
|
||||||
remote: url,
|
remote: url,
|
||||||
dockerfile: path,
|
dockerfile: path,
|
||||||
|
@ -44,8 +45,9 @@ angular.module('portainer.docker').factory('BuildService', [
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
service.buildImageFromDockerfileContent = function (names, content) {
|
service.buildImageFromDockerfileContent = function (endpointId, names, content) {
|
||||||
var params = {
|
var params = {
|
||||||
|
endpointId,
|
||||||
t: names,
|
t: names,
|
||||||
};
|
};
|
||||||
var payload = {
|
var payload = {
|
||||||
|
@ -66,13 +68,13 @@ angular.module('portainer.docker').factory('BuildService', [
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
service.buildImageFromDockerfileContentAndFiles = function (names, content, files) {
|
service.buildImageFromDockerfileContentAndFiles = function (endpointID, names, content, files) {
|
||||||
var dockerfile = new Blob([content], { type: 'text/plain' });
|
var dockerfile = new Blob([content], { type: 'text/plain' });
|
||||||
var uploadFiles = [dockerfile].concat(files);
|
var uploadFiles = [dockerfile].concat(files);
|
||||||
|
|
||||||
var deferred = $q.defer();
|
var deferred = $q.defer();
|
||||||
|
|
||||||
FileUploadService.buildImageFromFiles(names, uploadFiles)
|
FileUploadService.buildImageFromFiles(endpointID, names, uploadFiles)
|
||||||
.then(function success(response) {
|
.then(function success(response) {
|
||||||
var model = new ImageBuildModel(response.data);
|
var model = new ImageBuildModel(response.data);
|
||||||
deferred.resolve(model);
|
deferred.resolve(model);
|
||||||
|
|
|
@ -81,17 +81,17 @@ function BuildImageController($scope, $async, $window, BuildService, Notificatio
|
||||||
|
|
||||||
if (buildType === 'upload') {
|
if (buildType === 'upload') {
|
||||||
var file = $scope.formValues.UploadFile;
|
var file = $scope.formValues.UploadFile;
|
||||||
return BuildService.buildImageFromUpload(names, file, dockerfilePath);
|
return BuildService.buildImageFromUpload(endpoint.Id, names, file, dockerfilePath);
|
||||||
} else if (buildType === 'url') {
|
} else if (buildType === 'url') {
|
||||||
var URL = $scope.formValues.URL;
|
var URL = $scope.formValues.URL;
|
||||||
return BuildService.buildImageFromURL(names, URL, dockerfilePath);
|
return BuildService.buildImageFromURL(endpoint.Id, names, URL, dockerfilePath);
|
||||||
} else {
|
} else {
|
||||||
var dockerfileContent = $scope.formValues.DockerFileContent;
|
var dockerfileContent = $scope.formValues.DockerFileContent;
|
||||||
if ($scope.formValues.AdditionalFiles.length === 0) {
|
if ($scope.formValues.AdditionalFiles.length === 0) {
|
||||||
return BuildService.buildImageFromDockerfileContent(names, dockerfileContent);
|
return BuildService.buildImageFromDockerfileContent(endpoint.Id, names, dockerfileContent);
|
||||||
} else {
|
} else {
|
||||||
var additionalFiles = $scope.formValues.AdditionalFiles;
|
var additionalFiles = $scope.formValues.AdditionalFiles;
|
||||||
return BuildService.buildImageFromDockerfileContentAndFiles(names, dockerfileContent, additionalFiles);
|
return BuildService.buildImageFromDockerfileContentAndFiles(endpoint.Id, names, dockerfileContent, additionalFiles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,9 @@ angular.module('portainer.app').factory('FileUploadService', [
|
||||||
return Upload.upload({ url: url, data: { file: file } });
|
return Upload.upload({ url: url, data: { file: file } });
|
||||||
}
|
}
|
||||||
|
|
||||||
service.buildImage = function (names, file, path) {
|
service.buildImage = function (endpointID, names, file, path) {
|
||||||
var endpointID = EndpointProvider.endpointID();
|
|
||||||
return Upload.http({
|
return Upload.http({
|
||||||
url: 'api/endpoints/' + endpointID + '/docker/build',
|
url: `api/endpoints/${endpointID}/docker/build`,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': file.type,
|
'Content-Type': file.type,
|
||||||
},
|
},
|
||||||
|
@ -33,10 +32,9 @@ angular.module('portainer.app').factory('FileUploadService', [
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
service.buildImageFromFiles = function (names, files) {
|
service.buildImageFromFiles = function (endpointID, names, files) {
|
||||||
var endpointID = EndpointProvider.endpointID();
|
|
||||||
return Upload.upload({
|
return Upload.upload({
|
||||||
url: 'api/endpoints/' + endpointID + '/docker/build',
|
url: `api/endpoints/${endpointID}/docker/build`,
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'multipart/form-data',
|
'Content-Type': 'multipart/form-data',
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue