From 1b5a2e71ba06b5e5c48107a8686e9d67703f32e8 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 24 May 2022 21:10:23 +0200 Subject: [PATCH] carddav: implement QueryAddressObjects --- carddav/carddav.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/carddav/carddav.go b/carddav/carddav.go index 7c5505d..e2b613c 100644 --- a/carddav/carddav.go +++ b/carddav/carddav.go @@ -272,7 +272,18 @@ func (b *backend) ListAddressObjects(ctx context.Context, req *carddav.AddressDa } func (b *backend) QueryAddressObjects(ctx context.Context, query *carddav.AddressBookQuery) ([]carddav.AddressObject, error) { - panic("TODO") + req := carddav.AddressDataRequest{AllProp: true} + if query != nil { + req = query.DataRequest + } + + // TODO: optimize + all, err := b.ListAddressObjects(ctx, &req) + if err != nil { + return nil, err + } + + return carddav.Filter(query, all) } func (b *backend) PutAddressObject(ctx context.Context, path string, card vcard.Card, opts *carddav.PutAddressObjectOptions) (loc string, err error) {