aboutsummaryrefslogtreecommitdiffstats
path: root/models/oauth2_application.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-04-30 19:50:47 +0200
committerGitHub <noreply@github.com>2020-04-30 18:50:47 +0100
commitab69b9b1a60a83cf2b5d6c021da0cb35540df10f (patch)
tree446be5bfe00d6e1da91f848b3ca9710fb1786645 /models/oauth2_application.go
parentc25969e694245ec72c609d3be676b64361e05335 (diff)
downloadgitea-ab69b9b1a60a83cf2b5d6c021da0cb35540df10f.tar.gz
gitea-ab69b9b1a60a83cf2b5d6c021da0cb35540df10f.zip
Refactor UpdateOAuth2Application (#11034)
Following on from #11008 refactor UpdateOAuth2Application
Diffstat (limited to 'models/oauth2_application.go')
-rw-r--r--models/oauth2_application.go36
1 files changed, 26 insertions, 10 deletions
diff --git a/models/oauth2_application.go b/models/oauth2_application.go
index f888cf61b8..eba03d9480 100644
--- a/models/oauth2_application.go
+++ b/models/oauth2_application.go
@@ -196,18 +196,34 @@ type UpdateOAuth2ApplicationOptions struct {
}
// UpdateOAuth2Application updates an oauth2 application
-func UpdateOAuth2Application(opts UpdateOAuth2ApplicationOptions) error {
- return updateOAuth2Application(x, opts)
-}
+func UpdateOAuth2Application(opts UpdateOAuth2ApplicationOptions) (*OAuth2Application, error) {
+ sess := x.NewSession()
+ if err := sess.Begin(); err != nil {
+ return nil, err
+ }
+ defer sess.Close()
-func updateOAuth2Application(e Engine, opts UpdateOAuth2ApplicationOptions) error {
- app := &OAuth2Application{
- ID: opts.ID,
- UID: opts.UserID,
- Name: opts.Name,
- RedirectURIs: opts.RedirectURIs,
+ app, err := getOAuth2ApplicationByID(sess, opts.ID)
+ if err != nil {
+ return nil, err
+ }
+ if app.UID != opts.UserID {
+ return nil, fmt.Errorf("UID missmatch")
}
- if _, err := e.ID(opts.ID).Update(app); err != nil {
+
+ app.Name = opts.Name
+ app.RedirectURIs = opts.RedirectURIs
+
+ if err = updateOAuth2Application(sess, app); err != nil {
+ return nil, err
+ }
+ app.ClientSecret = ""
+
+ return app, sess.Commit()
+}
+
+func updateOAuth2Application(e Engine, app *OAuth2Application) error {
+ if _, err := e.ID(app.ID).Update(app); err != nil {
return err
}
return nil