aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/carddav/carddav.go
diff options
context:
space:
mode:
authorLibravatarLibravatar Simon Ser <[email protected]> 2020-02-27 12:17:23 +0100
committerLibravatarLibravatar Simon Ser <[email protected]> 2020-02-27 12:17:23 +0100
commit89149b38c8d10d4db457614450517e4ab6d57062 (patch)
tree0ef58d1e264a9c48b74a55a1bf034598c9cd941f /plugins/carddav/carddav.go
parent62853a933e7445d68a8ab0fc144e716afc3baa44 (diff)
downloadalps-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.go16
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)
+}