| @@ -13,7 +13,7 @@ class Projects::WebhooksController < Projects::BaseController | |||||
| return render_error("参数错误.") unless webhook_params.present? | return render_error("参数错误.") unless webhook_params.present? | ||||
| form = Projects::Webhooks::CreateForm.new(webhook_params) | form = Projects::Webhooks::CreateForm.new(webhook_params) | ||||
| return render json: {status: -1, message: form.errors} unless form.validate! | return render json: {status: -1, message: form.errors} unless form.validate! | ||||
| response = Gitea::Repository::Webhooks::CreateService.new(current_user.gitea_token, @project&.owner&.login, @project&.identifier, gitea_webhooks_params).call | |||||
| response = Gitea::Repository::Webhooks::CreateService.new(operating_token, @project&.owner&.login, @project&.identifier, gitea_webhooks_params).call | |||||
| if response[0] == 201 | if response[0] == 201 | ||||
| @webhook = response[2] | @webhook = response[2] | ||||
| else | else | ||||
| @@ -33,7 +33,7 @@ class Projects::WebhooksController < Projects::BaseController | |||||
| return render_error("参数错误.") unless webhook_params.present? | return render_error("参数错误.") unless webhook_params.present? | ||||
| form = Projects::Webhooks::CreateForm.new(webhook_params) | form = Projects::Webhooks::CreateForm.new(webhook_params) | ||||
| return render json: {status: -1, message: form.errors} unless form.validate! | return render json: {status: -1, message: form.errors} unless form.validate! | ||||
| response = Gitea::Repository::Webhooks::UpdateService.call(current_user.gitea_token, @project&.owner&.login, @project&.identifier, @webhook.id, gitea_webhooks_params) | |||||
| response = Gitea::Repository::Webhooks::UpdateService.call(operating_token, @project&.owner&.login, @project&.identifier, @webhook.id, gitea_webhooks_params) | |||||
| if response[0] == 200 | if response[0] == 200 | ||||
| @webhook = response[2] | @webhook = response[2] | ||||
| render_ok | render_ok | ||||
| @@ -46,7 +46,7 @@ class Projects::WebhooksController < Projects::BaseController | |||||
| end | end | ||||
| def destroy | def destroy | ||||
| response = Gitea::Repository::Webhooks::DeleteService.call(current_user.gitea_token, @project&.owner&.login, @project&.identifier, @webhook.id) | |||||
| response = Gitea::Repository::Webhooks::DeleteService.call(operating_token, @project&.owner&.login, @project&.identifier, @webhook.id) | |||||
| if response[0] == 204 | if response[0] == 204 | ||||
| @webhook = response[2] | @webhook = response[2] | ||||
| render_ok | render_ok | ||||
| @@ -65,7 +65,7 @@ class Projects::WebhooksController < Projects::BaseController | |||||
| def test | def test | ||||
| ActiveRecord::Base.transaction do | ActiveRecord::Base.transaction do | ||||
| response = Gitea::Repository::Webhooks::TestService.call(current_user.gitea_token, @project&.owner&.login, @project&.identifier, @webhook.id) | |||||
| response = Gitea::Repository::Webhooks::TestService.call(operating_token, @project&.owner&.login, @project&.identifier, @webhook.id) | |||||
| if response[0] == 204 | if response[0] == 204 | ||||
| render_ok | render_ok | ||||
| else | else | ||||
| @@ -79,7 +79,7 @@ class Projects::WebhooksController < Projects::BaseController | |||||
| private | private | ||||
| def find_webhook | def find_webhook | ||||
| @webhook = Gitea::Webhook.find_by_id(params[:id]) | |||||
| @webhook = @project.webhooks.find_by_id(params[:id]) | |||||
| return render_not_found if @webhook.nil? | return render_not_found if @webhook.nil? | ||||
| end | end | ||||
| @@ -109,4 +109,8 @@ class Projects::WebhooksController < Projects::BaseController | |||||
| type: webhook_type, | type: webhook_type, | ||||
| } | } | ||||
| end | end | ||||
| def operating_token | |||||
| @project.member?(current_user) ? current_user.gitea_token : @project&.owner&.gitea_token | |||||
| end | |||||
| end | end | ||||