Browse Source

minor fix on API response

pull/1515/head
Unknwon 9 years ago
parent
commit
1453e91f41
  1. 2
      cmd/web.go
  2. 2
      models/access.go
  3. 2
      models/migrations/migrations.go
  4. 18
      routers/api/v1/repo.go
  5. 5
      routers/api/v1/user.go

2
cmd/web.go

@ -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)

2
models/access.go

@ -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 {

2
models/migrations/migrations.go

@ -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()

18
routers/api/v1/repo.go

@ -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++
} }

5
routers/api/v1/user.go

@ -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(),
} }
} }

Loading…
Cancel
Save