mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
Basic device create works
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -6,11 +6,6 @@
|
||||
<%= @device.name %>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<strong>Verified at:</strong>
|
||||
<%= @device.verified_at %>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<strong>Public key:</strong>
|
||||
<%= @device.public_key %>
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user