1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-18 21:09:40 +02:00
portainer/app/docker/services/networkService.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
2.5 KiB
JavaScript

import { createNetwork } from '@/react/docker/networks/queries/useCreateNetworkMutation';
import { getNetwork } from '@/react/docker/networks/queries/useNetwork';
import { getNetworks } from '@/react/docker/networks/queries/useNetworks';
import { deleteNetwork } from '@/react/docker/networks/queries/useDeleteNetworkMutation';
import { disconnectContainer } from '@/react/docker/networks/queries/useDisconnectContainerMutation';
import { connectContainer } from '@/react/docker/networks/queries/useConnectContainerMutation';
import { NetworkViewModel } from '../models/network';
angular.module('portainer.docker').factory('NetworkService', NetworkServiceFactory);
/* @ngInject */
function NetworkServiceFactory(AngularToReact) {
const { useAxios, injectEnvironmentId } = AngularToReact;
return {
create: useAxios(injectEnvironmentId(createNetwork)), // create network
network: useAxios(injectEnvironmentId(networkAngularJS)), // service edit
networks: useAxios(injectEnvironmentId(networksAngularJS)), // macvlan form + container edit + dashboard + service create + service edit + custom templates list + templates list
remove: useAxios(injectEnvironmentId(deleteNetwork)), // networks list
disconnectContainer: useAxios(injectEnvironmentId(disconnectContainer)), // container edit
connectContainer: useAxios(injectEnvironmentId(connectContainerAngularJS)), // container edit
};
/**
* @param {EnvironmentId} environmentId filled by AngularToReact
* @param {NetworkId} networkId
* @param {string?} nodeName
* @returns NetworkViewModel
*/
async function networkAngularJS(environmentId, networkId, nodeName) {
const data = await getNetwork(environmentId, networkId, { nodeName });
return new NetworkViewModel(data);
}
/**
* @param {EnvironmentId} environmentId filled by AngularToReact
* @param {boolean?} localNetworks
* @param {boolean?} swarmNetworks
* @param {boolean?} swarmAttachableNetworks
* @param {*} filters
* @returns NetworkViewModel[]
*/
async function networksAngularJS(environmentId, local, swarm, swarmAttachable, filters) {
const data = await getNetworks(environmentId, { local, swarm, swarmAttachable, filters });
return data.map((n) => new NetworkViewModel(n));
}
/**
* @param {EnvironmentId} environmentId filled by AngularToReact
* @param {NetworkId} networkId
* @param {ContainerId} containerId
*/
async function connectContainerAngularJS(environmentId, networkId, containerId) {
return connectContainer({ environmentId, containerId, networkId });
}
}