@@ -47,21 +47,21 @@ type ActivityStats struct {
47
47
func GetActivityStats (ctx context.Context , repo * repo_model.Repository , timeFrom time.Time , releases , issues , prs , code bool ) (* ActivityStats , error ) {
48
48
stats := & ActivityStats {Code : & git.CodeActivityStats {}}
49
49
if releases {
50
- if err := stats .FillReleases (repo .ID , timeFrom ); err != nil {
50
+ if err := stats .FillReleases (ctx , repo .ID , timeFrom ); err != nil {
51
51
return nil , fmt .Errorf ("FillReleases: %w" , err )
52
52
}
53
53
}
54
54
if prs {
55
- if err := stats .FillPullRequests (repo .ID , timeFrom ); err != nil {
55
+ if err := stats .FillPullRequests (ctx , repo .ID , timeFrom ); err != nil {
56
56
return nil , fmt .Errorf ("FillPullRequests: %w" , err )
57
57
}
58
58
}
59
59
if issues {
60
- if err := stats .FillIssues (repo .ID , timeFrom ); err != nil {
60
+ if err := stats .FillIssues (ctx , repo .ID , timeFrom ); err != nil {
61
61
return nil , fmt .Errorf ("FillIssues: %w" , err )
62
62
}
63
63
}
64
- if err := stats .FillUnresolvedIssues (repo .ID , timeFrom , issues , prs ); err != nil {
64
+ if err := stats .FillUnresolvedIssues (ctx , repo .ID , timeFrom , issues , prs ); err != nil {
65
65
return nil , fmt .Errorf ("FillUnresolvedIssues: %w" , err )
66
66
}
67
67
if code {
@@ -205,41 +205,41 @@ func (stats *ActivityStats) PublishedReleaseCount() int {
205
205
}
206
206
207
207
// FillPullRequests returns pull request information for activity page
208
- func (stats * ActivityStats ) FillPullRequests (repoID int64 , fromTime time.Time ) error {
208
+ func (stats * ActivityStats ) FillPullRequests (ctx context. Context , repoID int64 , fromTime time.Time ) error {
209
209
var err error
210
210
var count int64
211
211
212
212
// Merged pull requests
213
- sess := pullRequestsForActivityStatement (repoID , fromTime , true )
213
+ sess := pullRequestsForActivityStatement (ctx , repoID , fromTime , true )
214
214
sess .OrderBy ("pull_request.merged_unix DESC" )
215
215
stats .MergedPRs = make (issues_model.PullRequestList , 0 )
216
216
if err = sess .Find (& stats .MergedPRs ); err != nil {
217
217
return err
218
218
}
219
- if err = stats .MergedPRs .LoadAttributes (); err != nil {
219
+ if err = stats .MergedPRs .LoadAttributes (ctx ); err != nil {
220
220
return err
221
221
}
222
222
223
223
// Merged pull request authors
224
- sess = pullRequestsForActivityStatement (repoID , fromTime , true )
224
+ sess = pullRequestsForActivityStatement (ctx , repoID , fromTime , true )
225
225
if _ , err = sess .Select ("count(distinct issue.poster_id) as `count`" ).Table ("pull_request" ).Get (& count ); err != nil {
226
226
return err
227
227
}
228
228
stats .MergedPRAuthorCount = count
229
229
230
230
// Opened pull requests
231
- sess = pullRequestsForActivityStatement (repoID , fromTime , false )
231
+ sess = pullRequestsForActivityStatement (ctx , repoID , fromTime , false )
232
232
sess .OrderBy ("issue.created_unix ASC" )
233
233
stats .OpenedPRs = make (issues_model.PullRequestList , 0 )
234
234
if err = sess .Find (& stats .OpenedPRs ); err != nil {
235
235
return err
236
236
}
237
- if err = stats .OpenedPRs .LoadAttributes (); err != nil {
237
+ if err = stats .OpenedPRs .LoadAttributes (ctx ); err != nil {
238
238
return err
239
239
}
240
240
241
241
// Opened pull request authors
242
- sess = pullRequestsForActivityStatement (repoID , fromTime , false )
242
+ sess = pullRequestsForActivityStatement (ctx , repoID , fromTime , false )
243
243
if _ , err = sess .Select ("count(distinct issue.poster_id) as `count`" ).Table ("pull_request" ).Get (& count ); err != nil {
244
244
return err
245
245
}
@@ -248,8 +248,8 @@ func (stats *ActivityStats) FillPullRequests(repoID int64, fromTime time.Time) e
248
248
return nil
249
249
}
250
250
251
- func pullRequestsForActivityStatement (repoID int64 , fromTime time.Time , merged bool ) * xorm.Session {
252
- sess := db .GetEngine (db . DefaultContext ).Where ("pull_request.base_repo_id=?" , repoID ).
251
+ func pullRequestsForActivityStatement (ctx context. Context , repoID int64 , fromTime time.Time , merged bool ) * xorm.Session {
252
+ sess := db .GetEngine (ctx ).Where ("pull_request.base_repo_id=?" , repoID ).
253
253
Join ("INNER" , "issue" , "pull_request.issue_id = issue.id" )
254
254
255
255
if merged {
@@ -264,35 +264,35 @@ func pullRequestsForActivityStatement(repoID int64, fromTime time.Time, merged b
264
264
}
265
265
266
266
// FillIssues returns issue information for activity page
267
- func (stats * ActivityStats ) FillIssues (repoID int64 , fromTime time.Time ) error {
267
+ func (stats * ActivityStats ) FillIssues (ctx context. Context , repoID int64 , fromTime time.Time ) error {
268
268
var err error
269
269
var count int64
270
270
271
271
// Closed issues
272
- sess := issuesForActivityStatement (repoID , fromTime , true , false )
272
+ sess := issuesForActivityStatement (ctx , repoID , fromTime , true , false )
273
273
sess .OrderBy ("issue.closed_unix DESC" )
274
274
stats .ClosedIssues = make (issues_model.IssueList , 0 )
275
275
if err = sess .Find (& stats .ClosedIssues ); err != nil {
276
276
return err
277
277
}
278
278
279
279
// Closed issue authors
280
- sess = issuesForActivityStatement (repoID , fromTime , true , false )
280
+ sess = issuesForActivityStatement (ctx , repoID , fromTime , true , false )
281
281
if _ , err = sess .Select ("count(distinct issue.poster_id) as `count`" ).Table ("issue" ).Get (& count ); err != nil {
282
282
return err
283
283
}
284
284
stats .ClosedIssueAuthorCount = count
285
285
286
286
// New issues
287
- sess = issuesForActivityStatement (repoID , fromTime , false , false )
287
+ sess = issuesForActivityStatement (ctx , repoID , fromTime , false , false )
288
288
sess .OrderBy ("issue.created_unix ASC" )
289
289
stats .OpenedIssues = make (issues_model.IssueList , 0 )
290
290
if err = sess .Find (& stats .OpenedIssues ); err != nil {
291
291
return err
292
292
}
293
293
294
294
// Opened issue authors
295
- sess = issuesForActivityStatement (repoID , fromTime , false , false )
295
+ sess = issuesForActivityStatement (ctx , repoID , fromTime , false , false )
296
296
if _ , err = sess .Select ("count(distinct issue.poster_id) as `count`" ).Table ("issue" ).Get (& count ); err != nil {
297
297
return err
298
298
}
@@ -302,12 +302,12 @@ func (stats *ActivityStats) FillIssues(repoID int64, fromTime time.Time) error {
302
302
}
303
303
304
304
// FillUnresolvedIssues returns unresolved issue and pull request information for activity page
305
- func (stats * ActivityStats ) FillUnresolvedIssues (repoID int64 , fromTime time.Time , issues , prs bool ) error {
305
+ func (stats * ActivityStats ) FillUnresolvedIssues (ctx context. Context , repoID int64 , fromTime time.Time , issues , prs bool ) error {
306
306
// Check if we need to select anything
307
307
if ! issues && ! prs {
308
308
return nil
309
309
}
310
- sess := issuesForActivityStatement (repoID , fromTime , false , true )
310
+ sess := issuesForActivityStatement (ctx , repoID , fromTime , false , true )
311
311
if ! issues || ! prs {
312
312
sess .And ("issue.is_pull = ?" , prs )
313
313
}
@@ -316,8 +316,8 @@ func (stats *ActivityStats) FillUnresolvedIssues(repoID int64, fromTime time.Tim
316
316
return sess .Find (& stats .UnresolvedIssues )
317
317
}
318
318
319
- func issuesForActivityStatement (repoID int64 , fromTime time.Time , closed , unresolved bool ) * xorm.Session {
320
- sess := db .GetEngine (db . DefaultContext ).Where ("issue.repo_id = ?" , repoID ).
319
+ func issuesForActivityStatement (ctx context. Context , repoID int64 , fromTime time.Time , closed , unresolved bool ) * xorm.Session {
320
+ sess := db .GetEngine (ctx ).Where ("issue.repo_id = ?" , repoID ).
321
321
And ("issue.is_closed = ?" , closed )
322
322
323
323
if ! unresolved {
@@ -336,20 +336,20 @@ func issuesForActivityStatement(repoID int64, fromTime time.Time, closed, unreso
336
336
}
337
337
338
338
// FillReleases returns release information for activity page
339
- func (stats * ActivityStats ) FillReleases (repoID int64 , fromTime time.Time ) error {
339
+ func (stats * ActivityStats ) FillReleases (ctx context. Context , repoID int64 , fromTime time.Time ) error {
340
340
var err error
341
341
var count int64
342
342
343
343
// Published releases list
344
- sess := releasesForActivityStatement (repoID , fromTime )
344
+ sess := releasesForActivityStatement (ctx , repoID , fromTime )
345
345
sess .OrderBy ("release.created_unix DESC" )
346
346
stats .PublishedReleases = make ([]* repo_model.Release , 0 )
347
347
if err = sess .Find (& stats .PublishedReleases ); err != nil {
348
348
return err
349
349
}
350
350
351
351
// Published releases authors
352
- sess = releasesForActivityStatement (repoID , fromTime )
352
+ sess = releasesForActivityStatement (ctx , repoID , fromTime )
353
353
if _ , err = sess .Select ("count(distinct release.publisher_id) as `count`" ).Table ("release" ).Get (& count ); err != nil {
354
354
return err
355
355
}
@@ -358,8 +358,8 @@ func (stats *ActivityStats) FillReleases(repoID int64, fromTime time.Time) error
358
358
return nil
359
359
}
360
360
361
- func releasesForActivityStatement (repoID int64 , fromTime time.Time ) * xorm.Session {
362
- return db .GetEngine (db . DefaultContext ).Where ("release.repo_id = ?" , repoID ).
361
+ func releasesForActivityStatement (ctx context. Context , repoID int64 , fromTime time.Time ) * xorm.Session {
362
+ return db .GetEngine (ctx ).Where ("release.repo_id = ?" , repoID ).
363
363
And ("release.is_draft = ?" , false ).
364
364
And ("release.created_unix >= ?" , fromTime .Unix ())
365
365
}
0 commit comments