Basic device create works

This commit is contained in:
Jamil Bou Kheir
2020-05-13 00:50:24 -05:00
parent ea127c4ca1
commit 805b5fefe0
8 changed files with 9 additions and 31 deletions

View File

@@ -90,19 +90,6 @@ defmodule FgHttp.Devices do
|> Repo.update()
end
@doc """
Verifies a Device.
## Examples
iex> verify!(device.id)
{:ok, %Device{}}
"""
def verify(id) do
get_device!(id)
|> update_device(%{verified_at: DateTime.utc_now})
end
@doc """
Deletes a device.

View File

@@ -9,7 +9,6 @@ defmodule FgHttp.Devices.Device do
schema "devices" do
field :name, :string
field :public_key, :string
field :verified_at, :utc_datetime
field :user_id, :id
has_many :rules, FgHttp.Rules.Rule
@@ -20,7 +19,7 @@ defmodule FgHttp.Devices.Device do
@doc false
def changeset(device, attrs) do
device
|> cast(attrs, [:user_id, :verified_at, :name, :public_key])
|> cast(attrs, [:user_id, :name, :public_key])
|> validate_required([:user_id])
end
end

View File

@@ -21,18 +21,13 @@ defmodule FgHttpWeb.DeviceController do
def create(conn, %{"device" => device_params}) do
create_params = %{
"user_id" => conn.assigns.current_user.id,
"verified_at" => DateTime.utc_now,
"name" => "Auto"
}
all_params = Map.merge(device_params, create_params)
IO.puts "Create device with params: "
IO.inspect all_params
case Devices.create_device(all_params) do
{:ok, device} ->
IO.inspect(device)
redirect(conn, to: Routes.device_path(conn, :show, device))
{:error, %Ecto.Changeset{} = changeset} ->
IO.inspect(changeset)
render(conn, "new.html", changeset: changeset)
end
end

View File

@@ -7,7 +7,6 @@ defmodule FgHttpWeb.NewDeviceLive do
def mount(_params, %{}, socket) do
user_id = "1"
IO.inspect(socket)
if connected?(socket), do: wait_for_device(socket)
device = %Device{id: "1", user_id: user_id}

View File

@@ -4,7 +4,6 @@
<tbody>
<tr class="striped--near-white">
<th class="pv2 ph3 tl f6 fw6 ttu">Name</th>
<th class="pv2 ph3 tl f6 fw6 ttu">Verified at</th>
<th class="pv2 ph3 tl f6 fw6 ttu">Public key</th>
<th></th>
@@ -12,7 +11,6 @@
<%= for device <- @devices do %>
<tr class="striped--near-white">
<td class="pv2 ph3 tl f6 fw6 ttu"><%= device.name %></td>
<td class="pv2 ph3 tl f6 fw6 ttu"><%= device.verified_at %></td>
<td class="pv2 ph3 tl f6 fw6 ttu"><%= device.public_key %></td>
<td>

View File

@@ -6,11 +6,6 @@
<%= @device.name %>
</li>
<li>
<strong>Verified at:</strong>
<%= @device.verified_at %>
</li>
<li>
<strong>Public key:</strong>
<%= @device.public_key %>

View File

@@ -4,7 +4,6 @@ defmodule FgHttp.Repo.Migrations.CreateDevices do
def change do
create table(:devices) do
add :name, :string
add :verified_at, :utc_datetime
add :public_key, :string
add :user_id, references(:users, on_delete: :delete_all)

View File

@@ -2,13 +2,19 @@ defmodule FgHttpWeb.DeviceControllerTest do
use FgHttpWeb.ConnCase
alias FgHttp.Devices
alias FgHttp.Users
@create_attrs %{name: "some name"}
@update_attrs %{name: "some updated name"}
@invalid_attrs %{name: nil}
@invalid_attrs %{user_id: nil}
def fixture(:user) do
{:ok, user} = Users.create_user(%{email: "test"})
user
end
def fixture(:device) do
{:ok, device} = Devices.create_device(@create_attrs)
{:ok, device} = Devices.create_device(Map.merge(%{user_id: fixture(:user).id}, @create_attrs))
device
end