Store user that created a property

This commit is contained in:
Joao Gilberto Balsini Moura 2020-09-14 20:45:56 -03:00
parent 8d9da4ea40
commit 57658a6857
7 changed files with 33 additions and 6 deletions
lib
real_estate
real_estate_web/live/property_live

View file

@ -51,7 +51,7 @@ defmodule RealEstate.Properties do
"""
def create_property(attrs \\ %{}) do
%Property{}
|> Property.changeset(attrs)
|> Property.create_changeset(attrs)
|> Repo.insert()
end

View file

@ -11,6 +11,12 @@ defmodule RealEstate.Properties.Property do
timestamps()
end
def create_changeset(property, attrs) do
property
|> cast(attrs, [:name, :price, :description, :user_id])
|> validate_required([:name, :price, :description, :user_id])
end
@doc false
def changeset(property, attrs) do
property

View file

@ -41,6 +41,9 @@ defmodule RealEstateWeb.PropertyLive.FormComponent do
end
defp save_property(socket, :new, property_params) do
current_user = socket.assigns.current_user
property_params = Map.put(property_params, "user_id", current_user.id)
case Properties.create_property(property_params) do
{:ok, _property} ->
{:noreply,

View file

@ -5,7 +5,8 @@ defmodule RealEstateWeb.PropertyLive.Index do
alias RealEstate.Properties.Property
@impl true
def mount(_params, _session, socket) do
def mount(_params, session, socket) do
socket = assign_defaults(session, socket)
{:ok, assign(socket, :properties, list_properties())}
end

View file

@ -6,6 +6,7 @@
title: @page_title,
action: @live_action,
property: @property,
current_user: @current_user,
return_to: Routes.property_index_path(@socket, :index) %>
<% end %>