2017-08-24 11:51:15 +03:00
|
|
|
package protonmail
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
|
|
|
type User struct {
|
2018-10-21 13:24:56 +03:00
|
|
|
ID string
|
|
|
|
Name string
|
2020-01-04 19:33:23 +02:00
|
|
|
UsedSpace int64
|
2018-10-21 13:24:56 +03:00
|
|
|
Currency string // e.g. EUR
|
|
|
|
Credit int
|
2020-01-04 19:33:23 +02:00
|
|
|
MaxSpace int64
|
2018-10-21 13:24:56 +03:00
|
|
|
MaxUpload int
|
|
|
|
Role int // TODO
|
|
|
|
Private int
|
|
|
|
Subscribed int // TODO
|
|
|
|
Services int // TODO
|
|
|
|
Delinquent int
|
|
|
|
Keys []*PrivateKey
|
2017-08-24 11:51:15 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Client) GetCurrentUser() (*User, error) {
|
|
|
|
req, err := c.newRequest(http.MethodGet, "/users", nil)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2018-10-21 13:24:56 +03:00
|
|
|
var respData struct {
|
2017-08-24 11:51:15 +03:00
|
|
|
resp
|
|
|
|
User *User
|
|
|
|
}
|
2018-10-21 13:24:56 +03:00
|
|
|
if err := c.doJSON(req, &respData); err != nil {
|
2017-08-24 11:51:15 +03:00
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2018-10-21 13:24:56 +03:00
|
|
|
return respData.User, nil
|
2017-08-24 11:51:15 +03:00
|
|
|
}
|