|
|
|
@ -496,16 +496,21 @@ func UpdatePublicKey(key *PublicKey) error {
|
|
|
|
|
// UpdatePublicKeyUpdated updates public key use time.
|
|
|
|
|
func UpdatePublicKeyUpdated(id int64) error {
|
|
|
|
|
now := time.Now()
|
|
|
|
|
cnt, err := x.ID(id).Cols("updated_unix").Update(&PublicKey{
|
|
|
|
|
// Check if key exists before update as affected rows count is unreliable
|
|
|
|
|
// and will return 0 affected rows if two updates are made at the same time
|
|
|
|
|
if cnt, err := x.ID(id).Count(&PublicKey{}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
} else if cnt != 1 {
|
|
|
|
|
return ErrKeyNotExist{id}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, err := x.ID(id).Cols("updated_unix").Update(&PublicKey{
|
|
|
|
|
Updated: now,
|
|
|
|
|
UpdatedUnix: now.Unix(),
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
if cnt != 1 {
|
|
|
|
|
return ErrKeyNotExist{id}
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|