gitea源码

search.go 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package repo
  4. import "code.gitea.io/gitea/models/db"
  5. // OrderByMap represents all possible search order
  6. var OrderByMap = map[string]map[string]db.SearchOrderBy{
  7. "asc": {
  8. "alpha": "owner_name ASC, name ASC",
  9. "created": db.SearchOrderByOldest,
  10. "updated": db.SearchOrderByLeastUpdated,
  11. "size": "size ASC",
  12. "git_size": "git_size ASC",
  13. "lfs_size": "lfs_size ASC",
  14. "id": db.SearchOrderByID,
  15. "stars": db.SearchOrderByStars,
  16. "forks": db.SearchOrderByForks,
  17. },
  18. "desc": {
  19. "alpha": "owner_name DESC, name DESC",
  20. "created": db.SearchOrderByNewest,
  21. "updated": db.SearchOrderByRecentUpdated,
  22. "size": "size DESC",
  23. "git_size": "git_size DESC",
  24. "lfs_size": "lfs_size DESC",
  25. "id": db.SearchOrderByIDReverse,
  26. "stars": db.SearchOrderByStarsReverse,
  27. "forks": db.SearchOrderByForksReverse,
  28. },
  29. }
  30. // OrderByFlatMap is similar to OrderByMap but use human language keywords
  31. // to decide between asc and desc
  32. var OrderByFlatMap = map[string]db.SearchOrderBy{
  33. "newest": OrderByMap["desc"]["created"],
  34. "oldest": OrderByMap["asc"]["created"],
  35. "recentupdate": OrderByMap["desc"]["updated"],
  36. "leastupdate": OrderByMap["asc"]["updated"],
  37. "reversealphabetically": OrderByMap["desc"]["alpha"],
  38. "alphabetically": OrderByMap["asc"]["alpha"],
  39. "reversesize": OrderByMap["desc"]["size"],
  40. "size": OrderByMap["asc"]["size"],
  41. "reversegitsize": OrderByMap["desc"]["git_size"],
  42. "gitsize": OrderByMap["asc"]["git_size"],
  43. "reverselfssize": OrderByMap["desc"]["lfs_size"],
  44. "lfssize": OrderByMap["asc"]["lfs_size"],
  45. "moststars": OrderByMap["desc"]["stars"],
  46. "feweststars": OrderByMap["asc"]["stars"],
  47. "mostforks": OrderByMap["desc"]["forks"],
  48. "fewestforks": OrderByMap["asc"]["forks"],
  49. }