2018-10-30 02:20:13 -04:00
// Copyright 2018 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
// Package private includes all internal routes. The package name internal is ideal but Golang is not allowed, so we use private as package name instead.
package private
import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/util"
macaron "gopkg.in/macaron.v1"
)
2019-06-01 11:00:21 -04:00
// UpdatePublicKeyInRepo update public key and deploy key updates
func UpdatePublicKeyInRepo ( ctx * macaron . Context ) {
2018-10-30 02:20:13 -04:00
keyID := ctx . ParamsInt64 ( ":id" )
2019-06-01 11:00:21 -04:00
repoID := ctx . ParamsInt64 ( ":repoid" )
2018-10-30 02:20:13 -04:00
if err := models . UpdatePublicKeyUpdated ( keyID ) ; err != nil {
ctx . JSON ( 500 , map [ string ] interface { } {
"err" : err . Error ( ) ,
} )
return
}
2019-06-01 11:00:21 -04:00
deployKey , err := models . GetDeployKeyByRepo ( keyID , repoID )
2018-10-30 02:20:13 -04:00
if err != nil {
2019-06-01 11:00:21 -04:00
if models . IsErrDeployKeyNotExist ( err ) {
ctx . PlainText ( 200 , [ ] byte ( "success" ) )
return
}
2018-10-30 02:20:13 -04:00
ctx . JSON ( 500 , map [ string ] interface { } {
"err" : err . Error ( ) ,
} )
return
}
2019-06-01 11:00:21 -04:00
deployKey . UpdatedUnix = util . TimeStampNow ( )
if err = models . UpdateDeployKeyCols ( deployKey , "updated_unix" ) ; err != nil {
2019-02-03 18:56:53 -05:00
ctx . JSON ( 500 , map [ string ] interface { } {
"err" : err . Error ( ) ,
} )
return
}
2019-06-01 11:00:21 -04:00
ctx . PlainText ( 200 , [ ] byte ( "success" ) )
2018-10-30 02:20:13 -04:00
}