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).
Post(bind(api.CreateRepoOption{}), v1.CreateRepo)
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.Get("/search", v1.SearchRepos)
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,
// besides his own.
// besides he/she owns.
func (u *User) GetAccessibleRepositories() (map[*Repository]AccessMode, error) {
accesses := make([]*Access, 0, 10)
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{
Content: string(p),
}); err != nil {
return fmt.Errorf("update action[%s]: %v", actID, err)
return fmt.Errorf("update action[%d]: %v", actID, err)
}
}
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
}
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
@ -254,17 +254,11 @@ func ListMyRepos(ctx *middleware.Context) {
i := numOwnRepos
for repo, access := range accessibleRepos {
if err = repo.GetOwner(); err != nil {
ctx.JSON(500, &base.ApiJsonErr{"GetOwner: " + err.Error(), base.DOC_URL})
return
}
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
}
repos[i] = ToApiRepository(repo.Owner, repo, api.Permission{
Admin: access >= models.ACCESS_MODE_ADMIN,
Push: access >= models.ACCESS_MODE_WRITE,
Pull: true,
})
i++
}

5
routers/api/v1/user.go

@ -12,7 +12,6 @@ import (
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/middleware"
"github.com/gogits/gogs/modules/setting"
)
// ToApiUser converts user to API format.
@ -20,7 +19,9 @@ func ToApiUser(u *models.User) *api.User {
return &api.User{
ID: u.Id,
UserName: u.Name,
AvatarUrl: string(setting.Protocol) + u.AvatarLink(),
FullName: u.FullName,
Email: u.Email,
AvatarUrl: u.AvatarLink(),
}
}

Loading…
Cancel
Save