Sha256: e4be8a2cec1d49a75ac4d3f9d1adf93f62f32c57169af0dc0a550c0628f2ddfb

Contents?: true

Size: 951 Bytes

Versions: 22

Compression:

Stored size: 951 Bytes

Contents

# frozen_string_literal: true
module Hyrax
  # This "service" ensures that we have a well formed AdminSet.
  #
  # @note For historical reasons, we lazily apply the default admin
  #   set to curation concerns that don't already have an admin set.
  #
  # @see AdminSet
  # @see Hyrax::PermissionTemplate
  # @see Hyrax::Actors::DefaultAdminSetActor
  module EnsureWellFormedAdminSetService
    # @api public
    # @since v3.0.0
    #
    # @param admin_set_id [String, nil]
    #
    # @return [#to_s] an admin_set_id; if you provide a "present"
    #   admin_set_id, this service will return that.
    #
    # @see Hyrax::AdminSetCreateService.find_or_create_default_admin_set
    def self.call(admin_set_id: nil)
      admin_set_id = admin_set_id.presence&.to_s || Hyrax::AdminSetCreateService.find_or_create_default_admin_set.id.to_s
      Hyrax::PermissionTemplate.find_or_create_by!(source_id: admin_set_id)
      admin_set_id
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
hyrax-5.1.0.pre.beta1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.4 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.3 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.2 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.0.rc3 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.0.rc2 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-5.0.0.rc1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.6.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-4.0.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-4.0.0.rc3 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-4.0.0.rc2 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-4.0.0.rc1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.5.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-4.0.0.beta2 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.4.2 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-4.0.0.beta1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.4.1 app/services/hyrax/ensure_well_formed_admin_set_service.rb
hyrax-3.4.0 app/services/hyrax/ensure_well_formed_admin_set_service.rb