X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fo_auth%2Ftoken%2Fquery.ex;h=662e7856d366a27aa9361a07316b6b11874baffb;hb=63ce25f32c9bd0dfd5a4db9ad14b6b773c9b05a9;hp=acddf0533b7d1d431cc4ea2d9627126de734ad21;hpb=aa681d7e15f6170e7e92d86146d5ba96be6433bc;p=akkoma diff --git a/lib/pleroma/web/o_auth/token/query.ex b/lib/pleroma/web/o_auth/token/query.ex index acddf0533..662e7856d 100644 --- a/lib/pleroma/web/o_auth/token/query.ex +++ b/lib/pleroma/web/o_auth/token/query.ex @@ -23,19 +23,9 @@ defmodule Pleroma.Web.OAuth.Token.Query do from(q in query, where: q.token == ^token) end - @spec get_unexpired_by_app_and_user(query, String.t()) :: query - def get_unexpired_by_app_and_user(query \\ Token, app_id, %Pleroma.User{id: user_id}) do - time = NaiveDateTime.utc_now() - - from(q in query, - where: q.app_id == ^app_id and q.valid_until > ^time and q.user_id == ^user_id, - limit: 1 - ) - end - @spec get_by_app(query, String.t()) :: query def get_by_app(query \\ Token, app_id) do - from(q in query, where: q.app_id == ^app_id, limit: 1) + from(q in query, where: q.app_id == ^app_id) end @spec get_by_id(query, String.t()) :: query @@ -48,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 \\ [])