summaryrefslogtreecommitdiffstats
path: root/modules/structs
diff options
context:
space:
mode:
authorGustavo Marin <gustavo.marin@intelygenz.com>2020-02-29 07:19:32 +0100
committerGitHub <noreply@github.com>2020-02-29 03:19:32 -0300
commitaf61b2249ab9d0afb7424509112d06c578dca059 (patch)
tree1857e96d874b956136de1fe652366f00027550a5 /modules/structs
parent7e8cdba18120c4588d1921f07593a9a66eaa1411 (diff)
downloadgitea-af61b2249ab9d0afb7424509112d06c578dca059.tar.gz
gitea-af61b2249ab9d0afb7424509112d06c578dca059.zip
adds API endpoints to manage OAuth2 Application (list/create/delete) (#10437)
* add API endpoint to create OAuth2 Application. * move endpoint to /user. Add swagger documentations and proper response type. * change json tags to snake_case. add CreateOAuth2ApplicationOptions to swagger docs. * change response status to Created (201) * add methods to list OAuth2 apps and delete an existing OAuth2 app by ID. * add APIFormat convert method and file header * fixed header * hide secret on oauth2 application list * add Created time to API response * add API integration tests for create/list/delete OAuth2 applications. Co-authored-by: techknowlogick <matti@mdranta.net> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Diffstat (limited to 'modules/structs')
-rw-r--r--modules/structs/user_app.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/structs/user_app.go b/modules/structs/user_app.go
index 9340486685..a0b0c3cb70 100644
--- a/modules/structs/user_app.go
+++ b/modules/structs/user_app.go
@@ -7,6 +7,7 @@ package structs
import (
"encoding/base64"
+ "time"
)
// BasicAuthEncode generate base64 of basic auth head
@@ -32,3 +33,24 @@ type AccessTokenList []*AccessToken
type CreateAccessTokenOption struct {
Name string `json:"name" binding:"Required"`
}
+
+// CreateOAuth2ApplicationOptions holds options to create an oauth2 application
+type CreateOAuth2ApplicationOptions struct {
+ Name string `json:"name" binding:"Required"`
+ RedirectURIs []string `json:"redirect_uris" binding:"Required"`
+}
+
+// OAuth2Application represents an OAuth2 application.
+// swagger:response OAuth2Application
+type OAuth2Application struct {
+ ID int64 `json:"id"`
+ Name string `json:"name"`
+ ClientID string `json:"client_id"`
+ ClientSecret string `json:"client_secret"`
+ RedirectURIs []string `json:"redirect_uris"`
+ Created time.Time `json:"created"`
+}
+
+// OAuth2ApplicationList represents a list of OAuth2 applications.
+// swagger:response OAuth2ApplicationList
+type OAuth2ApplicationList []*OAuth2Application