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  }