2014-11-18 19:07:16 +03:00
// Copyright 2014 The Gogs Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2015-12-05 01:16:42 +03:00
package user
2014-11-18 19:07:16 +03:00
import (
2016-11-11 12:39:44 +03:00
api "code.gitea.io/sdk/gitea"
2014-11-18 19:07:16 +03:00
2016-11-10 19:24:48 +03:00
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/context"
2014-11-18 19:07:16 +03:00
)
2016-11-24 10:04:31 +03:00
// ListAccessTokens list all the access tokens
// see https://github.com/gogits/go-gogs-client/wiki/Users#list-access-tokens-for-a-user
2016-03-14 01:49:16 +03:00
func ListAccessTokens ( ctx * context . APIContext ) {
2016-07-23 20:08:22 +03:00
tokens , err := models . ListAccessTokens ( ctx . User . ID )
2014-11-18 19:07:16 +03:00
if err != nil {
2016-03-14 01:49:16 +03:00
ctx . Error ( 500 , "ListAccessTokens" , err )
2014-11-18 19:07:16 +03:00
return
}
apiTokens := make ( [ ] * api . AccessToken , len ( tokens ) )
for i := range tokens {
2017-02-26 08:25:35 +03:00
apiTokens [ i ] = & api . AccessToken {
Name : tokens [ i ] . Name ,
Sha1 : tokens [ i ] . Sha1 ,
}
2014-11-18 19:07:16 +03:00
}
ctx . JSON ( 200 , & apiTokens )
}
2016-11-24 10:04:31 +03:00
// CreateAccessToken create access tokens
// see https://github.com/gogits/go-gogs-client/wiki/Users#create-a-access-token
2016-03-14 01:49:16 +03:00
func CreateAccessToken ( ctx * context . APIContext , form api . CreateAccessTokenOption ) {
2014-11-18 19:07:16 +03:00
t := & models . AccessToken {
2016-07-23 20:08:22 +03:00
UID : ctx . User . ID ,
2014-11-18 19:07:16 +03:00
Name : form . Name ,
}
if err := models . NewAccessToken ( t ) ; err != nil {
2016-03-14 01:49:16 +03:00
ctx . Error ( 500 , "NewAccessToken" , err )
2014-11-18 19:07:16 +03:00
return
}
2017-02-26 08:25:35 +03:00
ctx . JSON ( 201 , & api . AccessToken {
Name : t . Name ,
Sha1 : t . Sha1 ,
} )
2014-11-18 19:07:16 +03:00
}