Initial multi-calendar/address book support

Thanks to the latest version of go-webdav, this is now a thing. A lot of
operations (like creating a calendar) are not yet supported. But the
basics work fine. Note that multi-calendar means that different users
can each have their own calenders. Resource sharing is not yet
implemented either.

Includes the adding of a lot of debug logs, as issues are otherwise
pretty hard to figure out. The logging still needs to be made more
consistent, and probably cleaned up a bit in some places.
This commit is contained in:
Conrad Hoffmann 2024-02-02 22:19:36 +01:00
parent 1d871b000a
commit a74c76857d
7 changed files with 347 additions and 155 deletions

View file

@ -20,11 +20,15 @@ func (*psqlBackend) CurrentUserPrincipal(ctx context.Context) (string, error) {
panic("TODO")
}
func (*psqlBackend) AddressbookHomeSetPath(ctx context.Context) (string, error) {
func (*psqlBackend) AddressBookHomeSetPath(ctx context.Context) (string, error) {
panic("TODO")
}
func (*psqlBackend) AddressBook(ctx context.Context) (*carddav.AddressBook, error) {
func (*psqlBackend) ListAddressBooks(ctx context.Context) ([]carddav.AddressBook, error) {
panic("TODO")
}
func (*psqlBackend) GetAddressBook(ctx context.Context, path string) (*carddav.AddressBook, error) {
panic("TODO")
}
@ -32,11 +36,11 @@ func (*psqlBackend) GetAddressObject(ctx context.Context, path string, req *card
panic("TODO")
}
func (*psqlBackend) ListAddressObjects(ctx context.Context, req *carddav.AddressDataRequest) ([]carddav.AddressObject, error) {
func (*psqlBackend) ListAddressObjects(ctx context.Context, path string, req *carddav.AddressDataRequest) ([]carddav.AddressObject, error) {
panic("TODO")
}
func (*psqlBackend) QueryAddressObjects(ctx context.Context, query *carddav.AddressBookQuery) ([]carddav.AddressObject, error) {
func (*psqlBackend) QueryAddressObjects(ctx context.Context, path string, query *carddav.AddressBookQuery) ([]carddav.AddressObject, error) {
panic("TODO")
}