debian-mirror-gitlab/app/services/pages_domains/create_service.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
685 B
Ruby
Raw Normal View History

2022-11-25 23:54:43 +05:30
# frozen_string_literal: true
module PagesDomains
class CreateService < BaseService
def execute
return unless authorized?
domain = project.pages_domains.create(params)
publish_event(domain) if domain.persisted?
domain
end
private
def authorized?
current_user.can?(:update_pages, project)
end
def publish_event(domain)
event = PagesDomainCreatedEvent.new(
data: {
project_id: project.id,
namespace_id: project.namespace_id,
root_namespace_id: project.root_namespace.id,
domain: domain.domain
}
)
Gitlab::EventStore.publish(event)
end
end
end