diff options
Diffstat (limited to 'app/controllers/projects/pages_domains_controller.rb')
-rw-r--r-- | app/controllers/projects/pages_domains_controller.rb | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/app/controllers/projects/pages_domains_controller.rb b/app/controllers/projects/pages_domains_controller.rb index a6b22a28b17..43952a2efe4 100644 --- a/app/controllers/projects/pages_domains_controller.rb +++ b/app/controllers/projects/pages_domains_controller.rb @@ -41,9 +41,9 @@ class Projects::PagesDomainsController < Projects::ApplicationController end def create - @domain = @project.pages_domains.create(create_params) + @domain = PagesDomains::CreateService.new(@project, current_user, create_params).execute - if @domain.valid? + if @domain&.persisted? redirect_to project_pages_domain_path(@project, @domain) else render 'new' @@ -51,7 +51,9 @@ class Projects::PagesDomainsController < Projects::ApplicationController end def update - if @domain.update(update_params) + service = ::PagesDomains::UpdateService.new(@project, current_user, update_params) + + if service.execute(@domain) redirect_to project_pages_path(@project), status: :found, notice: 'Domain was updated' @@ -61,7 +63,9 @@ class Projects::PagesDomainsController < Projects::ApplicationController end def destroy - @domain.destroy + PagesDomains::DeleteService + .new(@project, current_user) + .execute(@domain) respond_to do |format| format.html do @@ -74,9 +78,10 @@ class Projects::PagesDomainsController < Projects::ApplicationController end def clean_certificate - unless @domain.update(user_provided_certificate: nil, user_provided_key: nil) - flash[:alert] = @domain.errors.full_messages.join(', ') - end + update_params = { user_provided_certificate: nil, user_provided_key: nil } + service = ::PagesDomains::UpdateService.new(@project, current_user, update_params) + + flash[:alert] = @domain.errors.full_messages.join(', ') unless service.execute(@domain) redirect_to project_pages_domain_path(@project, @domain) end |