123456789101112131415161718192021222324252627282930 |
- // Copyright 2018 The Gogs 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 context
- import (
- "gopkg.in/macaron.v1"
- "github.com/gogs/gogs/models"
- "github.com/gogs/gogs/models/errors"
- )
- // ParamsUser is the wrapper type of the target user defined by URL parameter, namely ':username'.
- type ParamsUser struct {
- *models.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 := models.GetUserByName(c.Params(":username"))
- if err != nil {
- c.NotFoundOrServerError("GetUserByName", errors.IsUserNotExist, err)
- return
- }
- c.Map(&ParamsUser{user})
- }
- }
|