From b48a07f517d719c4dd7ed0ec9013af15d596992d Mon Sep 17 00:00:00 2001 From: Byron Mulvogue Date: Fri, 24 Jul 2020 12:51:23 +0000 Subject: [PATCH 1/3] Allow staff to bypass rate limits --- lib/philomena_web/plugs/limit_plug.ex | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/philomena_web/plugs/limit_plug.ex b/lib/philomena_web/plugs/limit_plug.ex index bc1ea8d2..caf46337 100644 --- a/lib/philomena_web/plugs/limit_plug.ex +++ b/lib/philomena_web/plugs/limit_plug.ex @@ -10,6 +10,7 @@ defmodule PhilomenaWeb.LimitPlug do alias Plug.Conn alias Phoenix.Controller + alias Philomena.Users.User @doc false @spec init(any()) :: any() @@ -41,6 +42,9 @@ defmodule PhilomenaWeb.LimitPlug do amt <= limit -> conn + is_staff(conn.assigns.current_user) -> + conn + true -> conn |> Controller.put_flash(:error, error) @@ -49,6 +53,11 @@ defmodule PhilomenaWeb.LimitPlug do end end + defp is_staff(%User{role: "admin"}), do: true + defp is_staff(%User{role: "moderator"}), do: true + defp is_staff(%User{role: "assistant"}), do: true + defp is_staff(_), do: false + defp current_user_id(%{id: id}), do: id defp current_user_id(_), do: nil end From c7291b8117c57c92630b605a008f44035488272f Mon Sep 17 00:00:00 2001 From: Byron Mulvogue Date: Fri, 24 Jul 2020 12:54:13 +0000 Subject: [PATCH 2/3] mix format --- lib/philomena/tags/tag.ex | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/philomena/tags/tag.ex b/lib/philomena/tags/tag.ex index a3a0d475..8c2fba2c 100644 --- a/lib/philomena/tags/tag.ex +++ b/lib/philomena/tags/tag.ex @@ -169,7 +169,10 @@ defmodule Philomena.Tags.Tag do # with ascii quotes, trim space from end name |> String.downcase() - |> String.replace(~r/[[:space:]\x{00a0}\x{1680}\x{180e}\x{2000}-\x{200f}\x{202f}\x{205f}\x{3000}\x{feff}]+/u, " ") + |> String.replace( + ~r/[[:space:]\x{00a0}\x{1680}\x{180e}\x{2000}-\x{200f}\x{202f}\x{205f}\x{3000}\x{feff}]+/u, + " " + ) |> String.replace(~r/[\x{00b4}\x{2018}\x{2019}\x{201a}\x{201b}\x{2032}]/u, "'") |> String.replace(~r/[\x{201c}\x{201d}\x{201e}\x{201f}\x{2033}]/u, "\"") |> String.trim() From c2fd8289c3603affab162015c5a0efeb81dc36f1 Mon Sep 17 00:00:00 2001 From: Byron Mulvogue Date: Fri, 24 Jul 2020 13:03:20 +0000 Subject: [PATCH 3/3] Revert "mix format" This reverts commit c7291b8117c57c92630b605a008f44035488272f. --- lib/philomena/tags/tag.ex | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/philomena/tags/tag.ex b/lib/philomena/tags/tag.ex index 8c2fba2c..a3a0d475 100644 --- a/lib/philomena/tags/tag.ex +++ b/lib/philomena/tags/tag.ex @@ -169,10 +169,7 @@ defmodule Philomena.Tags.Tag do # with ascii quotes, trim space from end name |> String.downcase() - |> String.replace( - ~r/[[:space:]\x{00a0}\x{1680}\x{180e}\x{2000}-\x{200f}\x{202f}\x{205f}\x{3000}\x{feff}]+/u, - " " - ) + |> String.replace(~r/[[:space:]\x{00a0}\x{1680}\x{180e}\x{2000}-\x{200f}\x{202f}\x{205f}\x{3000}\x{feff}]+/u, " ") |> String.replace(~r/[\x{00b4}\x{2018}\x{2019}\x{201a}\x{201b}\x{2032}]/u, "'") |> String.replace(~r/[\x{201c}\x{201d}\x{201e}\x{201f}\x{2033}]/u, "\"") |> String.trim()