Skip to content

Commit e12acaa

Browse files
committed
Added create version command
1 parent 7ae6b55 commit e12acaa

File tree

2 files changed

+60
-20
lines changed

2 files changed

+60
-20
lines changed

application/http/http_client.go

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
11
package http
22

33
import (
4+
"encoding/json"
45
commonCliConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config"
56
"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
7+
"github.com/jfrog/jfrog-client-go/auth"
68
clientConfig "github.com/jfrog/jfrog-client-go/config"
79
"github.com/jfrog/jfrog-client-go/http/jfroghttpclient"
10+
"github.com/jfrog/jfrog-client-go/utils"
11+
"github.com/jfrog/jfrog-client-go/utils/errorutils"
12+
"github.com/jfrog/jfrog-client-go/utils/io/httputils"
13+
"net/http"
814
)
915

10-
func NewAppHttpClient(serverDetails *commonCliConfig.ServerDetails) (*jfroghttpclient.JfrogHttpClient, error) {
16+
type AppHttpClient interface {
17+
GetHttpClient() *jfroghttpclient.JfrogHttpClient
18+
Post(path string, requestBody interface{}) (resp *http.Response, body []byte, err error)
19+
}
20+
21+
type appHttpClient struct {
22+
client *jfroghttpclient.JfrogHttpClient
23+
serverDetails *commonCliConfig.ServerDetails
24+
authDetails auth.ServiceDetails
25+
serviceConfig clientConfig.Config
26+
}
27+
28+
func NewAppHttpClient(serverDetails *commonCliConfig.ServerDetails) (AppHttpClient, error) {
1129
certsPath, err := coreutils.GetJfrogCertsDir()
1230
if err != nil {
1331
return nil, err
@@ -27,7 +45,7 @@ func NewAppHttpClient(serverDetails *commonCliConfig.ServerDetails) (*jfroghttpc
2745
return nil, err
2846
}
2947

30-
return jfroghttpclient.JfrogClientBuilder().
48+
jfHttpClient, err := jfroghttpclient.JfrogClientBuilder().
3149
SetCertificatesPath(certsPath).
3250
SetInsecureTls(serviceConfig.IsInsecureTls()).
3351
SetClientCertPath(serverDetails.GetClientCertPath()).
@@ -39,4 +57,40 @@ func NewAppHttpClient(serverDetails *commonCliConfig.ServerDetails) (*jfroghttpc
3957
SetRetries(serviceConfig.GetHttpRetries()).
4058
SetRetryWaitMilliSecs(serviceConfig.GetHttpRetryWaitMilliSecs()).
4159
Build()
60+
61+
if err != nil {
62+
return nil, err
63+
}
64+
65+
appClient := &appHttpClient{
66+
client: jfHttpClient,
67+
serverDetails: serverDetails,
68+
authDetails: authDetails,
69+
serviceConfig: serviceConfig,
70+
}
71+
return appClient, nil
72+
}
73+
74+
func (c *appHttpClient) GetHttpClient() *jfroghttpclient.JfrogHttpClient {
75+
return c.client
76+
}
77+
78+
func (c *appHttpClient) Post(path string, requestBody interface{}) (resp *http.Response, body []byte, err error) {
79+
url, err := utils.BuildUrl(c.serverDetails.Url, path, nil)
80+
if err != nil {
81+
return nil, nil, err
82+
}
83+
84+
var requestContent []byte
85+
if requestBody != nil {
86+
requestContent, err = json.Marshal(requestBody)
87+
if err != nil {
88+
return nil, nil, errorutils.CheckError(err)
89+
}
90+
}
91+
92+
var httpClientDetails httputils.HttpClientDetails
93+
httpClientDetails = c.authDetails.CreateHttpClientDetails()
94+
httpClientDetails.SetContentTypeApplicationJson()
95+
return c.client.SendPost(url, requestContent, &httpClientDetails)
4296
}

application/service/version_service.go

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package service
22

33
import (
4-
"encoding/json"
4+
"fmt"
55
"github.com/jfrog/jfrog-cli-application/application/http"
66
"github.com/jfrog/jfrog-cli-application/application/model"
7-
"github.com/jfrog/jfrog-client-go/utils"
8-
"github.com/jfrog/jfrog-client-go/utils/errorutils"
9-
"github.com/jfrog/jfrog-client-go/utils/io/httputils"
107
)
118

129
type VersionService interface {
@@ -26,24 +23,13 @@ func (vs *versionService) CreateAppVersion(ctx *Context, request *model.CreateAp
2623
return err
2724
}
2825

29-
authDetails, err := ctx.ServerDetails.CreateLifecycleAuthConfig()
26+
response, _, err := httpClient.Post("application/version", request)
3027
if err != nil {
3128
return err
3229
}
3330

34-
requestContent, err := json.Marshal(request)
35-
if err != nil {
36-
return errorutils.CheckError(err)
37-
}
38-
39-
var httpClientDetails httputils.HttpClientDetails
40-
httpClientDetails = authDetails.CreateHttpClientDetails()
41-
httpClientDetails.SetContentTypeApplicationJson()
42-
43-
requestFullUrl, err := utils.BuildUrl(ctx.ServerDetails.Url, "application/version", nil)
44-
_, _, err = httpClient.SendPost(requestFullUrl, requestContent, &httpClientDetails)
45-
if err != nil {
46-
return err
31+
if response.StatusCode != 201 {
32+
return fmt.Errorf("failed to create app version. Status code: %d", response.StatusCode)
4733
}
4834

4935
return nil

0 commit comments

Comments
 (0)