New route to expose PGP Keys
This commit is contained in:
parent
f184c7d8de
commit
376a059541
3 changed files with 35 additions and 16 deletions
30
keys.go
30
keys.go
|
@ -13,6 +13,36 @@ import (
|
|||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func declareAPIKeysRoutes(router *gin.RouterGroup) {
|
||||
usersRoutes := router.Group("/users/:uid")
|
||||
usersRoutes.Use(userHandler)
|
||||
|
||||
usersRoutes.GET("/pgp_keys", func(c *gin.Context) {
|
||||
var u *User
|
||||
if user, ok := c.Get("user"); ok {
|
||||
u = user.(*User)
|
||||
} else {
|
||||
u = c.MustGet("LoggedUser").(*User)
|
||||
}
|
||||
|
||||
keys, err := u.GetKeys()
|
||||
if err != nil {
|
||||
log.Println("Unable to GetKeys:", err)
|
||||
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": "Unable to retrieve your keys. Please try again in a few moment."})
|
||||
return
|
||||
}
|
||||
|
||||
var ret []byte
|
||||
for _, key := range keys {
|
||||
if key.Type == "pgp" {
|
||||
ret = append(ret, []byte(key.Content)...)
|
||||
}
|
||||
}
|
||||
|
||||
c.Data(http.StatusOK, "application/pgp-keys", ret)
|
||||
})
|
||||
}
|
||||
|
||||
func declareAPIAuthKeysRoutes(router *gin.RouterGroup) {
|
||||
router.GET("/keys", func(c *gin.Context) {
|
||||
var u *User
|
||||
|
|
Reference in a new issue