From ba4caffa084d2152495955224f9b337dae97bf88 Mon Sep 17 00:00:00 2001 From: Brandon McDonnell Date: Sat, 20 Oct 2018 13:28:02 +0000 Subject: [PATCH] protonmail: Fetch user addresses using new API. --- protonmail/adresses.go | 1 + protonmail/users.go | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/protonmail/adresses.go b/protonmail/adresses.go index 66e785b..c4b48b2 100644 --- a/protonmail/adresses.go +++ b/protonmail/adresses.go @@ -31,6 +31,7 @@ type Address struct { Receive int Status AddressStatus Type AddressType + Order int DisplayName string Signature string // HTML HasKeys int diff --git a/protonmail/users.go b/protonmail/users.go index dc35b4a..ff4b876 100644 --- a/protonmail/users.go +++ b/protonmail/users.go @@ -70,13 +70,28 @@ func (c *Client) GetCurrentUser() (*User, error) { return nil, err } - var respData struct { + var userData struct { resp User *User } - if err := c.doJSON(req, &respData); err != nil { + if err := c.doJSON(req, &userData); err != nil { return nil, err } - return respData.User, nil + req2, err := c.newRequest(http.MethodGet, "/addresses", nil) + if err != nil { + return nil, err + } + + var addrData struct { + resp + Addresses []*Address + } + if err := c.doJSON(req2, &addrData); err != nil { + return nil, err + } + + userData.User.Addresses = addrData.Addresses + + return userData.User, nil }