delete session command

This commit is contained in:
root
2020-11-28 16:47:29 +00:00
parent b164dd4f4e
commit 18e11a70b5
3 changed files with 25 additions and 1 deletions

View File

@@ -221,6 +221,7 @@ func (e mainEnv) setupRouter() *httprouter.Router {
router.GET("/v1/session/:session", e.getSession)
router.POST("/v1/session/:session", e.createSession)
router.DELETE("/v1/session/:session", e.deleteSession)
//router.POST("/v1/sessions/:mode/:address", e.newUserSession)
router.GET("/v1/sessions/:mode/:address", e.getUserSessions)

View File

@@ -61,7 +61,24 @@ func (e mainEnv) createSession(w http.ResponseWriter, r *http.Request, ps httpro
w.Header().Set("Content-Type", "application/json; charset=utf-8")
w.WriteHeader(200)
fmt.Fprintf(w, `{"status":"ok","session":"%s"}`, session)
return
}
func (e mainEnv) deleteSession(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
session := ps.ByName("session")
event := audit("delete session", session, "session", session)
defer func() { event.submit(e.db) }()
if enforceUUID(w, session, event) == false {
//returnError(w, r, "bad session format", nil, event)
return
}
authResult := e.enforceAdmin(w, r)
if authResult == "" {
return
}
e.db.deleteSession(session)
w.Header().Set("Content-Type", "application/json; charset=utf-8")
w.WriteHeader(200)
fmt.Fprintf(w, `{"status":"ok"}`)
}
func (e mainEnv) newUserSession(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {

View File

@@ -109,3 +109,9 @@ func (dbobj dbcon) getUserSessionsByToken(userTOKEN string, offset int32, limit
return results, count, err
}
func (dbobj dbcon) deleteSession(sessionUUID string) (bool, error) {
dbobj.store.DeleteRecord(storage.TblName.Sessions, "session", sessionUUID)
return true, nil
}