Class: CommandTower::Deserializers::Admin::Users::UpdateRolesDeserializer
- Inherits:
-
CommandTower::Deserializers::ApplicationDeserializer
- Object
- CommandTower::Deserializers::ApplicationDeserializer
- CommandTower::Deserializers::Admin::Users::UpdateRolesDeserializer
- Defined in:
- app/deserializers/command_tower/deserializers/admin/users.rb
Defined Under Namespace
Classes: Input
Instance Method Summary collapse
Methods inherited from CommandTower::Deserializers::ApplicationDeserializer
Instance Method Details
#call(params) ⇒ Object
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'app/deserializers/command_tower/deserializers/admin/users.rb', line 189 def call(params) id = IdentityId.coerce(fetch_param(params, :id).value) return failure(errors: { message: "invalid_id" }) if id.nil? raw = fetch_param(params, :roles).value unless raw.is_a?(Array) return failure(errors: { message: "invalid_roles" }) end roles = raw.map { |value| value.to_s.strip } if roles.any?(&:blank?) return failure(errors: { message: "invalid_roles" }) end success( Input.new( id:, roles:, scope_value: CommandTower::Deserializers::Admin::ScopeParameter.extract( params, tool_id: ShowDeserializer::TOOL_ID ) ) ) end |