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