|
|
@@ -13,174 +13,112 @@ import { StorageType } from './types';
|
|
|
|
|
|
const checkAuth = baseApi('GET', '/api/auth/check');
|
|
|
|
|
|
-const registerUser = baseApi<{
|
|
|
- email: string,
|
|
|
- password: string
|
|
|
-}>('POST', '/api/users');
|
|
|
-
|
|
|
-const logInUser = baseApi<{
|
|
|
- email: string,
|
|
|
- password: string
|
|
|
-}>('POST', '/api/login');
|
|
|
-
|
|
|
-const logOutUser = baseApi('POST', '/api/logout');
|
|
|
-
|
|
|
-const getUser = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/users/${pathParams.id}`;
|
|
|
-});
|
|
|
-
|
|
|
-const updateUser = baseApi<{
|
|
|
- rawKubeConfig?: string,
|
|
|
- allowedContexts?: string[]
|
|
|
-}, { id: number }>('PUT', pathParams => {
|
|
|
- return `/api/users/${pathParams.id}`;
|
|
|
-});
|
|
|
-
|
|
|
-const getClusters = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/clusters`;
|
|
|
-});
|
|
|
-
|
|
|
-const getCharts = baseApi<{
|
|
|
- namespace: string,
|
|
|
- cluster_id: number,
|
|
|
- storage: StorageType,
|
|
|
- limit: number,
|
|
|
- skip: number,
|
|
|
- byDate: boolean,
|
|
|
- statusFilter: string[]
|
|
|
-}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/releases`;
|
|
|
-});
|
|
|
-
|
|
|
-const getChart = baseApi<{
|
|
|
- namespace: string,
|
|
|
- cluster_id: number,
|
|
|
- storage: StorageType
|
|
|
-}, { id: number, name: string, revision: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/releases/${pathParams.name}/${pathParams.revision}`;
|
|
|
-});
|
|
|
-
|
|
|
-const getChartComponents = baseApi<{
|
|
|
- namespace: string,
|
|
|
- cluster_id: number,
|
|
|
- storage: StorageType
|
|
|
-}, { id: number, name: string, revision: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/releases/${pathParams.name}/${pathParams.revision}/components`;
|
|
|
-});
|
|
|
-
|
|
|
-const getChartControllers = baseApi<{
|
|
|
- namespace: string,
|
|
|
- cluster_id: number,
|
|
|
- storage: StorageType
|
|
|
-}, { id: number, name: string, revision: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/releases/${pathParams.name}/${pathParams.revision}/controllers`;
|
|
|
-});
|
|
|
-
|
|
|
-const getNamespaces = baseApi<{
|
|
|
- cluster_id: number,
|
|
|
-}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/k8s/namespaces`;
|
|
|
-});
|
|
|
-
|
|
|
-const getMatchingPods = baseApi<{
|
|
|
- cluster_id: number,
|
|
|
- selectors: string[]
|
|
|
-}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/k8s/pods`;
|
|
|
+const createAWSIntegration = baseApi<{
|
|
|
+ aws_region: string,
|
|
|
+ aws_cluster_id?: string,
|
|
|
+ aws_access_key_id: string,
|
|
|
+ aws_secret_access_key: string,
|
|
|
+}, { id: number }>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/integrations/aws`;
|
|
|
});
|
|
|
|
|
|
-const getIngress = baseApi<{
|
|
|
- cluster_id: number,
|
|
|
-}, { name: string, namespace: string, id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/k8s/${pathParams.namespace}/ingress/${pathParams.name}`;
|
|
|
+const createDOCR = baseApi<{
|
|
|
+ do_integration_id: number,
|
|
|
+ docr_name: string,
|
|
|
+ docr_subscription_tier: string,
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+}>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/provision/docr`;
|
|
|
});
|
|
|
|
|
|
-const getInvites = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/invites`;
|
|
|
+const createDOKS = baseApi<{
|
|
|
+ do_integration_id: number,
|
|
|
+ doks_name: string,
|
|
|
+ do_region: string,
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+}>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/provision/doks`;
|
|
|
});
|
|
|
|
|
|
-const getRevisions = baseApi<{
|
|
|
- namespace: string,
|
|
|
- cluster_id: number,
|
|
|
- storage: StorageType
|
|
|
-}, { id: number, name: string }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/releases/${pathParams.name}/history`;
|
|
|
+const createECR = baseApi<{
|
|
|
+ name: string,
|
|
|
+ aws_integration_id: string,
|
|
|
+}, { id: number }>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/registries`;
|
|
|
});
|
|
|
|
|
|
-const rollbackChart = baseApi<{
|
|
|
- namespace: string,
|
|
|
- storage: StorageType,
|
|
|
- revision: number
|
|
|
+const createGCPIntegration = baseApi<{
|
|
|
+ gcp_region: string,
|
|
|
+ gcp_key_data: string,
|
|
|
+ gcp_project_id: string,
|
|
|
}, {
|
|
|
- id: number,
|
|
|
- name: string,
|
|
|
- cluster_id: number,
|
|
|
+ project_id: number,
|
|
|
}>('POST', pathParams => {
|
|
|
- let { id, name, cluster_id } = pathParams;
|
|
|
- return `/api/projects/${id}/releases/${name}/rollback?cluster_id=${cluster_id}`;
|
|
|
+ return `/api/projects/${pathParams.project_id}/integrations/gcp`;
|
|
|
});
|
|
|
|
|
|
-const upgradeChartValues = baseApi<{
|
|
|
- namespace: string,
|
|
|
- storage: StorageType,
|
|
|
- values: string
|
|
|
+const createGCR = baseApi<{
|
|
|
+ gcp_integration_id: number,
|
|
|
}, {
|
|
|
- id: number,
|
|
|
- name: string,
|
|
|
- cluster_id: number,
|
|
|
+ project_id: number,
|
|
|
}>('POST', pathParams => {
|
|
|
- let { id, name, cluster_id } = pathParams;
|
|
|
- return `/api/projects/${id}/releases/${name}/upgrade?cluster_id=${cluster_id}`;
|
|
|
-});
|
|
|
-
|
|
|
-const getTemplates = baseApi('GET', '/api/templates');
|
|
|
-
|
|
|
-const getTemplateInfo = baseApi<{}, { name: string, version: string }>('GET', pathParams => {
|
|
|
- return `/api/templates/${pathParams.name}/${pathParams.version}`;
|
|
|
+ return `/api/projects/${pathParams.project_id}/provision/gcr`;
|
|
|
});
|
|
|
|
|
|
-const getRepos = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/repos`;
|
|
|
-});
|
|
|
+const createGHAction = baseApi<{
|
|
|
+ git_repo: string,
|
|
|
+ image_repo_uri: string,
|
|
|
+ dockerfile_path: string,
|
|
|
+ git_repo_id: number,
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+ CLUSTER_ID: number,
|
|
|
+ RELEASE_NAME: string,
|
|
|
+ RELEASE_NAMESPACE: string,
|
|
|
+}>('POST', pathParams => {
|
|
|
+ let { project_id, CLUSTER_ID, RELEASE_NAME, RELEASE_NAMESPACE } = pathParams;
|
|
|
+ return `/api/projects/${project_id}/ci/actions?cluster_id=${CLUSTER_ID}&name=${RELEASE_NAME}&namespace=${RELEASE_NAMESPACE}`;
|
|
|
+})
|
|
|
|
|
|
-const getBranches = baseApi<{}, { kind: string, repo: string }>('GET', pathParams => {
|
|
|
- return `/api/repos/${pathParams.kind}/${pathParams.repo}/branches`;
|
|
|
+const createGKE = baseApi<{
|
|
|
+ gcp_integration_id: number,
|
|
|
+ gke_name: string,
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+}>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/provision/gke`;
|
|
|
});
|
|
|
|
|
|
-const getBranchContents = baseApi<{
|
|
|
- dir: string
|
|
|
+const createInvite = baseApi<{
|
|
|
+ email: string
|
|
|
}, {
|
|
|
- kind: string,
|
|
|
- repo: string,
|
|
|
- branch: string
|
|
|
-}>('GET', pathParams => {
|
|
|
- return `/api/repos/github/${pathParams.repo}/${pathParams.branch}/contents`;
|
|
|
+ id: number
|
|
|
+}>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/invites`;
|
|
|
});
|
|
|
|
|
|
-const getProjects = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/users/${pathParams.id}/projects`;
|
|
|
+const createProject = baseApi<{ name: string }, {}>('POST', pathParams => {
|
|
|
+ return `/api/projects`;
|
|
|
});
|
|
|
|
|
|
-const getReleaseToken = baseApi<{
|
|
|
- namespace: string,
|
|
|
+const deleteCluster = baseApi<{
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
cluster_id: number,
|
|
|
- storage: StorageType,
|
|
|
-}, { name: string, id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/releases/${pathParams.name}/webhook_token`;
|
|
|
+}>('DELETE', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/clusters/${pathParams.cluster_id}`;
|
|
|
});
|
|
|
|
|
|
-const createProject = baseApi<{ name: string }, {}>('POST', pathParams => {
|
|
|
- return `/api/projects`;
|
|
|
+const deleteInvite = baseApi<{}, { id: number, invId: number }>('DELETE', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/invites/${pathParams.invId}`;
|
|
|
});
|
|
|
|
|
|
const deleteProject = baseApi<{}, { id: number }>('DELETE', pathParams => {
|
|
|
return `/api/projects/${pathParams.id}`;
|
|
|
});
|
|
|
|
|
|
-const deleteInvite = baseApi<{}, { id: number, invId: number }>('DELETE', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/invites/${pathParams.invId}`;
|
|
|
-});
|
|
|
-
|
|
|
const deployTemplate = baseApi<{
|
|
|
templateName: string,
|
|
|
imageURL?: string,
|
|
|
@@ -198,64 +136,94 @@ const deployTemplate = baseApi<{
|
|
|
return `/api/projects/${id}/deploy/${name}/${version}?cluster_id=${cluster_id}`;
|
|
|
});
|
|
|
|
|
|
-const uninstallTemplate = baseApi<{
|
|
|
+const destroyCluster = baseApi<{
|
|
|
+ eks_name: string,
|
|
|
}, {
|
|
|
- id: number,
|
|
|
- name: string,
|
|
|
- cluster_id: number,
|
|
|
- namespace: string,
|
|
|
- storage: StorageType,
|
|
|
+ project_id: number,
|
|
|
+ infra_id: number,
|
|
|
}>('POST', pathParams => {
|
|
|
- let { id, name, cluster_id, storage, namespace } = pathParams;
|
|
|
- return `/api/projects/${id}/deploy/${name}?cluster_id=${cluster_id}&namespace=${namespace}&storage=${storage}`;
|
|
|
+ return `/api/projects/${pathParams.project_id}/infra/${pathParams.infra_id}/eks/destroy`;
|
|
|
});
|
|
|
|
|
|
-const getClusterIntegrations = baseApi('GET', '/api/integrations/cluster');
|
|
|
-
|
|
|
-const getRegistryIntegrations = baseApi('GET', '/api/integrations/registry');
|
|
|
+const getBranchContents = baseApi<{
|
|
|
+ dir: string
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+ git_repo_id: number
|
|
|
+ kind: string,
|
|
|
+ owner: string,
|
|
|
+ name: string,
|
|
|
+ branch: string
|
|
|
+}>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/gitrepos/${pathParams.git_repo_id}/repos/${pathParams.kind}/${pathParams.owner}/${pathParams.name}/${pathParams.branch}/contents`;
|
|
|
+});
|
|
|
|
|
|
-const getRepoIntegrations = baseApi('GET', '/api/integrations/repo');
|
|
|
+const getBranches = baseApi<{
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+ git_repo_id: number,
|
|
|
+ kind: string,
|
|
|
+ owner: string,
|
|
|
+ name: string
|
|
|
+}>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/gitrepos/${pathParams.git_repo_id}/repos/${pathParams.kind}/${pathParams.owner}/${pathParams.name}/branches`;
|
|
|
+});
|
|
|
|
|
|
-const getProjectClusters = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/clusters`;
|
|
|
+const getChart = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ cluster_id: number,
|
|
|
+ storage: StorageType
|
|
|
+}, { id: number, name: string, revision: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/releases/${pathParams.name}/${pathParams.revision}`;
|
|
|
});
|
|
|
|
|
|
-const getProjectRegistries = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/registries`;
|
|
|
+const getCharts = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ cluster_id: number,
|
|
|
+ storage: StorageType,
|
|
|
+ limit: number,
|
|
|
+ skip: number,
|
|
|
+ byDate: boolean,
|
|
|
+ statusFilter: string[]
|
|
|
+}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/releases`;
|
|
|
});
|
|
|
|
|
|
-const getProjectRepos = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/repos`;
|
|
|
+const getChartComponents = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ cluster_id: number,
|
|
|
+ storage: StorageType
|
|
|
+}, { id: number, name: string, revision: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/releases/${pathParams.name}/${pathParams.revision}/components`;
|
|
|
});
|
|
|
|
|
|
-const createAWSIntegration = baseApi<{
|
|
|
- aws_region: string,
|
|
|
- aws_cluster_id?: string,
|
|
|
- aws_access_key_id: string,
|
|
|
- aws_secret_access_key: string,
|
|
|
-}, { id: number }>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/integrations/aws`;
|
|
|
+const getChartControllers = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ cluster_id: number,
|
|
|
+ storage: StorageType
|
|
|
+}, { id: number, name: string, revision: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/releases/${pathParams.name}/${pathParams.revision}/controllers`;
|
|
|
});
|
|
|
|
|
|
-const provisionECR = baseApi<{
|
|
|
- ecr_name: string,
|
|
|
- aws_integration_id: string,
|
|
|
-}, { id: number }>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/provision/ecr`;
|
|
|
+const getClusterIntegrations = baseApi('GET', '/api/integrations/cluster');
|
|
|
+
|
|
|
+const getClusters = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/clusters`;
|
|
|
});
|
|
|
|
|
|
-const provisionEKS = baseApi<{
|
|
|
- eks_name: string,
|
|
|
- aws_integration_id: string,
|
|
|
-}, { id: number }>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/provision/eks`;
|
|
|
+const getGitRepoList = baseApi<{
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+ git_repo_id: number,
|
|
|
+}>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/gitrepos/${pathParams.git_repo_id}/repos`;
|
|
|
});
|
|
|
|
|
|
-const createECR = baseApi<{
|
|
|
- name: string,
|
|
|
- aws_integration_id: string,
|
|
|
-}, { id: number }>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/registries`;
|
|
|
+const getGitRepos = baseApi<{
|
|
|
+}, {
|
|
|
+ project_id: number,
|
|
|
+}>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.project_id}/gitrepos`;
|
|
|
});
|
|
|
|
|
|
const getImageRepos = baseApi<{
|
|
|
@@ -275,25 +243,67 @@ const getImageTags = baseApi<{
|
|
|
return `/api/projects/${pathParams.project_id}/registries/${pathParams.registry_id}/repositories/${pathParams.repo_name}`;
|
|
|
});
|
|
|
|
|
|
-const linkGithubProject = baseApi<{
|
|
|
+const getInfra = baseApi<{
|
|
|
}, {
|
|
|
project_id: number,
|
|
|
}>('GET', pathParams => {
|
|
|
- return `/api/oauth/projects/${pathParams.project_id}/github`;
|
|
|
+ return `/api/projects/${pathParams.project_id}/infra`;
|
|
|
});
|
|
|
|
|
|
-const getGitRepos = baseApi<{
|
|
|
-}, {
|
|
|
- project_id: number,
|
|
|
-}>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/gitrepos`;
|
|
|
+const getIngress = baseApi<{
|
|
|
+ cluster_id: number,
|
|
|
+}, { name: string, namespace: string, id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/k8s/${pathParams.namespace}/ingress/${pathParams.name}`;
|
|
|
});
|
|
|
|
|
|
-const getInfra = baseApi<{
|
|
|
+const getInvites = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/invites`;
|
|
|
+});
|
|
|
+
|
|
|
+const getMatchingPods = baseApi<{
|
|
|
+ cluster_id: number,
|
|
|
+ selectors: string[]
|
|
|
+}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/k8s/pods`;
|
|
|
+});
|
|
|
+
|
|
|
+const getNamespaces = baseApi<{
|
|
|
+ cluster_id: number,
|
|
|
+}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/k8s/namespaces`;
|
|
|
+});
|
|
|
+
|
|
|
+const getOAuthIds = baseApi<{
|
|
|
}, {
|
|
|
project_id: number,
|
|
|
}>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/infra`;
|
|
|
+ return `/api/projects/${pathParams.project_id}/integrations/oauth`;
|
|
|
+});
|
|
|
+
|
|
|
+const getProjectClusters = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/clusters`;
|
|
|
+});
|
|
|
+
|
|
|
+const getProjectRegistries = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/registries`;
|
|
|
+});
|
|
|
+
|
|
|
+const getProjectRepos = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/repos`;
|
|
|
+});
|
|
|
+
|
|
|
+const getProjects = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/users/${pathParams.id}/projects`;
|
|
|
+});
|
|
|
+
|
|
|
+const getRegistryIntegrations = baseApi('GET', '/api/integrations/registry');
|
|
|
+
|
|
|
+const getReleaseToken = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ cluster_id: number,
|
|
|
+ storage: StorageType,
|
|
|
+}, { name: string, id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/releases/${pathParams.name}/webhook_token`;
|
|
|
});
|
|
|
|
|
|
const destroyEKS = baseApi<{
|
|
|
@@ -323,86 +333,118 @@ const destroyDOKS = baseApi<{
|
|
|
return `/api/projects/${pathParams.project_id}/infra/${pathParams.infra_id}/doks/destroy`;
|
|
|
});
|
|
|
|
|
|
-const deleteCluster = baseApi<{
|
|
|
-}, {
|
|
|
- project_id: number,
|
|
|
+const getRepoIntegrations = baseApi('GET', '/api/integrations/repo');
|
|
|
+
|
|
|
+const getRepos = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/repos`;
|
|
|
+});
|
|
|
+
|
|
|
+const getRevisions = baseApi<{
|
|
|
+ namespace: string,
|
|
|
cluster_id: number,
|
|
|
-}>('DELETE', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/clusters/${pathParams.cluster_id}`;
|
|
|
+ storage: StorageType
|
|
|
+}, { id: number, name: string }>('GET', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/releases/${pathParams.name}/history`;
|
|
|
});
|
|
|
|
|
|
-const createGCPIntegration = baseApi<{
|
|
|
- gcp_region: string,
|
|
|
- gcp_key_data: string,
|
|
|
- gcp_project_id: string,
|
|
|
-}, {
|
|
|
- project_id: number,
|
|
|
-}>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/integrations/gcp`;
|
|
|
+const getTemplateInfo = baseApi<{}, { name: string, version: string }>('GET', pathParams => {
|
|
|
+ return `/api/templates/${pathParams.name}/${pathParams.version}`;
|
|
|
});
|
|
|
|
|
|
-const createGCR = baseApi<{
|
|
|
- gcp_integration_id: number,
|
|
|
-}, {
|
|
|
- project_id: number,
|
|
|
-}>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/provision/gcr`;
|
|
|
+const getTemplates = baseApi('GET', '/api/templates');
|
|
|
+
|
|
|
+const getUser = baseApi<{}, { id: number }>('GET', pathParams => {
|
|
|
+ return `/api/users/${pathParams.id}`;
|
|
|
});
|
|
|
|
|
|
-const createGKE = baseApi<{
|
|
|
- gcp_integration_id: number,
|
|
|
- gke_name: string,
|
|
|
+const linkGithubProject = baseApi<{
|
|
|
}, {
|
|
|
project_id: number,
|
|
|
-}>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/provision/gke`;
|
|
|
+}>('GET', pathParams => {
|
|
|
+ return `/api/oauth/projects/${pathParams.project_id}/github`;
|
|
|
});
|
|
|
|
|
|
-const createInvite = baseApi<{
|
|
|
- email: string
|
|
|
-}, {
|
|
|
- id: number
|
|
|
-}>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.id}/invites`;
|
|
|
+const logInUser = baseApi<{
|
|
|
+ email: string,
|
|
|
+ password: string
|
|
|
+}>('POST', '/api/login');
|
|
|
+
|
|
|
+const logOutUser = baseApi('POST', '/api/logout');
|
|
|
+
|
|
|
+const provisionECR = baseApi<{
|
|
|
+ ecr_name: string,
|
|
|
+ aws_integration_id: string,
|
|
|
+}, { id: number }>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/provision/ecr`;
|
|
|
});
|
|
|
|
|
|
-const getOAuthIds = baseApi<{
|
|
|
+const provisionEKS = baseApi<{
|
|
|
+ eks_name: string,
|
|
|
+ aws_integration_id: string,
|
|
|
+}, { id: number }>('POST', pathParams => {
|
|
|
+ return `/api/projects/${pathParams.id}/provision/eks`;
|
|
|
+});
|
|
|
+
|
|
|
+const registerUser = baseApi<{
|
|
|
+ email: string,
|
|
|
+ password: string
|
|
|
+}>('POST', '/api/users');
|
|
|
+
|
|
|
+const rollbackChart = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ storage: StorageType,
|
|
|
+ revision: number
|
|
|
}, {
|
|
|
- project_id: number,
|
|
|
-}>('GET', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/integrations/oauth`;
|
|
|
+ id: number,
|
|
|
+ name: string,
|
|
|
+ cluster_id: number,
|
|
|
+}>('POST', pathParams => {
|
|
|
+ let { id, name, cluster_id } = pathParams;
|
|
|
+ return `/api/projects/${id}/releases/${name}/rollback?cluster_id=${cluster_id}`;
|
|
|
});
|
|
|
|
|
|
-const createDOCR = baseApi<{
|
|
|
- do_integration_id: number,
|
|
|
- docr_name: string,
|
|
|
- docr_subscription_tier: string,
|
|
|
+const uninstallTemplate = baseApi<{
|
|
|
}, {
|
|
|
- project_id: number,
|
|
|
+ id: number,
|
|
|
+ name: string,
|
|
|
+ cluster_id: number,
|
|
|
+ namespace: string,
|
|
|
+ storage: StorageType,
|
|
|
}>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/provision/docr`;
|
|
|
+ let { id, name, cluster_id, storage, namespace } = pathParams;
|
|
|
+ return `/api/projects/${id}/deploy/${name}?cluster_id=${cluster_id}&namespace=${namespace}&storage=${storage}`;
|
|
|
});
|
|
|
|
|
|
-const createDOKS = baseApi<{
|
|
|
- do_integration_id: number,
|
|
|
- doks_name: string,
|
|
|
- do_region: string,
|
|
|
+const updateUser = baseApi<{
|
|
|
+ rawKubeConfig?: string,
|
|
|
+ allowedContexts?: string[]
|
|
|
+}, { id: number }>('PUT', pathParams => {
|
|
|
+ return `/api/users/${pathParams.id}`;
|
|
|
+});
|
|
|
+
|
|
|
+const upgradeChartValues = baseApi<{
|
|
|
+ namespace: string,
|
|
|
+ storage: StorageType,
|
|
|
+ values: string
|
|
|
}, {
|
|
|
- project_id: number,
|
|
|
+ id: number,
|
|
|
+ name: string,
|
|
|
+ cluster_id: number,
|
|
|
}>('POST', pathParams => {
|
|
|
- return `/api/projects/${pathParams.project_id}/provision/doks`;
|
|
|
+ let { id, name, cluster_id } = pathParams;
|
|
|
+ return `/api/projects/${id}/releases/${name}/upgrade?cluster_id=${cluster_id}`;
|
|
|
});
|
|
|
|
|
|
// Bundle export to allow default api import (api.<method> is more readable)
|
|
|
export default {
|
|
|
- createDOKS,
|
|
|
- createDOCR,
|
|
|
- getOAuthIds,
|
|
|
checkAuth,
|
|
|
createAWSIntegration,
|
|
|
+ createDOCR,
|
|
|
+ createDOKS,
|
|
|
createECR,
|
|
|
createGCPIntegration,
|
|
|
createGCR,
|
|
|
+ createGHAction,
|
|
|
createGKE,
|
|
|
createInvite,
|
|
|
createProject,
|
|
|
@@ -421,6 +463,7 @@ export default {
|
|
|
getChartControllers,
|
|
|
getClusterIntegrations,
|
|
|
getClusters,
|
|
|
+ getGitRepoList,
|
|
|
getGitRepos,
|
|
|
getImageRepos,
|
|
|
getImageTags,
|
|
|
@@ -429,6 +472,7 @@ export default {
|
|
|
getInvites,
|
|
|
getMatchingPods,
|
|
|
getNamespaces,
|
|
|
+ getOAuthIds,
|
|
|
getProjectClusters,
|
|
|
getProjectRegistries,
|
|
|
getProjectRepos,
|