discourse-scim/app/controllers/scim_v2/users_controller.rb

31 lines
940 B
Ruby
Raw Permalink Normal View History

2024-10-07 10:22:23 +00:00
# frozen_string_literal: true
require "scimitar"
module Scim
class ScimV2::UsersController < Scimitar::ActiveRecordBackedResourcesController
protect_from_forgery with: :null_session
2024-10-22 08:48:23 +00:00
# We check for the plugin here manually as we do not inherit from Discourse's ApplicationController
# and do not have access to requires_plugin
before_action do
if plugin = Discourse.plugins_by_name[DiscourseScim::PLUGIN_NAME]
raise PluginDisabled.new if !plugin.enabled?
elsif Rails.env.test?
raise "Required plugin '#{DiscourseScim::PLUGIN_NAME}' not found. The string passed to requires_plugin should match the plugin's name at the top of plugin.rb"
else
Rails.logger.warn("Required plugin '#{DiscourseScim::PLUGIN_NAME}' not found")
end
end
2024-10-07 10:22:23 +00:00
protected
def storage_class
User
end
def storage_scope
User.where("id >= ?", 0)
2024-10-07 10:22:23 +00:00
end
end
end