class Kaname::Adapter::ReadAndWrite

Public Instance Methods

change_user_role(tenant_name, user_hash, before_role_name, after_role_name) click to toggle source
# File lib/kaname/adapter/read_and_write.rb, line 46
def change_user_role(tenant_name, user_hash, before_role_name, after_role_name)
  delete_user_role(tenant_name, user_hash, before_role_name)
  create_user_role(tenant_name, user_hash, after_role_name)
end
create_user(name, email) click to toggle source
# File lib/kaname/adapter/read_and_write.rb, line 7
def create_user(name, email)
  password = Kaname::Generator.password
  puts "#{name},#{password}"

  user = Yao::User.create(name: name, email: email, password: password)
  {"id" => user.id,  "name" => user.name}
end
create_user_role(tenant_name, user_hash, role_name) click to toggle source
# File lib/kaname/adapter/read_and_write.rb, line 15
def create_user_role(tenant_name, user_hash, role_name)
  Yao::Role.grant(role_name, to: user_hash["name"], on: tenant_name)
end
delete_user(name) click to toggle source
# File lib/kaname/adapter/read_and_write.rb, line 38
def delete_user(name)
  Yao::User.destroy find_user(name)["id"]
end
delete_user_role(tenant_name, user_hash, role_name) click to toggle source
# File lib/kaname/adapter/read_and_write.rb, line 42
def delete_user_role(tenant_name, user_hash, role_name)
  Yao::Role.revoke(role_name, from: user_hash["name"], on: tenant_name)
end
update_user_password(old_password, new_password) click to toggle source
# File lib/kaname/adapter/read_and_write.rb, line 19
def update_user_password(old_password, new_password)
  if old_password && new_password
    me    = Yao::User.get_by_name(Kaname::Config.username)
    client= Yao.default_client.pool['identity']

    params = JSON.generate({'user' => {'password' => new_password, 'original_password' => old_password}})
    res = client.patch("./OS-KSCRUD/users/#{me.id}") do |req|
      req.body = params
      req.headers['Content-Type'] = 'application/json'
    end

    if res.status == 200
      puts "Your password is updated. Please update your $OS_PASSWORD configuration too."
    else
      raise "password updating is failed"
    end
  end
end