Skip to content

Commit 86ea33e

Browse files
author
Dominik Przybyl
committed
refactor Vault-Cli
1 parent 93798fc commit 86ea33e

File tree

2 files changed

+50
-38
lines changed

2 files changed

+50
-38
lines changed

pkg/content_manager.go

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"github.com/wttech/aemc/pkg/common/pathx"
77
"github.com/wttech/aemc/pkg/content"
88
"github.com/wttech/aemc/pkg/pkg"
9-
"net/url"
109
"os"
1110
"path/filepath"
1211
"regexp"
@@ -48,16 +47,7 @@ func (cm *ContentManager) pullContent(instance *Instance, workDir string, vault
4847
return err
4948
}
5049
filterFile := filepath.Join(workDir, pkg.MetaPath, pkg.VltDir, FilterXML)
51-
vaultCliArgs := []string{
52-
"vlt",
53-
"--credentials", fmt.Sprintf("%s:%s", instance.user, instance.password),
54-
"checkout",
55-
"--force",
56-
"--filter", filterFile,
57-
fmt.Sprintf("%s/crx/server/crx.default", instance.http.baseURL),
58-
workDir,
59-
}
60-
if err := cm.vaultCli.CommandShell(vaultCliArgs); err != nil {
50+
if err := cm.vaultCli.PullContent(instance, workDir, filterFile); err != nil {
6151
return err
6252
}
6353
if err := cm.contentManager.DeleteFiles(filepath.Join(workDir, content.JCRRoot)); err != nil {
@@ -162,14 +152,7 @@ func (cm *ContentManager) pushContent(instance *Instance, vault bool, opts Packa
162152
if vault {
163153
mainDir, _, _ := strings.Cut(opts.ContentPath, content.JCRRoot)
164154
jcrPath := DetermineFilterRoot(opts.ContentPath)
165-
vaultCliArgs := []string{
166-
"vlt",
167-
"--credentials", fmt.Sprintf("%s:%s", instance.user, instance.password),
168-
"import",
169-
fmt.Sprintf("%s/crx/-/jcr:root%s", instance.http.baseURL, jcrPath),
170-
mainDir,
171-
}
172-
if err := cm.vaultCli.CommandShell(vaultCliArgs); err != nil {
155+
if err := cm.vaultCli.PushContent(instance, mainDir, jcrPath); err != nil {
173156
return err
174157
}
175158
} else {
@@ -258,29 +241,11 @@ func (cm *ContentManager) copyByVaultCli(srcInstance *Instance, destInstance *In
258241
return err
259242
}
260243
} else {
261-
parsedURLSrc, err := url.Parse(srcInstance.http.baseURL)
262-
if err != nil {
263-
return err
264-
}
265-
parsedURLDest, err := url.Parse(destInstance.http.baseURL)
266-
if err != nil {
267-
return err
268-
}
269244
if rcpArgs == "" {
270245
rcpArgs = "-b 100 -r -u"
271246
}
272247
for _, filterRoot := range opts.FilterRoots {
273-
vaultCliArgs := []string{"vlt", "rcp"}
274-
vaultCliArgs = append(vaultCliArgs, strings.Fields(rcpArgs)...)
275-
vaultCliArgs = append(vaultCliArgs, []string{
276-
fmt.Sprintf("%s://%s:%s@%s/crx/-/jcr:root%s",
277-
parsedURLSrc.Scheme, srcInstance.user, srcInstance.password,
278-
parsedURLSrc.Host, filterRoot),
279-
fmt.Sprintf("%s://%s:%s@%s/crx/-/jcr:root%s",
280-
parsedURLDest.Scheme, destInstance.user, destInstance.password,
281-
parsedURLDest.Host, filterRoot),
282-
}...)
283-
if err = cm.vaultCli.CommandShell(vaultCliArgs); err != nil {
248+
if err := cm.vaultCli.CopyContent(srcInstance, destInstance, strings.Fields(rcpArgs), filterRoot); err != nil {
284249
return err
285250
}
286251
}

pkg/vault_cli.go

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/wttech/aemc/pkg/common/httpx"
99
"github.com/wttech/aemc/pkg/common/osx"
1010
"github.com/wttech/aemc/pkg/common/pathx"
11+
"net/url"
1112
"os"
1213
"path/filepath"
1314
"strings"
@@ -106,3 +107,49 @@ func (v VaultCli) CommandShell(args []string) error {
106107
}
107108
return nil
108109
}
110+
111+
func (v VaultCli) PushContent(instance *Instance, mainDir string, jcrPath string) error {
112+
vaultCliArgs := []string{
113+
"vlt",
114+
"--credentials", fmt.Sprintf("%s:%s", instance.user, instance.password),
115+
"import",
116+
fmt.Sprintf("%s/crx/-/jcr:root%s", instance.http.baseURL, jcrPath),
117+
mainDir,
118+
}
119+
return v.CommandShell(vaultCliArgs)
120+
}
121+
122+
func (v VaultCli) PullContent(instance *Instance, mainDir string, filterFile string) error {
123+
vaultCliArgs := []string{
124+
"vlt",
125+
"--credentials", fmt.Sprintf("%s:%s", instance.user, instance.password),
126+
"checkout",
127+
"--force",
128+
"--filter", filterFile,
129+
fmt.Sprintf("%s/crx/server/crx.default", instance.http.baseURL),
130+
mainDir,
131+
}
132+
return v.CommandShell(vaultCliArgs)
133+
}
134+
135+
func (v VaultCli) CopyContent(srcInstance *Instance, destInstance *Instance, rcpArgs []string, jcrPath string) error {
136+
parsedURLSrc, err := url.Parse(srcInstance.http.baseURL)
137+
if err != nil {
138+
return err
139+
}
140+
parsedURLDest, err := url.Parse(destInstance.http.baseURL)
141+
if err != nil {
142+
return err
143+
}
144+
vaultCliArgs := []string{"vlt", "rcp"}
145+
vaultCliArgs = append(vaultCliArgs, rcpArgs...)
146+
vaultCliArgs = append(vaultCliArgs, []string{
147+
fmt.Sprintf("%s://%s:%s@%s/crx/-/jcr:root%s",
148+
parsedURLSrc.Scheme, srcInstance.user, srcInstance.password,
149+
parsedURLSrc.Host, jcrPath),
150+
fmt.Sprintf("%s://%s:%s@%s/crx/-/jcr:root%s",
151+
parsedURLDest.Scheme, destInstance.user, destInstance.password,
152+
parsedURLDest.Host, jcrPath),
153+
}...)
154+
return v.CommandShell(vaultCliArgs)
155+
}

0 commit comments

Comments
 (0)