re-add usage tracker

This commit is contained in:
byte[] 2020-07-30 20:00:44 -04:00
parent 70f530cb76
commit 78dac4df70

View file

@ -4,6 +4,8 @@ defmodule PhilomenaWeb.UserAuth do
alias Philomena.Users alias Philomena.Users
alias PhilomenaWeb.Router.Helpers, as: Routes alias PhilomenaWeb.Router.Helpers, as: Routes
alias PhilomenaWeb.UserIpUpdater
alias PhilomenaWeb.UserFingerprintUpdater
# Make the remember me cookie valid for 365 days. # Make the remember me cookie valid for 365 days.
# If you want bump or reduce this value, also change # If you want bump or reduce this value, also change
@ -122,6 +124,8 @@ defmodule PhilomenaWeb.UserAuth do
user = user_token && Users.get_user_by_session_token(user_token) user = user_token && Users.get_user_by_session_token(user_token)
totp = totp_token && Users.user_totp_token_valid?(user, totp_token) totp = totp_token && Users.user_totp_token_valid?(user, totp_token)
if user, do: update_usages(conn, user)
conn conn
|> assign(:current_user, user) |> assign(:current_user, user)
|> assign(:totp_valid?, totp) |> assign(:totp_valid?, totp)
@ -193,4 +197,12 @@ defmodule PhilomenaWeb.UserAuth do
defp maybe_store_return_to(conn), do: conn defp maybe_store_return_to(conn), do: conn
defp signed_in_path(_conn), do: "/" defp signed_in_path(_conn), do: "/"
defp update_usages(conn, user) do
now = NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second)
conn = fetch_cookies(conn)
UserIpUpdater.cast(user.id, conn.remote_ip, now)
UserFingerprintUpdater.cast(user.id, conn.cookies["_ses"], now)
end
end end