From d6ec930370ee5f9eb58e237e129032435d1e8630 Mon Sep 17 00:00:00 2001 From: Mitchell Gerber Date: Mon, 22 Jan 2018 22:29:40 -0600 Subject: [PATCH] server - add hidden fields to thread/reply --- lib/myapp/data/reply.ex | 3 ++- lib/myapp/data/thread.ex | 1 + .../20180123041244_reply_add_hidden_field.exs | 22 +++++++++++++++++++ ...20180123042453_thread_add_hidden_field.exs | 22 +++++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 priv/repo/migrations/20180123041244_reply_add_hidden_field.exs create mode 100644 priv/repo/migrations/20180123042453_thread_add_hidden_field.exs diff --git a/lib/myapp/data/reply.ex b/lib/myapp/data/reply.ex index d58e76b..cec6229 100644 --- a/lib/myapp/data/reply.ex +++ b/lib/myapp/data/reply.ex @@ -12,6 +12,7 @@ defmodule MyApp.Data.Reply do field :content, :string field :edited, :boolean, default: false field :quote_id, :integer + field :hidden, :boolean, default: false has_one :user, Data.User, foreign_key: :id, references: :user_id timestamps(type: :utc_datetime) end @@ -54,7 +55,7 @@ defmodule MyApp.Data.Reply do end end - @spec user_update(map) :: {:ok, map} | {:error, map} + @spec user_update(map) :: {:ok, String.t} | {:error, String.t} def user_update(params) do id = Map.get(params, "id") user_id = Map.get(params, "user_id") diff --git a/lib/myapp/data/thread.ex b/lib/myapp/data/thread.ex index 8d57628..bca401d 100644 --- a/lib/myapp/data/thread.ex +++ b/lib/myapp/data/thread.ex @@ -16,6 +16,7 @@ defmodule MyApp.Data.Thread do field :locked, :boolean, default: false field :edited, :boolean, default: false field :reply_count, :integer, default: 0 + field :hidden, :boolean, default: false has_many :replies, Data.Reply has_one :user, Data.User, foreign_key: :id, references: :user_id has_one :last_reply, Data.User, foreign_key: :id, references: :last_reply_id diff --git a/priv/repo/migrations/20180123041244_reply_add_hidden_field.exs b/priv/repo/migrations/20180123041244_reply_add_hidden_field.exs new file mode 100644 index 0000000..7e560ac --- /dev/null +++ b/priv/repo/migrations/20180123041244_reply_add_hidden_field.exs @@ -0,0 +1,22 @@ +defmodule MyApp.Repo.Migrations.ReplyAddHiddenField do + use Ecto.Migration + import Ecto.Query + + def up do + alter table(:reply) do + add :hidden, :boolean + end + + flush() + + from(r in "reply", + update: [set: [hidden: false]]) + |> MyApp.Repo.update_all([]) + end + + def down do + alter table(:reply) do + remove :hidden + end + end +end diff --git a/priv/repo/migrations/20180123042453_thread_add_hidden_field.exs b/priv/repo/migrations/20180123042453_thread_add_hidden_field.exs new file mode 100644 index 0000000..a49e565 --- /dev/null +++ b/priv/repo/migrations/20180123042453_thread_add_hidden_field.exs @@ -0,0 +1,22 @@ +defmodule MyApp.Repo.Migrations.ThreadAddHiddenField do + use Ecto.Migration + import Ecto.Query + + def up do + alter table(:thread) do + add :hidden, :boolean + end + + flush() + + from(r in "thread", + update: [set: [hidden: false]]) + |> MyApp.Repo.update_all([]) + end + + def down do + alter table(:thread) do + remove :hidden + end + end +end