File tree Expand file tree Collapse file tree 3 files changed +32
-6
lines changed Expand file tree Collapse file tree 3 files changed +32
-6
lines changed Original file line number Diff line number Diff line change @@ -63,12 +63,12 @@ func IsStaring(userID, repoID int64) bool {
63
63
// GetStargazers returns the users that starred the repo.
64
64
func (repo * Repository ) GetStargazers (page int ) ([]* User , error ) {
65
65
users := make ([]* User , 0 , ItemsPerPage )
66
- err := x .
67
- Limit ( ItemsPerPage , ( page - 1 ) * ItemsPerPage ).
68
- Where ( "star.repo_id = ?" , repo . ID ).
69
- Join ( "LEFT" , "star" , "`user`.id = star.uid" ).
70
- Find ( & users )
71
- return users , err
66
+ sess := x . Where ( "star.repo_id = ?" , repo . ID ) .
67
+ Join ( "LEFT" , "star" , "`user`.id = star.uid" )
68
+ if page > 0 {
69
+ sess = sess . Limit ( ItemsPerPage , ( page - 1 ) * ItemsPerPage )
70
+ }
71
+ return users , sess . Find ( & users )
72
72
}
73
73
74
74
// GetStarredRepos returns the repos the user starred.
Original file line number Diff line number Diff line change @@ -326,6 +326,7 @@ func RegisterRoutes(m *macaron.Macaron) {
326
326
Patch (reqRepoWriter (), bind (api.EditMilestoneOption {}), repo .EditMilestone ).
327
327
Delete (reqRepoWriter (), repo .DeleteMilestone )
328
328
})
329
+ m .Get ("/stargazers" , repo .ListStargazers )
329
330
m .Group ("/subscription" , func () {
330
331
m .Get ("" , user .IsWatching )
331
332
m .Put ("" , user .Watch )
Original file line number Diff line number Diff line change
1
+ // Copyright 2017 The Gitea Authors. All rights reserved.
2
+ // Use of this source code is governed by a MIT-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ package repo
6
+
7
+ import (
8
+ api "code.gitea.io/sdk/gitea"
9
+
10
+ "code.gitea.io/gitea/modules/context"
11
+ )
12
+
13
+ // ListStargazers list a repository's stargazers
14
+ func ListStargazers (ctx * context.APIContext ) {
15
+ stargazers , err := ctx .Repo .Repository .GetStargazers (- 1 )
16
+ if err != nil {
17
+ ctx .Error (500 , "GetStargazers" , err )
18
+ return
19
+ }
20
+ users := make ([]* api.User , len (stargazers ))
21
+ for i , stargazer := range stargazers {
22
+ users [i ] = stargazer .APIFormat ()
23
+ }
24
+ ctx .JSON (200 , users )
25
+ }
You can’t perform that action at this time.
0 commit comments