DeleteToken Accept Names too (#394)
DeleteAccessToken: accept string too Co-authored-by: lafriks <lafriks@noreply.gitea.io> Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://gitea.com/gitea/go-sdk/pulls/394 Reviewed-by: Andrew Thornton <art27@cantab.net> Reviewed-by: lafriks <lafriks@noreply.gitea.io>
This commit is contained in:
parent
dd1ecd4b3d
commit
b0d91b2b9e
1 changed files with 19 additions and 3 deletions
|
@ -9,6 +9,7 @@ import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AccessToken represents an API access token.
|
// AccessToken represents an API access token.
|
||||||
|
@ -52,11 +53,26 @@ func (c *Client) CreateAccessToken(opt CreateAccessTokenOption) (*AccessToken, e
|
||||||
return t, c.getParsedResponse("POST", fmt.Sprintf("/users/%s/tokens", c.username), jsonHeader, bytes.NewReader(body), t)
|
return t, c.getParsedResponse("POST", fmt.Sprintf("/users/%s/tokens", c.username), jsonHeader, bytes.NewReader(body), t)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteAccessToken delete token with key id
|
// DeleteAccessToken delete token, identified by ID and if not available by name
|
||||||
func (c *Client) DeleteAccessToken(keyID int64) error {
|
func (c *Client) DeleteAccessToken(value interface{}) error {
|
||||||
if len(c.username) == 0 {
|
if len(c.username) == 0 {
|
||||||
return fmt.Errorf("\"username\" not set: only BasicAuth allowed")
|
return fmt.Errorf("\"username\" not set: only BasicAuth allowed")
|
||||||
}
|
}
|
||||||
_, err := c.getResponse("DELETE", fmt.Sprintf("/users/%s/tokens/%d", c.username, keyID), jsonHeader, nil)
|
|
||||||
|
var token = ""
|
||||||
|
|
||||||
|
switch reflect.ValueOf(value).Kind() {
|
||||||
|
case reflect.Int64:
|
||||||
|
token = fmt.Sprintf("%d", value.(int64))
|
||||||
|
case reflect.String:
|
||||||
|
if err := c.CheckServerVersionConstraint(">= 1.13.0"); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
token = value.(string)
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("only string and int64 supported")
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := c.getResponse("DELETE", fmt.Sprintf("/users/%s/tokens/%s", c.username, token), jsonHeader, nil)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue