| @@ -207,6 +207,7 @@ type User4Front struct { | |||||
| Language string `xorm:"VARCHAR(5)"` | Language string `xorm:"VARCHAR(5)"` | ||||
| Description string | Description string | ||||
| RelAvatarLink string | RelAvatarLink string | ||||
| NumMembers int | |||||
| CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` | CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` | ||||
| UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` | UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` | ||||
| } | } | ||||
| @@ -222,6 +223,7 @@ func (u *User) ToFrontFormat() *User4Front { | |||||
| Description: u.Description, | Description: u.Description, | ||||
| CreatedUnix: u.CreatedUnix, | CreatedUnix: u.CreatedUnix, | ||||
| UpdatedUnix: u.UpdatedUnix, | UpdatedUnix: u.UpdatedUnix, | ||||
| NumMembers: u.NumMembers, | |||||
| } | } | ||||
| if !u.KeepEmailPrivate { | if !u.KeepEmailPrivate { | ||||
| uf.Email = u.Email | uf.Email = u.Email | ||||
| @@ -334,6 +334,17 @@ func ActiveUser(ctx *context.Context) { | |||||
| resultMap["Users"] = result | resultMap["Users"] = result | ||||
| ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) | ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) | ||||
| } | } | ||||
| func ActiveOrg(ctx *context.Context) { | |||||
| result, err := repository.GetActiveOrgs() | |||||
| if err != nil { | |||||
| log.Error("ActiveOrg err. %v", err) | |||||
| ctx.JSON(http.StatusOK, response.Success()) | |||||
| return | |||||
| } | |||||
| resultMap := make(map[string]interface{}, 0) | |||||
| resultMap["Orgs"] = result | |||||
| ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) | |||||
| } | |||||
| func RepoFind(ctx *context.Context) { | func RepoFind(ctx *context.Context) { | ||||
| keyword := strings.Trim(ctx.Query("q"), " ") | keyword := strings.Trim(ctx.Query("q"), " ") | ||||
| @@ -375,7 +375,7 @@ func RegisterRoutes(m *macaron.Macaron) { | |||||
| m.Group("/square", func() { | m.Group("/square", func() { | ||||
| m.Get("/tab", routers.RepoSquare) | m.Get("/tab", routers.RepoSquare) | ||||
| m.Get("/active-user", routers.ActiveUser) | m.Get("/active-user", routers.ActiveUser) | ||||
| m.Get("/active-org", routers.RepoSquare) | |||||
| m.Get("/active-org", routers.ActiveOrg) | |||||
| }) | }) | ||||
| m.Get("/search", routers.RepoFind) | m.Get("/search", routers.RepoFind) | ||||
| @@ -190,3 +190,15 @@ func GetActiveUser4Square(currentUserId int64) ([]*ActiveUser, error) { | |||||
| } | } | ||||
| return result, nil | return result, nil | ||||
| } | } | ||||
| func GetActiveOrgs() ([]*models.User4Front, error) { | |||||
| orgScores, err := models.FindTopNOpenIOrgs(10) | |||||
| if err != nil { | |||||
| return nil, err | |||||
| } | |||||
| orgs := make([]*models.User4Front, len(orgScores)) | |||||
| for i, v := range orgScores { | |||||
| orgs[i] = v.ToFrontFormat() | |||||
| } | |||||
| return orgs, nil | |||||
| } | |||||