mirror of
https://github.com/hanzokms/kubernetes-operator.git
synced 2026-10-30 20:30:51 +00:00
80 lines
1.9 KiB
Go
80 lines
1.9 KiB
Go
package util
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/hanzokms/kubernetes-operator/internal/api"
|
|
"github.com/hanzokms/kubernetes-operator/internal/model"
|
|
)
|
|
|
|
func GetProjectByID(accessToken string, projectId string) (model.Project, error) {
|
|
|
|
httpClient, err := CreateRestyClient(model.CreateRestyClientOptions{
|
|
AccessToken: accessToken,
|
|
Headers: map[string]string{
|
|
"Accept": "application/json",
|
|
},
|
|
})
|
|
|
|
if err != nil {
|
|
return model.Project{}, fmt.Errorf("unable to create resty client. [err=%v]", err)
|
|
}
|
|
|
|
projectDetails, err := api.CallGetProjectByID(httpClient, api.GetProjectByIDRequest{
|
|
ProjectID: projectId,
|
|
})
|
|
if err != nil {
|
|
return model.Project{}, fmt.Errorf("unable to get project by slug. [err=%v]", err)
|
|
}
|
|
|
|
return projectDetails.Project, nil
|
|
}
|
|
|
|
func GetProjectBySlug(accessToken string, projectSlug string) (model.Project, error) {
|
|
httpClient, err := CreateRestyClient(model.CreateRestyClientOptions{
|
|
AccessToken: accessToken,
|
|
Headers: map[string]string{
|
|
"Accept": "application/json",
|
|
},
|
|
})
|
|
|
|
if err != nil {
|
|
return model.Project{}, fmt.Errorf("unable to create resty client. [err=%v]", err)
|
|
}
|
|
|
|
project, err := api.CallGetProjectBySlugV2(httpClient, api.GetProjectBySlugRequest{
|
|
ProjectSlug: projectSlug,
|
|
})
|
|
|
|
if err != nil {
|
|
return model.Project{}, fmt.Errorf("unable to get project by slug. [err=%v]", err)
|
|
}
|
|
|
|
return project, nil
|
|
}
|
|
|
|
func ExtractProjectIdFromSlug(accessToken string, projectSlug string) (string, error) {
|
|
|
|
httpClient, err := CreateRestyClient(model.CreateRestyClientOptions{
|
|
AccessToken: accessToken,
|
|
Headers: map[string]string{
|
|
"Accept": "application/json",
|
|
},
|
|
})
|
|
|
|
if err != nil {
|
|
return "", fmt.Errorf("unable to create resty client. [err=%v]", err)
|
|
}
|
|
|
|
project, err := api.CallGetProjectBySlugV2(httpClient, api.GetProjectBySlugRequest{
|
|
ProjectSlug: projectSlug,
|
|
})
|
|
|
|
if err != nil {
|
|
return "", fmt.Errorf("unable to get project by slug. [err=%v]", err)
|
|
}
|
|
|
|
return project.ID, nil
|
|
|
|
}
|