File size: 469 Bytes
88211d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
defmodule PlausibleWeb.Plugs.UserSessionTouch do
  @moduledoc """
  Plug for bumping timeout on user session on every dashboard request.
  """

  import Plug.Conn

  alias Plausible.Auth

  def init(opts \\ []) do
    opts
  end

  def call(conn, _opts) do
    if user_session = conn.assigns[:current_user_session] do
      assign(
        conn,
        :current_user_session,
        Auth.UserSessions.touch(user_session)
      )
    else
      conn
    end
  end
end