mirror of
https://github.com/gogs/gogs.git
synced 2026-01-13 19:02:21 +01:00
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
26 lines
637 B
Go
26 lines
637 B
Go
package context
|
|
|
|
import (
|
|
"gopkg.in/macaron.v1"
|
|
|
|
"gogs.io/gogs/internal/database"
|
|
)
|
|
|
|
// ParamsUser is the wrapper type of the target user defined by URL parameter, namely ':username'.
|
|
type ParamsUser struct {
|
|
*database.User
|
|
}
|
|
|
|
// InjectParamsUser returns a handler that retrieves target user based on URL parameter ':username',
|
|
// and injects it as *ParamsUser.
|
|
func InjectParamsUser() macaron.Handler {
|
|
return func(c *Context) {
|
|
user, err := database.Handle.Users().GetByUsername(c.Req.Context(), c.Params(":username"))
|
|
if err != nil {
|
|
c.NotFoundOrError(err, "get user by name")
|
|
return
|
|
}
|
|
c.Map(&ParamsUser{user})
|
|
}
|
|
}
|