reuse valid oauth tokens (#182)
[akkoma] / lib / pleroma / web / o_auth / token / query.ex
index d16a759d8a2d74a0995cd05cbe7e18a43d6f7364..662e7856d366a27aa9361a07316b6b11874baffb 100644 (file)
@@ -38,6 +38,19 @@ defmodule Pleroma.Web.OAuth.Token.Query do
     from(q in query, where: q.user_id == ^user_id)
   end
 
+  def get_unexpired(query) do
+    now = NaiveDateTime.utc_now()
+    from(q in query, where: q.valid_until > ^now)
+  end
+
+  def limit(query, limit) do
+    from(q in query, limit: ^limit)
+  end
+
+  def sort_by_inserted_at(query) do
+    from(q in query, order_by: [desc: :updated_at])
+  end
+
   @spec preload(query, any) :: query
   def preload(query \\ Token, assoc_preload \\ [])