aboutsummaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-03-10 17:15:02 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-03-10 17:15:02 +0800
commit3ca7a33907e674c2c90e9f795b57bf87868f16b7 (patch)
tree6ea4849cf997428c4e7189478c225a06564f1a4d /routers
parent8934fe414c372879d01ad89ba191c50333826b3a (diff)
add del publickey
Diffstat (limited to 'routers')
-rw-r--r--routers/user/ssh.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/routers/user/ssh.go b/routers/user/ssh.go
index 34c37806..0144f7a9 100644
--- a/routers/user/ssh.go
+++ b/routers/user/ssh.go
@@ -6,6 +6,7 @@ package user
import (
"net/http"
+ "strconv"
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
@@ -38,6 +39,46 @@ func AddPublicKey(req *http.Request, data base.TmplData, r render.Render, sessio
}
}
+func DelPublicKey(req *http.Request, data base.TmplData, r render.Render, session sessions.Session) {
+ data["Title"] = "Del Public Key"
+
+ if req.Method == "GET" {
+ r.HTML(200, "user/publickey_add", data)
+ return
+ }
+
+ if req.Method == "DELETE" {
+ id, err := strconv.ParseInt(req.FormValue("id"), 10, 64)
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("ssh.DelPublicKey: %v", err)
+ r.JSON(200, map[string]interface{}{
+ "ok": false,
+ "err": err.Error(),
+ })
+ return
+ }
+
+ k := &models.PublicKey{
+ Id: id,
+ OwnerId: auth.SignedInId(session),
+ }
+ err = models.DeletePublicKey(k)
+ if err != nil {
+ data["ErrorMsg"] = err
+ log.Error("ssh.DelPublicKey: %v", err)
+ r.JSON(200, map[string]interface{}{
+ "ok": false,
+ "err": err.Error(),
+ })
+ } else {
+ r.JSON(200, map[string]interface{}{
+ "ok": true,
+ })
+ }
+ }
+}
+
func ListPublicKey(req *http.Request, data base.TmplData, r render.Render, session sessions.Session) {
data["Title"] = "Public Keys"