[#197] added now datetime filter constant

This commit is contained in:
Gani Georgiev
2022-08-15 22:37:54 +03:00
parent b7d32c23aa
commit 456ced75ce
13 changed files with 45 additions and 24 deletions
+13
View File
@@ -9,6 +9,7 @@ import (
"github.com/pocketbase/dbx"
"github.com/pocketbase/pocketbase/tools/security"
"github.com/pocketbase/pocketbase/tools/store"
"github.com/pocketbase/pocketbase/tools/types"
"github.com/spf13/cast"
)
@@ -129,6 +130,18 @@ func (f FilterData) resolveTokenizedExpr(expr fexpr.Expr, fieldResolver FieldRes
func (f FilterData) resolveToken(token fexpr.Token, fieldResolver FieldResolver) (name string, params dbx.Params, err error) {
switch token.Type {
case fexpr.TokenIdentifier:
// current datetime constant
// ---
if token.Literal == "@now" {
placeholder := "t" + security.RandomString(7)
name := fmt.Sprintf("{:%s}", placeholder)
params := dbx.Params{placeholder: types.NowDateTime().String()}
return name, params, nil
}
// custom resolver
// ---
name, params, err := fieldResolver.Resolve(token.Literal)
if name == "" || err != nil {