aboutsummaryrefslogtreecommitdiffstats
path: root/models/token.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-08-28 10:09:33 +0200
committerGitHub <noreply@github.com>2020-08-28 11:09:33 +0300
commitd5b6931dbefff674fd84237555a7c2e284b63c5a (patch)
tree8e68a4f12b16ed1ae782668459cfcb19e78fa7d4 /models/token.go
parenteb1bf2377be15deb593a3e2426558d92c1973107 (diff)
downloadgitea-d5b6931dbefff674fd84237555a7c2e284b63c5a.tar.gz
gitea-d5b6931dbefff674fd84237555a7c2e284b63c5a.zip
[API] Delete Token accept names too (#12366)
* Delete Token accept names too * better description Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'models/token.go')
-rw-r--r--models/token.go25
1 files changed, 18 insertions, 7 deletions
diff --git a/models/token.go b/models/token.go
index a18f15f325..1245098df0 100644
--- a/models/token.go
+++ b/models/token.go
@@ -82,16 +82,27 @@ func AccessTokenByNameExists(token *AccessToken) (bool, error) {
return x.Table("access_token").Where("name = ?", token.Name).And("uid = ?", token.UID).Exist()
}
+// ListAccessTokensOptions contain filter options
+type ListAccessTokensOptions struct {
+ ListOptions
+ Name string
+ UserID int64
+}
+
// ListAccessTokens returns a list of access tokens belongs to given user.
-func ListAccessTokens(uid int64, listOptions ListOptions) ([]*AccessToken, error) {
- sess := x.
- Where("uid=?", uid).
- Desc("id")
+func ListAccessTokens(opts ListAccessTokensOptions) ([]*AccessToken, error) {
+ sess := x.Where("uid=?", opts.UserID)
+
+ if len(opts.Name) != 0 {
+ sess = sess.Where("name=?", opts.Name)
+ }
+
+ sess = sess.Desc("id")
- if listOptions.Page != 0 {
- sess = listOptions.setSessionPagination(sess)
+ if opts.Page != 0 {
+ sess = opts.setSessionPagination(sess)
- tokens := make([]*AccessToken, 0, listOptions.PageSize)
+ tokens := make([]*AccessToken, 0, opts.PageSize)
return tokens, sess.Find(&tokens)
}