class BaseService include Gitlab::CurrentSettings attr_accessor :project, :current_user, :params def initialize(project, user, params = {}) @project, @current_user, @params = project, user, params.dup end def abilities Ability.abilities end def can?(object, action, subject) abilities.allowed?(object, action, subject) end def notification_service NotificationService.new end def event_service EventCreateService.new end def log_info(message) Gitlab::AppLogger.info message end def system_hook_service SystemHooksService.new end def current_application_settings ApplicationSetting.current end private def error(message, http_status = nil) result = { message: message, status: :error } result[:http_status] = http_status if http_status result end def success { status: :success } end end