github.com/argoproj/argo-cd/v2@v2.10.9/ui/src/app/shared/services/clusters-service.ts (about) 1 import * as models from '../models'; 2 import requests from './requests'; 3 4 export class ClustersService { 5 public list(): Promise<models.Cluster[]> { 6 return requests 7 .get('/clusters') 8 .then(res => res.body as models.ClusterList) 9 .then(list => list.items || []); 10 } 11 12 public get(url: string, name: string): Promise<models.Cluster> { 13 const requestUrl = `/clusters/${url ? encodeURIComponent(url) : encodeURIComponent(name)}?id.type=${url ? 'url' : 'name_escaped'}`; 14 return requests.get(requestUrl).then(res => res.body as models.Cluster); 15 } 16 17 public update(cluster: models.Cluster, ...paths: string[]): Promise<models.Cluster> { 18 return requests 19 .put(`/clusters/${encodeURIComponent(cluster.server)}`) 20 .query({updatedFields: paths}) 21 .send(cluster) 22 .then(res => res.body as models.Cluster); 23 } 24 25 public invalidateCache(url: string): Promise<models.Cluster> { 26 return requests 27 .post(`/clusters/${encodeURIComponent(url)}/invalidate-cache`) 28 .send({}) 29 .then(res => res.body as models.Cluster); 30 } 31 32 public delete(server: string): Promise<models.Cluster> { 33 return requests 34 .delete(`/clusters/${encodeURIComponent(server)}`) 35 .send() 36 .then(res => res.body as models.Cluster); 37 } 38 }