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 (
api "github.com/gogits/go-gogs-client"
"github.com/gogits/gogs/models"
2016-03-11 19:56:52 +03:00
"github.com/gogits/gogs/modules/context"
2014-11-18 19:07:16 +03:00
)
2015-12-03 08:24:37 +03:00
// 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 ) {
2014-11-18 19:07:16 +03:00
tokens , err := models . ListAccessTokens ( ctx . User . Id )
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 {
apiTokens [ i ] = & api . AccessToken { tokens [ i ] . Name , tokens [ i ] . Sha1 }
}
ctx . JSON ( 200 , & apiTokens )
}
2015-12-03 08:24:37 +03:00
// 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 {
2015-08-17 12:05:37 +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
}
ctx . JSON ( 201 , & api . AccessToken { t . Name , t . Sha1 } )
}