Skip to content

Commit c7374c6

Browse files
committed
chore: changed project structure moved phase.go to the root
1 parent 9f45e1f commit c7374c6

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

pkg/phase/phaseIO.go renamed to phase.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ type AppKeyResponse struct {
7373
Apps []App `json:"apps"`
7474
}
7575

76+
// UpdateSecretOptions holds all the options for updating a secret.
77+
type UpdateSecretOptions struct {
78+
EnvName string
79+
AppName string
80+
Key string
81+
Value string
82+
Path string
83+
}
7684

7785
func (p *Phase) PhaseGet(envName, appName, keyToFind, tag, path string) (*map[string]interface{}, error) {
7886
// Fetch user data
@@ -322,7 +330,7 @@ func (p *Phase) CreateSecrets(keyValuePairs []map[string]string, envName, appNam
322330
return api.CreatePhaseSecrets(p.AppToken, envID, secrets, p.Host)
323331
}
324332

325-
func (p *Phase) UpdateSecret(envName, appName, key, value, path string) error {
333+
func (p *Phase) UpdateSecret(opts UpdateSecretOptions) error {
326334
// Fetch user data
327335
resp, err := api.FetchPhaseUser(p.AppToken, p.Host)
328336
if err != nil {
@@ -337,7 +345,7 @@ func (p *Phase) UpdateSecret(envName, appName, key, value, path string) error {
337345
return err
338346
}
339347

340-
envKey, err := findEnvironmentKey(&userData, envName, appName)
348+
envKey, err := findEnvironmentKey(&userData, opts.EnvName, opts.AppName)
341349
if err != nil {
342350
log.Fatalf("Failed to find environment key: %v", err)
343351
return err
@@ -350,14 +358,14 @@ func (p *Phase) UpdateSecret(envName, appName, key, value, path string) error {
350358
}
351359

352360
// Generate key digest
353-
keyDigest, err := crypto.Blake2bDigest(key, decryptedSalt)
361+
keyDigest, err := crypto.Blake2bDigest(opts.Key, decryptedSalt)
354362
if err != nil {
355363
log.Fatalf("Failed to generate key digest: %v", err)
356364
return err
357365
}
358366

359367
// Fetch a single secret based on keyDigest
360-
secret, err := api.FetchPhaseSecret(p.AppToken, envKey.Environment.ID, p.Host, keyDigest, path)
368+
secret, err := api.FetchPhaseSecret(p.AppToken, envKey.Environment.ID, p.Host, keyDigest, opts.Path)
361369
if err != nil {
362370
log.Printf("Failed to fetch secret: %v", err)
363371
return err
@@ -366,13 +374,13 @@ func (p *Phase) UpdateSecret(envName, appName, key, value, path string) error {
366374
publicKeyHex := envKey.IdentityKey
367375

368376
// Encrypt the key and value with the environment's public key
369-
encryptedKey, err := crypto.EncryptAsymmetric(key, publicKeyHex)
377+
encryptedKey, err := crypto.EncryptAsymmetric(opts.Key, publicKeyHex)
370378
if err != nil {
371379
log.Fatalf("Failed to encrypt key: %v", err)
372380
return err
373381
}
374382

375-
encryptedValue, err := crypto.EncryptAsymmetric(value, publicKeyHex)
383+
encryptedValue, err := crypto.EncryptAsymmetric(opts.Value, publicKeyHex)
376384
if err != nil {
377385
log.Fatalf("Failed to encrypt value: %v", err)
378386
return err
@@ -385,16 +393,16 @@ func (p *Phase) UpdateSecret(envName, appName, key, value, path string) error {
385393
}
386394

387395
// Default path to "/" if not provided
388-
if path == "" {
389-
path = "/"
396+
if opts.Path == "" {
397+
opts.Path = "/"
390398
}
391399

392400
secretUpdatePayload := map[string]interface{}{
393401
"id": secretID,
394402
"key": encryptedKey,
395403
"keyDigest": keyDigest,
396404
"value": encryptedValue,
397-
"path": path,
405+
"path": opts.Path,
398406
"tags": []string{},
399407
"comment": "",
400408
}
@@ -410,6 +418,7 @@ func (p *Phase) UpdateSecret(envName, appName, key, value, path string) error {
410418
return nil
411419
}
412420

421+
413422
// DeleteSecret deletes a secret in Phase KMS based on a key and environment.
414423
func (p *Phase) DeleteSecret(envName, appName, keyToDelete, path string) error {
415424
// Fetch user data

0 commit comments

Comments
 (0)