add del publickey

This commit is contained in:
Lunny Xiao 2014-03-10 17:15:02 +08:00
parent 8934fe414c
commit 3ca7a33907
2 changed files with 46 additions and 0 deletions

View File

@ -77,6 +77,11 @@ func AddPublicKey(key *PublicKey) error {
return nil return nil
} }
func DeletePublicKey(key *PublicKey) error {
_, err := orm.Delete(key)
return err
}
func ListPublicKey(userId int64) ([]PublicKey, error) { func ListPublicKey(userId int64) ([]PublicKey, error) {
keys := make([]PublicKey, 0) keys := make([]PublicKey, 0)
err := orm.Find(&keys, &PublicKey{OwnerId: userId}) err := orm.Find(&keys, &PublicKey{OwnerId: userId})

View File

@ -6,6 +6,7 @@ package user
import ( import (
"net/http" "net/http"
"strconv"
"github.com/martini-contrib/render" "github.com/martini-contrib/render"
"github.com/martini-contrib/sessions" "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) { func ListPublicKey(req *http.Request, data base.TmplData, r render.Render, session sessions.Session) {
data["Title"] = "Public Keys" data["Title"] = "Public Keys"