diff options
author | 2020-02-27 12:17:23 +0100 | |
---|---|---|
committer | 2020-02-27 12:17:23 +0100 | |
commit | 89149b38c8d10d4db457614450517e4ab6d57062 (patch) | |
tree | 0ef58d1e264a9c48b74a55a1bf034598c9cd941f /plugins/carddav/carddav.go | |
parent | 62853a933e7445d68a8ab0fc144e716afc3baa44 (diff) | |
download | alps-89149b38c8d10d4db457614450517e4ab6d57062.tar.gz alps-89149b38c8d10d4db457614450517e4ab6d57062.tar.bz2 alps-89149b38c8d10d4db457614450517e4ab6d57062.zip |
plugins/carddav: use paths instead of UIDs in URLs
Diffstat (limited to 'plugins/carddav/carddav.go')
-rw-r--r-- | plugins/carddav/carddav.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/carddav/carddav.go b/plugins/carddav/carddav.go index 0c1a06d..2509872 100644 --- a/plugins/carddav/carddav.go +++ b/plugins/carddav/carddav.go @@ -28,3 +28,19 @@ func newClient(u *url.URL, session *koushin.Session) (*carddav.Client, error) { } return carddav.NewClient(&http.Client{Transport: &rt}, u.String()) } + +type AddressObject struct { + *carddav.AddressObject +} + +func newAddressObjectList(aos []carddav.AddressObject) []AddressObject { + l := make([]AddressObject, len(aos)) + for i := range aos { + l[i] = AddressObject{&aos[i]} + } + return l +} + +func (ao AddressObject) URL() string { + return "/contacts/" + url.PathEscape(ao.Path) +} |