12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package tunnelstore
- import (
- "net/url"
- "time"
- "github.com/google/uuid"
- )
- const (
- TimeLayout = time.RFC3339
- )
- type Filter struct {
- queryParams url.Values
- }
- func NewFilter() *Filter {
- return &Filter{
- queryParams: url.Values{},
- }
- }
- func (f *Filter) ByName(name string) {
- f.queryParams.Set("name", name)
- }
- func (f *Filter) NoDeleted() {
- f.queryParams.Set("is_deleted", "false")
- }
- func (f *Filter) ByExistedAt(existedAt time.Time) {
- f.queryParams.Set("existed_at", existedAt.Format(TimeLayout))
- }
- func (f *Filter) ByTunnelID(tunnelID uuid.UUID) {
- f.queryParams.Set("uuid", tunnelID.String())
- }
- func (f Filter) encode() string {
- return f.queryParams.Encode()
- }
|