@@ -1,5 +1,6 @@
|
||||
defmodule EventosWeb.UserController do
|
||||
use EventosWeb, :controller
|
||||
import Logger
|
||||
|
||||
alias Eventos.Accounts
|
||||
alias Eventos.Accounts.User
|
||||
@@ -57,4 +58,34 @@ defmodule EventosWeb.UserController do
|
||||
|> put_flash(:info, "User deleted successfully.")
|
||||
|> redirect(to: user_path(conn, :index))
|
||||
end
|
||||
|
||||
def register(conn, %{"email" => email, "password" => password, "username" => username}) do
|
||||
|
||||
{:ok, {privkey, pubkey}} = RsaEx.generate_keypair("4096")
|
||||
account_change = Ecto.Changeset.change(%Eventos.Accounts.Account{}, %{
|
||||
username: username,
|
||||
description: "tata",
|
||||
display_name: "toto",
|
||||
domain: nil,
|
||||
private_key: privkey,
|
||||
public_key: pubkey,
|
||||
uri: "",
|
||||
url: ""
|
||||
})
|
||||
|
||||
user_change = Eventos.Accounts.User.registration_changeset(%Eventos.Accounts.User{}, %{
|
||||
email: email,
|
||||
password: password,
|
||||
password_confirmation: password
|
||||
})
|
||||
|
||||
account_with_user = Ecto.Changeset.put_assoc(account_change, :user, user_change)
|
||||
|
||||
Eventos.Repo.insert!(account_with_user)
|
||||
|
||||
user = Eventos.Accounts.find(email)
|
||||
user = Eventos.Repo.preload user, :account
|
||||
|
||||
render conn, "user.json", %{user: user}
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user