From f27a4700bcfb8fa5a19b42ba9d175d076e4ee09d Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Sun, 17 Sep 2023 22:59:03 +0800 Subject: [PATCH] Configure sweeper interval in minutes * Restore `minute_to_ms` function * Pipe interval option through `minute_to_ms` --- lib/guardian/db/sweeper.ex | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/guardian/db/sweeper.ex b/lib/guardian/db/sweeper.ex index b94349c..e74c99c 100644 --- a/lib/guardian/db/sweeper.ex +++ b/lib/guardian/db/sweeper.ex @@ -13,10 +13,10 @@ defmodule Guardian.DB.Sweeper do alias Guardian.DB.Token - @sixty_minutes 60 * 60 * 1000 + @sixty_minutes 60 def start_link(opts) do - interval = Keyword.get(opts, :interval, @sixty_minutes) + interval = Keyword.get(opts, :interval, @sixty_minutes) |> minute_to_ms() GenServer.start_link(__MODULE__, [interval: interval], name: __MODULE__) end @@ -67,4 +67,13 @@ defmodule Guardian.DB.Sweeper do [interval: interval, timer: timer] end + + defp minute_to_ms(value) when is_binary(value) do + value + |> String.to_integer() + |> minute_to_ms() + end + + defp minute_to_ms(value) when value < 1, do: 1000 + defp minute_to_ms(value), do: round(value * 60 * 1000) end