minor fix on API response
This commit is contained in:
parent
2b393f5b03
commit
1453e91f41
5 changed files with 13 additions and 16 deletions
|
@ -232,6 +232,8 @@ func runWeb(ctx *cli.Context) {
|
||||||
m.Combo("/user/repos", middleware.ApiReqToken()).Get(v1.ListMyRepos).
|
m.Combo("/user/repos", middleware.ApiReqToken()).Get(v1.ListMyRepos).
|
||||||
Post(bind(api.CreateRepoOption{}), v1.CreateRepo)
|
Post(bind(api.CreateRepoOption{}), v1.CreateRepo)
|
||||||
m.Post("/org/:org/repos", middleware.ApiReqToken(), bind(api.CreateRepoOption{}), v1.CreateOrgRepo)
|
m.Post("/org/:org/repos", middleware.ApiReqToken(), bind(api.CreateRepoOption{}), v1.CreateOrgRepo)
|
||||||
|
|
||||||
|
// TODO: https://github.com/gogits/go-gogs-client/wiki
|
||||||
m.Group("/repos", func() {
|
m.Group("/repos", func() {
|
||||||
m.Get("/search", v1.SearchRepos)
|
m.Get("/search", v1.SearchRepos)
|
||||||
m.Post("/migrate", bindIgnErr(auth.MigrateRepoForm{}), v1.MigrateRepo)
|
m.Post("/migrate", bindIgnErr(auth.MigrateRepoForm{}), v1.MigrateRepo)
|
||||||
|
|
|
@ -68,7 +68,7 @@ func HasAccess(u *User, repo *Repository, testMode AccessMode) (bool, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAccessibleRepositories finds all repositories where a user has access to,
|
// GetAccessibleRepositories finds all repositories where a user has access to,
|
||||||
// besides his own.
|
// besides he/she owns.
|
||||||
func (u *User) GetAccessibleRepositories() (map[*Repository]AccessMode, error) {
|
func (u *User) GetAccessibleRepositories() (map[*Repository]AccessMode, error) {
|
||||||
accesses := make([]*Access, 0, 10)
|
accesses := make([]*Access, 0, 10)
|
||||||
if err := x.Find(&accesses, &Access{UserID: u.Id}); err != nil {
|
if err := x.Find(&accesses, &Access{UserID: u.Id}); err != nil {
|
||||||
|
|
|
@ -470,7 +470,7 @@ func trimCommitActionAppUrlPrefix(x *xorm.Engine) error {
|
||||||
if _, err = sess.Id(actID).Update(&Action{
|
if _, err = sess.Id(actID).Update(&Action{
|
||||||
Content: string(p),
|
Content: string(p),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return fmt.Errorf("update action[%s]: %v", actID, err)
|
return fmt.Errorf("update action[%d]: %v", actID, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return sess.Commit()
|
return sess.Commit()
|
||||||
|
|
|
@ -120,7 +120,7 @@ func createRepo(ctx *middleware.Context, owner *models.User, opt api.CreateRepoO
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(200, ToApiRepository(owner, repo, api.Permission{true, true, true}))
|
ctx.JSON(201, ToApiRepository(owner, repo, api.Permission{true, true, true}))
|
||||||
}
|
}
|
||||||
|
|
||||||
// POST /user/repos
|
// POST /user/repos
|
||||||
|
@ -254,17 +254,11 @@ func ListMyRepos(ctx *middleware.Context) {
|
||||||
i := numOwnRepos
|
i := numOwnRepos
|
||||||
|
|
||||||
for repo, access := range accessibleRepos {
|
for repo, access := range accessibleRepos {
|
||||||
if err = repo.GetOwner(); err != nil {
|
repos[i] = ToApiRepository(repo.Owner, repo, api.Permission{
|
||||||
ctx.JSON(500, &base.ApiJsonErr{"GetOwner: " + err.Error(), base.DOC_URL})
|
Admin: access >= models.ACCESS_MODE_ADMIN,
|
||||||
return
|
Push: access >= models.ACCESS_MODE_WRITE,
|
||||||
}
|
Pull: true,
|
||||||
|
})
|
||||||
repos[i] = ToApiRepository(repo.Owner, repo, api.Permission{false, access >= models.ACCESS_MODE_WRITE, true})
|
|
||||||
|
|
||||||
// FIXME: cache result to reduce DB query?
|
|
||||||
if repo.Owner.IsOrganization() && repo.Owner.IsOwnedBy(ctx.User.Id) {
|
|
||||||
repos[i].Permissions.Admin = true
|
|
||||||
}
|
|
||||||
i++
|
i++
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ import (
|
||||||
"github.com/gogits/gogs/models"
|
"github.com/gogits/gogs/models"
|
||||||
"github.com/gogits/gogs/modules/base"
|
"github.com/gogits/gogs/modules/base"
|
||||||
"github.com/gogits/gogs/modules/middleware"
|
"github.com/gogits/gogs/modules/middleware"
|
||||||
"github.com/gogits/gogs/modules/setting"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ToApiUser converts user to API format.
|
// ToApiUser converts user to API format.
|
||||||
|
@ -20,7 +19,9 @@ func ToApiUser(u *models.User) *api.User {
|
||||||
return &api.User{
|
return &api.User{
|
||||||
ID: u.Id,
|
ID: u.Id,
|
||||||
UserName: u.Name,
|
UserName: u.Name,
|
||||||
AvatarUrl: string(setting.Protocol) + u.AvatarLink(),
|
FullName: u.FullName,
|
||||||
|
Email: u.Email,
|
||||||
|
AvatarUrl: u.AvatarLink(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue