code.gitea.io/gitea@v1.22.3/services/context/utils.go (about)

     1  // Copyright 2017 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package context
     5  
     6  import (
     7  	"strings"
     8  	"time"
     9  )
    10  
    11  // GetQueryBeforeSince return parsed time (unix format) from URL query's before and since
    12  func GetQueryBeforeSince(ctx *Base) (before, since int64, err error) {
    13  	before, err = parseFormTime(ctx, "before")
    14  	if err != nil {
    15  		return 0, 0, err
    16  	}
    17  
    18  	since, err = parseFormTime(ctx, "since")
    19  	if err != nil {
    20  		return 0, 0, err
    21  	}
    22  	return before, since, nil
    23  }
    24  
    25  // parseTime parse time and return unix timestamp
    26  func parseFormTime(ctx *Base, name string) (int64, error) {
    27  	value := strings.TrimSpace(ctx.FormString(name))
    28  	if len(value) != 0 {
    29  		t, err := time.Parse(time.RFC3339, value)
    30  		if err != nil {
    31  			return 0, err
    32  		}
    33  		if !t.IsZero() {
    34  			return t.Unix(), nil
    35  		}
    36  	}
    37  	return 0, nil
    38  }