carddav: implement QueryAddressObjects

This commit is contained in:
Simon Ser 2022-05-24 21:10:23 +02:00
parent 2b6cd1ab38
commit 1b5a2e71ba
1 changed files with 12 additions and 1 deletions

View File

@ -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) { 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) { func (b *backend) PutAddressObject(ctx context.Context, path string, card vcard.Card, opts *carddav.PutAddressObjectOptions) (loc string, err error) {