]> source.dussan.org Git - gitea.git/commitdiff
refactor update ssh key use time (#1466)
authorLunny Xiao <xiaolunwen@gmail.com>
Sat, 8 Apr 2017 00:40:38 +0000 (17:40 -0700)
committerGitHub <noreply@github.com>
Sat, 8 Apr 2017 00:40:38 +0000 (17:40 -0700)
cmd/serv.go
models/ssh_key.go

index dc8952abe90a412878560085f6607737bdbf761f..e3aeb41c5679ffd4515d53cf9ef0b548fdd3c823 100644 (file)
@@ -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)
                }
        }
index ba7007028fa1016e7a24c5ce2a1bb28195390f50..75a0120c59e465ec3217e847eddef08cf54bdd48 100644 (file)
@@ -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 {