Star or unstar repository. Deprecated: Use Stars.Star instead.
(userID, repoID int64, star bool)
| 2474 | // |
| 2475 | // Deprecated: Use Stars.Star instead. |
| 2476 | func 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. |
| 2502 | func IsStaring(userID, repoID int64) bool { |