Method: PropelAuth::Client.create_user

Defined in:
lib/propelauth/client.rb

.create_user(email, email_confirmed: false, send_email_to_confirm_email_address: false, password: nil, username: nil, first_name: nil, last_name: nil) ⇒ Object



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/propelauth/client.rb', line 111

def create_user(email, email_confirmed: false, send_email_to_confirm_email_address: false, password: nil,
                username: nil, first_name: nil, last_name: nil)
  json_body = {
    email: email,
    email_confirmed: email_confirmed,
    send_email_to_confirm_email_address: send_email_to_confirm_email_address,
    password: password,
    username: username,
    first_name: first_name,
    last_name: last_name,
  }.to_json

  response = connection.post "/api/backend/v1/user/", json_body, {
    "Authorization" => "Bearer #{api_key}",
    "Content-Type" => "application/json",
  }
  if response.status >= 200 && response.status < 300
    response.body
  elsif response.status == 400
    raise PropelAuth::BadRequest.new response.body
  elsif response.status == 401
    raise PropelAuth::InvalidApiKey.new
  else
    raise PropelAuth::UnexpectedError.new
  end
end