Adding upstream version 0.28.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
88f1d47ab6
commit
e28c88ef14
933 changed files with 194711 additions and 0 deletions
135
tools/search/identifier_macros.go
Normal file
135
tools/search/identifier_macros.go
Normal file
|
@ -0,0 +1,135 @@
|
|||
package search
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
)
|
||||
|
||||
// note: used primarily for the tests
|
||||
var timeNow = func() time.Time {
|
||||
return time.Now()
|
||||
}
|
||||
|
||||
var identifierMacros = map[string]func() (any, error){
|
||||
"@now": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
|
||||
d, err := types.ParseDateTime(today)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@now: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@yesterday": func() (any, error) {
|
||||
yesterday := timeNow().UTC().AddDate(0, 0, -1)
|
||||
|
||||
d, err := types.ParseDateTime(yesterday)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@yesterday: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@tomorrow": func() (any, error) {
|
||||
tomorrow := timeNow().UTC().AddDate(0, 0, 1)
|
||||
|
||||
d, err := types.ParseDateTime(tomorrow)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@tomorrow: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@second": func() (any, error) {
|
||||
return timeNow().UTC().Second(), nil
|
||||
},
|
||||
"@minute": func() (any, error) {
|
||||
return timeNow().UTC().Minute(), nil
|
||||
},
|
||||
"@hour": func() (any, error) {
|
||||
return timeNow().UTC().Hour(), nil
|
||||
},
|
||||
"@day": func() (any, error) {
|
||||
return timeNow().UTC().Day(), nil
|
||||
},
|
||||
"@month": func() (any, error) {
|
||||
return int(timeNow().UTC().Month()), nil
|
||||
},
|
||||
"@weekday": func() (any, error) {
|
||||
return int(timeNow().UTC().Weekday()), nil
|
||||
},
|
||||
"@year": func() (any, error) {
|
||||
return timeNow().UTC().Year(), nil
|
||||
},
|
||||
"@todayStart": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
start := time.Date(today.Year(), today.Month(), today.Day(), 0, 0, 0, 0, time.UTC)
|
||||
|
||||
d, err := types.ParseDateTime(start)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@todayStart: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@todayEnd": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
|
||||
start := time.Date(today.Year(), today.Month(), today.Day(), 23, 59, 59, 999999999, time.UTC)
|
||||
|
||||
d, err := types.ParseDateTime(start)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@todayEnd: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@monthStart": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
start := time.Date(today.Year(), today.Month(), 1, 0, 0, 0, 0, time.UTC)
|
||||
|
||||
d, err := types.ParseDateTime(start)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@monthStart: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@monthEnd": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
start := time.Date(today.Year(), today.Month(), 1, 23, 59, 59, 999999999, time.UTC)
|
||||
end := start.AddDate(0, 1, -1)
|
||||
|
||||
d, err := types.ParseDateTime(end)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@monthEnd: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@yearStart": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
start := time.Date(today.Year(), 1, 1, 0, 0, 0, 0, time.UTC)
|
||||
|
||||
d, err := types.ParseDateTime(start)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@yearStart: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
"@yearEnd": func() (any, error) {
|
||||
today := timeNow().UTC()
|
||||
end := time.Date(today.Year(), 12, 31, 23, 59, 59, 999999999, time.UTC)
|
||||
|
||||
d, err := types.ParseDateTime(end)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("@yearEnd: %w", err)
|
||||
}
|
||||
|
||||
return d.String(), nil
|
||||
},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue