return nil
}
+func DeletePublicKey(key *PublicKey) error {
+ _, err := orm.Delete(key)
+ return err
+}
+
func ListPublicKey(userId int64) ([]PublicKey, error) {
keys := make([]PublicKey, 0)
err := orm.Find(&keys, &PublicKey{OwnerId: userId})
import (
"net/http"
+ "strconv"
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
}
}
+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"