github.com/uvalib/orcid-access-ws@v0.0.0-20250612130209-7d062dbabf9d/orcidaccessws/handlers/del_orcid_attributes_handler.go (about) 1 package handlers 2 3 import ( 4 "fmt" 5 "github.com/gorilla/mux" 6 "github.com/uvalib/orcid-access-ws/orcidaccessws/authtoken" 7 "github.com/uvalib/orcid-access-ws/orcidaccessws/config" 8 "github.com/uvalib/orcid-access-ws/orcidaccessws/dao" 9 "github.com/uvalib/orcid-access-ws/orcidaccessws/logger" 10 "net/http" 11 ) 12 13 // DeleteOrcidAttributes -- delete orcid attributes handler 14 func DeleteOrcidAttributes(w http.ResponseWriter, r *http.Request) { 15 16 vars := mux.Vars(r) 17 id := vars["id"] 18 token := r.URL.Query().Get("auth") 19 20 // parameters OK? 21 if isEmpty(id) || isEmpty(token) { 22 status := http.StatusBadRequest 23 encodeStandardResponse(w, status, http.StatusText(status)) 24 return 25 } 26 27 // validate the token 28 if authtoken.Validate(config.Configuration.SharedSecret, token) == false { 29 status := http.StatusForbidden 30 encodeStandardResponse(w, status, http.StatusText(status)) 31 return 32 } 33 34 // get the ORCID details 35 err := dao.Store.DelOrcidAttributesByCid(id) 36 if err != nil { 37 logger.Log(fmt.Sprintf("ERROR: %s", err.Error())) 38 status := http.StatusInternalServerError 39 encodeStandardResponse(w, status, 40 fmt.Sprintf("%s (%s)", http.StatusText(status), err)) 41 return 42 } 43 44 status := http.StatusOK 45 encodeStandardResponse(w, status, http.StatusText(status)) 46 } 47 48 // 49 // end of file 50 //