Adding deletedomain implementation 43/32943/2
authorKiran Kamineni <kiran.k.kamineni@intel.com>
Mon, 26 Feb 2018 20:37:19 +0000 (12:37 -0800)
committerKiran Kamineni <kiran.k.kamineni@intel.com>
Tue, 27 Feb 2018 17:49:45 +0000 (17:49 +0000)
Adding deletedomain implementation in vault.go
This is a silent command and will not return any error
if the domain to be deleted does not exist

Issue-ID: AAF-144
Change-Id: Iff97a1a5be7415cd0c7ebb2894f16348718e2839
Signed-off-by: Kiran Kamineni <kiran.k.kamineni@intel.com>
sms-service/src/sms/backend/vault.go
sms-service/src/sms/handler/handler.go

index 289fa3a..c3bbbc5 100644 (file)
@@ -202,6 +202,18 @@ func (v *Vault) CreateSecret(dom string, sec Secret) error {
 // DeleteSecretDomain deletes a secret domain which translates to
 // an unmount operation on the given path in Vault
 func (v *Vault) DeleteSecretDomain(name string) error {
+       err := v.checkToken()
+       if err != nil {
+               return err
+       }
+
+       name = strings.TrimSpace(name)
+       mountPath := v.vaultMount + "/" + name
+
+       err = v.vaultClient.Sys().Unmount(mountPath)
+       if err != nil {
+               return errors.New("Unable to delete domain specified")
+       }
 
        return nil
 }
index f5a0a0d..48d940f 100644 (file)
@@ -70,7 +70,11 @@ func (h handler) deleteSecretDomainHandler(w http.ResponseWriter, r *http.Reques
        vars := mux.Vars(r)
        domName := vars["domName"]
 
-       h.secretBackend.DeleteSecretDomain(domName)
+       err := h.secretBackend.DeleteSecretDomain(domName)
+       if err != nil {
+               http.Error(w, err.Error(), http.StatusInternalServerError)
+               return
+       }
 }
 
 // createSecretHandler handles creation of secrets on a given domain name