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.

mlops.go 1.7 kB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package repo
  2. import (
  3. "net/http"
  4. "code.gitea.io/gitea/models"
  5. "code.gitea.io/gitea/modules/context"
  6. "code.gitea.io/gitea/modules/convert"
  7. "code.gitea.io/gitea/modules/log"
  8. api "code.gitea.io/gitea/modules/structs"
  9. "code.gitea.io/gitea/routers/api/v1/utils"
  10. )
  11. //标注任务可分配人员
  12. func ListTagger(ctx *context.APIContext) {
  13. taggers := make([]*api.Tagger, 0)
  14. userRemember := make(map[string]string)
  15. collaborators, err := ctx.Repo.Repository.GetCollaborators(utils.GetListOptions(ctx))
  16. if err != nil {
  17. log.Warn("ListCollaborators", err)
  18. ctx.JSON(http.StatusOK, taggers)
  19. return
  20. }
  21. for _, collaborator := range collaborators {
  22. taggers = append(taggers, convert.ToTagger(collaborator.User))
  23. userRemember[collaborator.User.Name] = ""
  24. }
  25. teams, err := ctx.Repo.Repository.GetRepoTeams()
  26. if err != nil {
  27. log.Warn("ListTeams", err)
  28. ctx.JSON(http.StatusOK, taggers)
  29. return
  30. }
  31. for _, team := range teams {
  32. team.GetMembers(&models.SearchMembersOptions{})
  33. for _, user := range team.Members {
  34. if _, ok := userRemember[user.Name]; !ok {
  35. taggers = append(taggers, convert.ToTagger(user))
  36. userRemember[user.Name] = ""
  37. }
  38. }
  39. }
  40. if !ctx.Repo.Owner.IsOrganization() {
  41. if _, ok := userRemember[ctx.Repo.Owner.Name]; !ok {
  42. taggers = append(taggers, convert.ToTagger(ctx.Repo.Owner))
  43. }
  44. }
  45. ctx.JSON(http.StatusOK, taggers)
  46. }
  47. func GetRight(ctx *context.APIContext) {
  48. right := "none"
  49. if ctx.IsUserRepoReaderSpecific(models.UnitTypeCode) {
  50. right = "read"
  51. }
  52. if ctx.IsUserRepoWriter([]models.UnitType{models.UnitTypeCode}) || ctx.IsUserRepoAdmin() {
  53. right = "write"
  54. }
  55. ctx.JSON(http.StatusOK, map[string]string{
  56. "right": right,
  57. })
  58. }