You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

tech.go 1.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package tech
  2. import "code.gitea.io/gitea/models"
  3. func FindTech(opt models.FindTechOpt) ([]*models.TechConvergeBrief, error) {
  4. techList, err := models.FindTech(opt)
  5. if err != nil {
  6. return nil, err
  7. }
  8. r := make([]*models.TechConvergeBrief, len(techList))
  9. for i := 0; i < len(techList); i++ {
  10. r[i] = techList[i].Brief()
  11. }
  12. return r, nil
  13. }
  14. func IsValidRepoConvergeExists(repoId, baseInfoId int64) (bool, error) {
  15. list, err := models.GetRepoConverge(models.GetRepoConvergeOpts{
  16. Status: []int{models.TechHide, models.TechShow, models.TechMigrating},
  17. RepoId: repoId,
  18. BaseInfoId: baseInfoId,
  19. })
  20. if err != nil {
  21. return false, err
  22. }
  23. return len(list) > 0, nil
  24. }
  25. func UpdateTechMigrateStatus() error {
  26. migratingRepos, err := models.GetRepoConverge(models.GetRepoConvergeOpts{
  27. Status: []int{models.TechMigrating},
  28. })
  29. if err != nil {
  30. return err
  31. }
  32. for _, r := range migratingRepos {
  33. repo, err := models.GetRepositoryByID(r.RepoID)
  34. if err != nil {
  35. if models.IsErrRepoNotExist(err) {
  36. models.UpdateRepoConvergeStatus(r.ID, models.TechMigrateFailed)
  37. continue
  38. }
  39. continue
  40. }
  41. if repo.Status == models.RepositoryReady {
  42. models.UpdateRepoConvergeStatus(r.ID, models.DefaultTechApprovedStatus)
  43. continue
  44. }
  45. }
  46. return nil
  47. }