1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-29 18:29:44 +02:00

feat(app): limit the docker API version supported by the frontend (#12295)
Some checks failed
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
ci / build_images (map[arch:arm platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Has been cancelled
/ triage (push) Has been cancelled
Lint / Run linters (push) Has been cancelled
Test / test-client (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:linux]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
Test / test-server (map[arch:arm64 platform:linux]) (push) Has been cancelled
ci / build_manifests (push) Has been cancelled

This commit is contained in:
LP B 2024-10-08 17:13:14 +02:00 committed by GitHub
parent 8cbd23c059
commit ac5491e864
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
227 changed files with 4702 additions and 3411 deletions

View file

@ -1,91 +1,65 @@
import { ImageBuildModel } from '../models/image';
import {
buildImageFromDockerfileContent,
buildImageFromDockerfileContentAndFiles,
buildImageFromURL,
buildImageFromUpload,
} from '@/react/docker/images/queries/useBuildImageMutation';
angular.module('portainer.docker').factory('BuildService', [
'$q',
'Build',
'FileUploadService',
function BuildServiceFactory($q, Build, FileUploadService) {
'use strict';
var service = {};
import { ImageBuildModel } from '../models/build';
service.buildImageFromUpload = function (endpointID, names, file, path) {
var deferred = $q.defer();
angular.module('portainer.docker').factory('BuildService', BuildServiceFactory);
FileUploadService.buildImage(endpointID, names, file, path)
.then(function success(response) {
var model = new ImageBuildModel(response.data);
deferred.resolve(model);
})
.catch(function error(err) {
deferred.reject(err);
});
/* @ngInject */
function BuildServiceFactory(AngularToReact) {
const { useAxios } = AngularToReact;
return deferred.promise;
};
return {
buildImageFromUpload: useAxios(buildImageFromUploadAngularJS), // build image
buildImageFromURL: useAxios(buildImageFromURLAngularJS), // build image
buildImageFromDockerfileContent: useAxios(buildImageFromDockerfileContentAngularJS), // build image
buildImageFromDockerfileContentAndFiles: useAxios(buildImageFromDockerfileContentAndFilesAngularJS), // build image
};
service.buildImageFromURL = function (endpointId, names, url, path) {
var params = {
endpointId,
t: names,
remote: url,
dockerfile: path,
};
/**
* @param {EnvironmentId} environmentId
* @param {string[]} names
* @param {File} file
* @param {string} path
*/
async function buildImageFromUploadAngularJS(environmentId, names, file, path) {
const data = await buildImageFromUpload(environmentId, names, file, path);
return new ImageBuildModel(data);
}
var deferred = $q.defer();
/**
* @param {EnvironmentId} environmentId
* @param {string[]} names
* @param {string} url
* @param {string} path
*/
async function buildImageFromURLAngularJS(environmentId, names, url, path) {
const data = await buildImageFromURL(environmentId, names, url, path);
return new ImageBuildModel(data);
}
Build.buildImage(params, {})
.$promise.then(function success(data) {
var model = new ImageBuildModel(data);
deferred.resolve(model);
})
.catch(function error(err) {
deferred.reject(err);
});
/**
* @param {EnvironmentId} environmentId
* @param {string[]} names
* @param {string} content
*/
async function buildImageFromDockerfileContentAngularJS(environmentId, names, content) {
const data = await buildImageFromDockerfileContent(environmentId, names, content);
return new ImageBuildModel(data);
}
return deferred.promise;
};
service.buildImageFromDockerfileContent = function (endpointId, names, content) {
var params = {
endpointId,
t: names,
};
var payload = {
content: content,
};
var deferred = $q.defer();
Build.buildImageOverride(params, payload)
.$promise.then(function success(data) {
var model = new ImageBuildModel(data);
deferred.resolve(model);
})
.catch(function error(err) {
deferred.reject(err);
});
return deferred.promise;
};
service.buildImageFromDockerfileContentAndFiles = function (endpointID, names, content, files) {
var dockerfile = new Blob([content], { type: 'text/plain' });
var uploadFiles = [dockerfile].concat(files);
var deferred = $q.defer();
FileUploadService.buildImageFromFiles(endpointID, names, uploadFiles)
.then(function success(response) {
var model = new ImageBuildModel(response.data);
deferred.resolve(model);
})
.catch(function error(err) {
deferred.reject(err);
});
return deferred.promise;
};
return service;
},
]);
/**
* @param {EnvironmentId} environmentId
* @param {string[]} names
* @param {string} content
* @param {File[]} files
*/
async function buildImageFromDockerfileContentAndFilesAngularJS(environmentId, names, content, files) {
const data = await buildImageFromDockerfileContentAndFiles(environmentId, names, content, files);
return new ImageBuildModel(data);
}
}