diff options
author | 6543 <6543@obermui.de> | 2020-04-30 19:50:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-30 18:50:47 +0100 |
commit | ab69b9b1a60a83cf2b5d6c021da0cb35540df10f (patch) | |
tree | 446be5bfe00d6e1da91f848b3ca9710fb1786645 /models/oauth2_application.go | |
parent | c25969e694245ec72c609d3be676b64361e05335 (diff) | |
download | gitea-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.go | 36 |
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 |