Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

utils.go 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package utils
  5. import (
  6. "strings"
  7. "time"
  8. "code.gitea.io/gitea/models"
  9. "code.gitea.io/gitea/modules/context"
  10. "code.gitea.io/gitea/modules/convert"
  11. )
  12. // GetQueryBeforeSince return parsed time (unix format) from URL query's before and since
  13. func GetQueryBeforeSince(ctx *context.APIContext) (before, since int64, err error) {
  14. qCreatedBefore := strings.Trim(ctx.Query("before"), " ")
  15. if qCreatedBefore != "" {
  16. createdBefore, err := time.Parse(time.RFC3339, qCreatedBefore)
  17. if err != nil {
  18. return 0, 0, err
  19. }
  20. if !createdBefore.IsZero() {
  21. before = createdBefore.Unix()
  22. }
  23. }
  24. qCreatedAfter := strings.Trim(ctx.Query("since"), " ")
  25. if qCreatedAfter != "" {
  26. createdAfter, err := time.Parse(time.RFC3339, qCreatedAfter)
  27. if err != nil {
  28. return 0, 0, err
  29. }
  30. if !createdAfter.IsZero() {
  31. since = createdAfter.Unix()
  32. }
  33. }
  34. return before, since, nil
  35. }
  36. // GetListOptions returns list options using the page and limit parameters
  37. func GetListOptions(ctx *context.APIContext) models.ListOptions {
  38. return models.ListOptions{
  39. Page: ctx.QueryInt("page"),
  40. PageSize: convert.ToCorrectPageSize(ctx.QueryInt("limit")),
  41. }
  42. }