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.

utils.go 1.1 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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/modules/context"
  9. )
  10. // UserID user ID of authenticated user, or 0 if not authenticated
  11. func UserID(ctx *context.APIContext) int64 {
  12. if ctx.User == nil {
  13. return 0
  14. }
  15. return ctx.User.ID
  16. }
  17. // GetQueryBeforeSince return parsed time (unix format) from URL query's before and since
  18. func GetQueryBeforeSince(ctx *context.APIContext) (before, since int64, err error) {
  19. qCreatedBefore := strings.Trim(ctx.Query("before"), " ")
  20. if qCreatedBefore != "" {
  21. createdBefore, err := time.Parse(time.RFC3339, qCreatedBefore)
  22. if err != nil {
  23. return 0, 0, err
  24. }
  25. if !createdBefore.IsZero() {
  26. before = createdBefore.Unix()
  27. }
  28. }
  29. qCreatedAfter := strings.Trim(ctx.Query("since"), " ")
  30. if qCreatedAfter != "" {
  31. createdAfter, err := time.Parse(time.RFC3339, qCreatedAfter)
  32. if err != nil {
  33. return 0, 0, err
  34. }
  35. if !createdAfter.IsZero() {
  36. since = createdAfter.Unix()
  37. }
  38. }
  39. return before, since, nil
  40. }