Monorepo for Tangled tangled.org
856
fork

Configure Feed

Select the types of activity you want to include in your feed.

appview/db/repos: calculate the fork count of a repo #355

open opened by willdot.net targeting master from willdot.net/tangled-fork-2: repo-fork-counts

Signed-off-by: Will did:plc:dadhhalkfcq3gucaq25hjqon

Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:dadhhalkfcq3gucaq25hjqon/sh.tangled.repo.pull/3mlgnel3pcn22
+44
Diff #3
+43
appview/db/repos.go
··· 301 301 return nil, fmt.Errorf("failed to execute pulls-count query: %w", err) 302 302 } 303 303 304 + // get forks 305 + forksInClause := strings.TrimSuffix(strings.Repeat("?, ", len(repoMap)), ", ") 306 + forkArgs := make([]any, len(repoMap)) 307 + repoDidMap := make(map[string]syntax.ATURI) 308 + i = 0 309 + for aturi, r := range repoMap { 310 + forkArgs[i] = r.RepoDid 311 + repoDidMap[r.RepoDid] = aturi 312 + i++ 313 + } 314 + 315 + forksCountQuery := fmt.Sprintf( 316 + `select source, count(1) from repos where source in (%s) group by source`, 317 + forksInClause, 318 + ) 319 + 320 + rows, err = e.Query(forksCountQuery, forkArgs...) 321 + if err != nil { 322 + return nil, fmt.Errorf("failed to execute fork-count query: %w", err) 323 + } 324 + defer rows.Close() 325 + 326 + for rows.Next() { 327 + var repodid string 328 + var count int 329 + if err := rows.Scan(&repodid, &count); err != nil { 330 + log.Println("err", "err", err) 331 + continue 332 + } 333 + 334 + atURI, ok := repoDidMap[repodid] 335 + if !ok { 336 + continue 337 + } 338 + 339 + if r, ok := repoMap[atURI]; ok { 340 + r.RepoStats.ForkCount = count 341 + } 342 + } 343 + if err = rows.Err(); err != nil { 344 + return nil, fmt.Errorf("failed to execute fork-count query: %w", err) 345 + } 346 + 304 347 var repos []models.Repo 305 348 for _, r := range repoMap { 306 349 repos = append(repos, *r)
+1
appview/models/repo.go
··· 97 97 StarCount int 98 98 IssueCount IssueCount 99 99 PullCount PullCount 100 + ForkCount int 100 101 } 101 102 102 103 type IssueCount struct {

History

4 rounds 0 comments
sign up or login to add to the discussion
1 commit
expand
appview/db/repos: calculate the fork count of a repo
merge conflicts detected
expand
  • appview/db/repos.go:301
  • appview/models/repo.go:97
expand 0 comments
1 commit
expand
appview/db/repos: calculate the fork count of a repo
expand 0 comments
1 commit
expand
appview/db/repos: calculate the fork count of a repo
expand 0 comments
1 commit
expand
appview/db/repos: calculate the fork count of a repo
expand 0 comments