1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-26 00:39:41 +02:00
portainer/app/docker/services/taskService.js
LP B 6a8e6734f3
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
feat(app): limit the docker API version supported by the frontend (#11855)
2024-06-10 20:54:31 +02:00

57 lines
1.8 KiB
JavaScript

import { getTask } from '@/react/docker/tasks/queries/useTask';
import { getTasks } from '@/react/docker/proxy/queries/tasks/useTasks';
import { getTaskLogs } from '@/react/docker/tasks/queries/useTaskLogs';
import { TaskViewModel } from '../models/task';
import { formatLogs } from '../helpers/logHelper';
angular.module('portainer.docker').factory('TaskService', TaskServiceFactory);
/* @ngInject */
function TaskServiceFactory(AngularToReact) {
const { useAxios, injectEnvironmentId } = AngularToReact;
return {
task: useAxios(injectEnvironmentId(taskAngularJS)), // task edit
tasks: useAxios(injectEnvironmentId(tasksAngularJS)), // services list + service edit + swarm visualizer + stack edit
logs: useAxios(injectEnvironmentId(taskLogsAngularJS)), // task logs
};
/**
* @param {EnvironmentId} environmentId Injected
* @param {TaskId} id
*/
async function taskAngularJS(environmentId, id) {
const data = await getTask(environmentId, id);
return new TaskViewModel(data);
}
/**
* @param {EnvironmentId} environmentId Injected
* @param {*} filters
*/
async function tasksAngularJS(environmentId, filters) {
const data = await getTasks(environmentId, filters);
return data.map((t) => new TaskViewModel(t));
}
/**
* @param {EnvironmentId} environmentId
* @param {TaskId} id
* @param {boolean?} stdout
* @param {boolean?} stderr
* @param {boolean?} timestamps
* @param {number?} since
* @param {number?} tail
*/
async function taskLogsAngularJS(environmentId, id, stdout = false, stderr = false, timestamps = false, since = 0, tail = 'all') {
const data = await getTaskLogs(environmentId, id, {
since,
stderr,
stdout,
tail,
timestamps,
});
return formatLogs(data, { stripHeaders: true, withTimestamps: !!timestamps });
}
}