test actually updating secret
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -200,6 +200,13 @@ func UpdateSecret(c *gin.Context) {
|
|||||||
|
|
||||||
log.Printf("UpdateSecret received JSON input '%v'\n", input)
|
log.Printf("UpdateSecret received JSON input '%v'\n", input)
|
||||||
|
|
||||||
|
if len(input.SecretValue) == 0 {
|
||||||
|
errString := "UpdateSecret no updated secret specified\n"
|
||||||
|
log.Print(errString)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"error": errString})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Temporarily disable because we should be able to figure it out without user specifying
|
// Temporarily disable because we should be able to figure it out without user specifying
|
||||||
/*
|
/*
|
||||||
if input.SafeId == 0 && len(input.SafeName) == 0 {
|
if input.SafeId == 0 && len(input.SafeName) == 0 {
|
||||||
@@ -238,7 +245,36 @@ func UpdateSecret(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
} else if len(secretList) == 1 {
|
} else if len(secretList) == 1 {
|
||||||
// Update secret
|
// Update secret
|
||||||
log.Printf("mock updating secret\n")
|
//log.Printf("mock updating secret\n")
|
||||||
|
log.Printf("secretList[0]: %v\n", secretList[0])
|
||||||
|
|
||||||
|
s.SecretId = secretList[0].SecretId
|
||||||
|
|
||||||
|
// check for empty fields in the update request and update from the existing record
|
||||||
|
if s.UserName == "" {
|
||||||
|
s.UserName = secretList[0].Secret.UserName
|
||||||
|
}
|
||||||
|
if s.DeviceCategory == "" {
|
||||||
|
s.DeviceCategory = secretList[0].DeviceCategory
|
||||||
|
}
|
||||||
|
if s.DeviceName == "" {
|
||||||
|
s.DeviceName = secretList[0].DeviceName
|
||||||
|
}
|
||||||
|
|
||||||
|
// Encrypt secret
|
||||||
|
s.Secret = input.SecretValue
|
||||||
|
_, err = s.EncryptSecret()
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"error": "UpdateSecret error encrypting secret : " + err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = s.UpdateSecret()
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"error": "UpdateSecret error saving secret : " + err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusOK, gin.H{"message": "secret updated successfully"})
|
c.JSON(http.StatusOK, gin.H{"message": "secret updated successfully"})
|
||||||
} else {
|
} else {
|
||||||
c.JSON(http.StatusBadRequest, gin.H{"error": "multiple secrets matched search parameters, be more specific"})
|
c.JSON(http.StatusBadRequest, gin.H{"error": "multiple secrets matched search parameters, be more specific"})
|
||||||
|
@@ -77,7 +77,6 @@ func SecretsGetAllowedForGroup(s *Secret, userId int) ([]UserSecret, error) {
|
|||||||
INNER JOIN secrets on secrets.SafeId = safes.SafeId
|
INNER JOIN secrets on secrets.SafeId = safes.SafeId
|
||||||
WHERE users.UserId = ? `
|
WHERE users.UserId = ? `
|
||||||
queryArgs = append(queryArgs, userId)
|
queryArgs = append(queryArgs, userId)
|
||||||
log.Printf("queryArgs: %v\n", queryArgs)
|
|
||||||
|
|
||||||
// Make sure at least one parameter was specified
|
// Make sure at least one parameter was specified
|
||||||
if s.DeviceName == "" && s.DeviceCategory == "" && s.UserName == "" {
|
if s.DeviceName == "" && s.DeviceCategory == "" && s.UserName == "" {
|
||||||
@@ -103,7 +102,7 @@ func SecretsGetAllowedForGroup(s *Secret, userId int) ([]UserSecret, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Execute the query
|
// Execute the query
|
||||||
log.Printf("SecretsGetAllowedForGroup query string : '%s'\n%+v\n", query, queryArgs)
|
//log.Printf("SecretsGetAllowedForGroup query string : '%s'\n%+v\n", query, queryArgs)
|
||||||
rows, err := db.Queryx(query, queryArgs...)
|
rows, err := db.Queryx(query, queryArgs...)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user