Ver código fonte

minor fix on API response

Unknwon 9 anos atrás
pai
commit
1453e91f41
5 arquivos alterados com 13 adições e 16 exclusões
  1. 2 0
      cmd/web.go
  2. 1 1
      models/access.go
  3. 1 1
      models/migrations/migrations.go
  4. 6 12
      routers/api/v1/repo.go
  5. 3 2
      routers/api/v1/user.go

+ 2 - 0
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)

+ 1 - 1
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 {

+ 1 - 1
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()

+ 6 - 12
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++
 	}
 

+ 3 - 2
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(),
 	}
 }