scimaenaga 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -0
  3. data/README.md +2 -14
  4. data/app/controllers/concerns/scim_rails/exception_handler.rb +43 -1
  5. data/app/controllers/scim_rails/scim_groups_controller.rb +64 -40
  6. data/app/controllers/scim_rails/scim_users_controller.rb +39 -65
  7. data/app/libraries/scim_patch.rb +15 -10
  8. data/app/libraries/scim_patch_operation.rb +127 -24
  9. data/app/models/scim_rails/scim_query_parser.rb +5 -3
  10. data/config/routes.rb +2 -0
  11. data/lib/generators/scim_rails/templates/initializer.rb +0 -6
  12. data/lib/scim_rails/config.rb +1 -2
  13. data/lib/scim_rails/version.rb +1 -1
  14. data/spec/controllers/scim_rails/scim_groups_controller_spec.rb +249 -136
  15. data/spec/controllers/scim_rails/scim_users_controller_spec.rb +413 -203
  16. data/spec/dummy/app/models/user.rb +21 -0
  17. data/spec/dummy/bin/setup +2 -0
  18. data/spec/dummy/config/initializers/scim_rails_config.rb +6 -4
  19. data/spec/dummy/db/development.sqlite3 +0 -0
  20. data/spec/dummy/db/migrate/20220117095407_add_country_to_users.rb +5 -0
  21. data/spec/dummy/db/migrate/20220131090107_add_deletable_to_users.rb +5 -0
  22. data/spec/dummy/db/schema.rb +7 -5
  23. data/spec/dummy/db/seeds.rb +15 -1
  24. data/spec/dummy/db/test.sqlite3 +0 -0
  25. data/spec/dummy/log/development.log +0 -0
  26. data/spec/dummy/log/test.log +5770 -0
  27. data/spec/dummy/put_group.http +5 -0
  28. data/spec/dummy/tmp/restart.txt +0 -0
  29. data/spec/factories/user.rb +2 -0
  30. data/spec/libraries/scim_patch_operation_spec.rb +61 -31
  31. data/spec/libraries/scim_patch_spec.rb +38 -29
  32. data/spec/models/scim_query_parser_spec.rb +30 -0
  33. metadata +83 -67
  34. data/spec/support/scim_rails_config.rb +0 -59
data/config/routes.rb CHANGED
@@ -4,9 +4,11 @@ ScimRails::Engine.routes.draw do
4
4
  get 'scim/v2/Users/:id', action: :show, controller: 'scim_users'
5
5
  put 'scim/v2/Users/:id', action: :put_update, controller: 'scim_users'
6
6
  patch 'scim/v2/Users/:id', action: :patch_update, controller: 'scim_users'
7
+ delete 'scim/v2/Users/:id', action: :destroy, controller: 'scim_users'
7
8
  get 'scim/v2/Groups', action: :index, controller: 'scim_groups'
8
9
  post 'scim/v2/Groups', action: :create, controller: 'scim_groups'
9
10
  get 'scim/v2/Groups/:id', action: :show, controller: 'scim_groups'
10
11
  put 'scim/v2/Groups/:id', action: :put_update, controller: 'scim_groups'
12
+ patch 'scim/v2/Groups/:id', action: :patch_update, controller: 'scim_groups'
11
13
  delete 'scim/v2/Groups/:id', action: :destroy, controller: 'scim_groups'
12
14
  end
@@ -48,12 +48,6 @@ ScimRails.configure do |config|
48
48
  # For example, [:created_at, :id] or { created_at: :desc }.
49
49
  # config.scim_users_list_order = :id
50
50
 
51
- # Method called on user model to deprovision a user.
52
- config.user_deprovision_method = :archive!
53
-
54
- # Method called on user model to reprovision a user.
55
- config.user_reprovision_method = :unarchive!
56
-
57
51
  # Hash of queryable attribtues on the user model. If
58
52
  # the attribute is not listed in this hash it cannot
59
53
  # be queried by this Gem. The structure of this hash
@@ -42,10 +42,9 @@ module ScimRails
42
42
  :signing_secret,
43
43
  :signing_algorithm,
44
44
  :user_attributes,
45
- :user_deprovision_method,
46
- :user_reprovision_method,
47
45
  :user_schema,
48
46
  :group_schema,
47
+ :user_destroy_method,
49
48
  :group_destroy_method
50
49
 
51
50
  def initialize
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScimRails
4
- VERSION = "0.5.0"
4
+ VERSION = '0.7.0'
5
5
  end