summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2017-04-07 17:40:38 -0700
committerGitHub <noreply@github.com>2017-04-07 17:40:38 -0700
commit5c0bee9b20f50a26c7ac3fa90d1db2b8329d358b (patch)
tree365da2ff66c28f5f5fb179fa9387b5257c7a7ac2
parentd9db1882745baf44e16375eb1dc4733bf2989848 (diff)
downloadgitea-5c0bee9b20f50a26c7ac3fa90d1db2b8329d358b.tar.gz
gitea-5c0bee9b20f50a26c7ac3fa90d1db2b8329d358b.zip
refactor update ssh key use time (#1466)
-rw-r--r--cmd/serv.go8
-rw-r--r--models/ssh_key.go14
2 files changed, 15 insertions, 7 deletions
diff --git a/cmd/serv.go b/cmd/serv.go
index dc8952abe9..e3aeb41c56 100644
--- a/cmd/serv.go
+++ b/cmd/serv.go
@@ -316,13 +316,7 @@ func runServ(c *cli.Context) error {
// Update user key activity.
if keyID > 0 {
- key, err := models.GetPublicKeyByID(keyID)
- if err != nil {
- fail("Internal error", "GetPublicKeyById: %v", err)
- }
-
- key.Updated = time.Now()
- if err = models.UpdatePublicKey(key); err != nil {
+ if err = models.UpdatePublicKeyUpdated(keyID); err != nil {
fail("Internal error", "UpdatePublicKey: %v", err)
}
}
diff --git a/models/ssh_key.go b/models/ssh_key.go
index ba7007028f..75a0120c59 100644
--- a/models/ssh_key.go
+++ b/models/ssh_key.go
@@ -500,6 +500,20 @@ func UpdatePublicKey(key *PublicKey) error {
return err
}
+// UpdatePublicKeyUpdated updates public key use time.
+func UpdatePublicKeyUpdated(id int64) error {
+ cnt, err := x.ID(id).Cols("updated").Update(&PublicKey{
+ Updated: time.Now(),
+ })
+ if err != nil {
+ return err
+ }
+ if cnt != 1 {
+ return ErrKeyNotExist{id}
+ }
+ return nil
+}
+
// deletePublicKeys does the actual key deletion but does not update authorized_keys file.
func deletePublicKeys(e *xorm.Session, keyIDs ...int64) error {
if len(keyIDs) == 0 {