MCPcopy Create free account
hub / github.com/gogs/gogs / StarRepo

Function StarRepo

internal/database/repo.go:2476–2499  ·  view source on GitHub ↗

Star or unstar repository. Deprecated: Use Stars.Star instead.

(userID, repoID int64, star bool)

Source from the content-addressed store, hash-verified

2474//
2475// Deprecated: Use Stars.Star instead.
2476func StarRepo(userID, repoID int64, star bool) (err error) {
2477 if star {
2478 if IsStaring(userID, repoID) {
2479 return nil
2480 }
2481 if _, err = x.Insert(&Star{UserID: userID, RepoID: repoID}); err != nil {
2482 return err
2483 } else if _, err = x.Exec("UPDATE `repository` SET num_stars = num_stars + 1 WHERE id = ?", repoID); err != nil {
2484 return err
2485 }
2486 _, err = x.Exec("UPDATE `user` SET num_stars = num_stars + 1 WHERE id = ?", userID)
2487 } else {
2488 if !IsStaring(userID, repoID) {
2489 return nil
2490 }
2491 if _, err = x.Delete(&Star{0, userID, repoID}); err != nil {
2492 return err
2493 } else if _, err = x.Exec("UPDATE `repository` SET num_stars = num_stars - 1 WHERE id = ?", repoID); err != nil {
2494 return err
2495 }
2496 _, err = x.Exec("UPDATE `user` SET num_stars = num_stars - 1 WHERE id = ?", userID)
2497 }
2498 return err
2499}
2500
2501// IsStaring checks if user has starred given repository.
2502func IsStaring(userID, repoID int64) bool {

Callers 1

ActionFunction · 0.92

Calls 4

IsStaringFunction · 0.85
InsertMethod · 0.80
ExecMethod · 0.80
DeleteMethod · 0.80

Tested by

no test coverage detected