2019-03-08 19:42:50 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2019-03-08 19:42:50 +03:00
package setting
import (
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/setting"
2024-02-27 10:12:22 +03:00
"code.gitea.io/gitea/services/context"
2019-03-08 19:42:50 +03:00
)
const (
2022-10-09 15:07:41 +03:00
tplSettingsOAuthApplicationEdit base . TplName = "user/settings/applications_oauth2_edit"
2019-03-08 19:42:50 +03:00
)
2022-10-09 15:07:41 +03:00
func newOAuth2CommonHandlers ( userID int64 ) * OAuth2CommonHandlers {
return & OAuth2CommonHandlers {
OwnerID : userID ,
BasePathList : setting . AppSubURL + "/user/settings/applications" ,
BasePathEditPrefix : setting . AppSubURL + "/user/settings/applications/oauth2" ,
TplAppEdit : tplSettingsOAuthApplicationEdit ,
}
}
2019-03-08 19:42:50 +03:00
// OAuthApplicationsPost response for adding a oauth2 application
2021-01-26 18:36:53 +03:00
func OAuthApplicationsPost ( ctx * context . Context ) {
2019-03-08 19:42:50 +03:00
ctx . Data [ "Title" ] = ctx . Tr ( "settings" )
ctx . Data [ "PageIsSettingsApplications" ] = true
2022-10-09 15:07:41 +03:00
oa := newOAuth2CommonHandlers ( ctx . Doer . ID )
oa . AddApp ( ctx )
2019-03-08 19:42:50 +03:00
}
// OAuthApplicationsEdit response for editing oauth2 application
2021-01-26 18:36:53 +03:00
func OAuthApplicationsEdit ( ctx * context . Context ) {
2019-03-08 19:42:50 +03:00
ctx . Data [ "Title" ] = ctx . Tr ( "settings" )
ctx . Data [ "PageIsSettingsApplications" ] = true
2022-10-09 15:07:41 +03:00
oa := newOAuth2CommonHandlers ( ctx . Doer . ID )
oa . EditSave ( ctx )
2019-03-08 19:42:50 +03:00
}
2019-03-09 19:29:58 +03:00
// OAuthApplicationsRegenerateSecret handles the post request for regenerating the secret
func OAuthApplicationsRegenerateSecret ( ctx * context . Context ) {
ctx . Data [ "Title" ] = ctx . Tr ( "settings" )
ctx . Data [ "PageIsSettingsApplications" ] = true
2022-10-09 15:07:41 +03:00
oa := newOAuth2CommonHandlers ( ctx . Doer . ID )
oa . RegenerateSecret ( ctx )
2019-03-09 19:29:58 +03:00
}
2019-03-08 19:42:50 +03:00
// OAuth2ApplicationShow displays the given application
func OAuth2ApplicationShow ( ctx * context . Context ) {
2022-10-09 15:07:41 +03:00
oa := newOAuth2CommonHandlers ( ctx . Doer . ID )
oa . EditShow ( ctx )
2019-03-08 19:42:50 +03:00
}
// DeleteOAuth2Application deletes the given oauth2 application
func DeleteOAuth2Application ( ctx * context . Context ) {
2022-10-09 15:07:41 +03:00
oa := newOAuth2CommonHandlers ( ctx . Doer . ID )
oa . DeleteApp ( ctx )
2019-03-08 19:42:50 +03:00
}
2019-04-17 11:18:16 +03:00
// RevokeOAuth2Grant revokes the grant with the given id
func RevokeOAuth2Grant ( ctx * context . Context ) {
2022-10-09 15:07:41 +03:00
oa := newOAuth2CommonHandlers ( ctx . Doer . ID )
oa . RevokeGrant ( ctx )
2019-04-17 11:18:16 +03:00
}