@@ -11,6 +11,7 @@ import (
1111 access_model "code.gitea.io/gitea/models/perm/access"
1212 repo_model "code.gitea.io/gitea/models/repo"
1313 user_model "code.gitea.io/gitea/models/user"
14+ "code.gitea.io/gitea/modules/setting"
1415 api "code.gitea.io/gitea/modules/structs"
1516 "code.gitea.io/gitea/routers/api/v1/utils"
1617 "code.gitea.io/gitea/services/context"
@@ -66,6 +67,13 @@ func GetStarredRepos(ctx *context.APIContext) {
6667 // "$ref": "#/responses/RepositoryList"
6768 // "404":
6869 // "$ref": "#/responses/notFound"
70+ // "410":
71+ // "$ref": "#/responses/gone"
72+
73+ if setting .Repository .DisableStars {
74+ ctx .Error (http .StatusGone , "StarsDisabled" , "Stars are disabled." )
75+ return
76+ }
6977
7078 private := ctx .ContextUser .ID == ctx .Doer .ID
7179 repos , err := getStarredRepos (ctx , ctx .ContextUser , private )
@@ -97,6 +105,13 @@ func GetMyStarredRepos(ctx *context.APIContext) {
97105 // responses:
98106 // "200":
99107 // "$ref": "#/responses/RepositoryList"
108+ // "410":
109+ // "$ref": "#/responses/gone"
110+
111+ if setting .Repository .DisableStars {
112+ ctx .Error (http .StatusGone , "StarsDisabled" , "Stars are disabled." )
113+ return
114+ }
100115
101116 repos , err := getStarredRepos (ctx , ctx .Doer , true )
102117 if err != nil {
@@ -128,6 +143,13 @@ func IsStarring(ctx *context.APIContext) {
128143 // "$ref": "#/responses/empty"
129144 // "404":
130145 // "$ref": "#/responses/notFound"
146+ // "410":
147+ // "$ref": "#/responses/gone"
148+
149+ if setting .Repository .DisableStars {
150+ ctx .Error (http .StatusGone , "StarsDisabled" , "Stars are disabled." )
151+ return
152+ }
131153
132154 if repo_model .IsStaring (ctx , ctx .Doer .ID , ctx .Repo .Repository .ID ) {
133155 ctx .Status (http .StatusNoContent )
@@ -159,6 +181,13 @@ func Star(ctx *context.APIContext) {
159181 // "$ref": "#/responses/forbidden"
160182 // "404":
161183 // "$ref": "#/responses/notFound"
184+ // "410":
185+ // "$ref": "#/responses/gone"
186+
187+ if setting .Repository .DisableStars {
188+ ctx .Error (http .StatusGone , "StarsDisabled" , "Stars are disabled." )
189+ return
190+ }
162191
163192 err := repo_model .StarRepo (ctx , ctx .Doer , ctx .Repo .Repository , true )
164193 if err != nil {
@@ -193,6 +222,13 @@ func Unstar(ctx *context.APIContext) {
193222 // "$ref": "#/responses/empty"
194223 // "404":
195224 // "$ref": "#/responses/notFound"
225+ // "410":
226+ // "$ref": "#/responses/gone"
227+
228+ if setting .Repository .DisableStars {
229+ ctx .Error (http .StatusGone , "StarsDisabled" , "Stars are disabled." )
230+ return
231+ }
196232
197233 err := repo_model .StarRepo (ctx , ctx .Doer , ctx .Repo .Repository , false )
198234 if err != nil {
0 commit comments