Class: Nimbus::V4::UsersController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/mno_enterprise/nimbus/v4/users_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject

POST /nimbus/v4/organization/:organization_id/users Create new resource and return representation – Override parent Attempt to fetch user via email before creation



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/mno_enterprise/nimbus/v4/users_controller.rb', line 9

def create
  unless params[:data]
    render_error VALIDATION_ERROR, 'Body does not contain the field: data'
    return false
  end
  attributes = params[:data].select { |k, v| params_create_whitelist.include?(k.to_sym) }
  email = attributes[:email]
  user = MnoEnterprise::User.find_by(email: email)
  if user
    render_error VALIDATION_ERROR, "User [#{user.uid}] already exist with email: #{email}"
    return
  end


  @resource ||= build_resource(attributes)

  # Save resource or set error code and status
  unless @resource.save
    render_error VALIDATION_ERROR, @resource.errors
    return
  end

  after_create_resource(@resource, attributes)

  render_response(@resource)
end