protonmail: add Client.ListLabels

This commit is contained in:
Simon Ser 2020-01-29 14:39:30 +01:00
parent 83311a0302
commit cffd3cd13a
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
1 changed files with 39 additions and 0 deletions

View File

@ -1,5 +1,9 @@
package protonmail package protonmail
import (
"net/http"
)
const ( const (
LabelInbox = "0" LabelInbox = "0"
LabelAllDraft = "1" LabelAllDraft = "1"
@ -12,3 +16,38 @@ const (
LabelDraft = "8" LabelDraft = "8"
LabelStarred = "10" LabelStarred = "10"
) )
type LabelType int
const (
LabelMessage LabelType = 1
LabelContact LabelType = 2
)
type Label struct {
ID string
Name string
Color string
Display int
Type LabelType
Exclusive int
Notify int
Order int
}
func (c *Client) ListLabels() ([]*Label, error) {
req, err := c.newRequest(http.MethodGet, "/labels", nil)
if err != nil {
return nil, err
}
var respData struct {
resp
Labels []*Label
}
if err := c.doJSON(req, &respData); err != nil {
return nil, err
}
return respData.Labels, nil
}