caldav: extend query filter types

The basic types related to queries and filtering are missing some
features specified in the RFC (as also noted in the TODO comments). This
adds several of the missing elements, working towards being able to
handle all RFC-compliant queries.

The work is not fully done, e.g. the collation for text-match is still
not handled, but it's getting pretty close.
This commit is contained in:
Conrad Hoffmann
2022-03-31 22:15:04 +02:00
committed by Simon Ser
parent 7dafedd290
commit 6401d9ed45
3 changed files with 95 additions and 18 deletions

View File

@@ -27,19 +27,30 @@ type CalendarCompRequest struct {
}
type CompFilter struct {
Name string
Start, End time.Time
Props []PropFilter
Comps []CompFilter
Name string
IsNotDefined bool
Start, End time.Time
Props []PropFilter
Comps []CompFilter
}
type ParamFilter struct {
Name string
IsNotDefined bool
TextMatch *TextMatch
}
type PropFilter struct {
Name string
TextMatch *TextMatch
Name string
IsNotDefined bool
Start, End time.Time
TextMatch *TextMatch
ParamFilter []ParamFilter
}
type TextMatch struct {
Text string
Text string
NegateCondition bool
}
type CalendarQuery struct {