View Source ExOauth2Provider.Applications (ExOauth2Provider v0.5.7)
The boundary for the applications system.
Summary
Functions
Create application changeset.
Creates an application.
Deletes an application.
Gets a single application by uid.
Gets a single application by uid.
Gets a single application for a resource owner.
Returns all applications for a owner.
Gets all authorized applications for a resource owner.
Gets a single application by uid and secret.
Revokes all access tokens for an application and resource owner.
Updates an application.
Functions
@spec change_application( ExOauth2Provider.Applications.Application.t(), map(), keyword() ) :: Ecto.Changeset.t()
Create application changeset.
Examples
iex> change_application(application, %{}, otp_app: :my_app)
{:ok, %OauthApplication{}}
@spec create_application(Ecto.Schema.t(), map(), keyword()) :: {:ok, ExOauth2Provider.Applications.Application.t()} | {:error, Ecto.Changeset.t()}
Creates an application.
Examples
iex> create_application(user, %{name: "App", redirect_uri: "http://example.com"}, otp_app: :my_app)
{:ok, %OauthApplication{}}
iex> create_application(user, %{name: ""}, otp_app: :my_app)
{:error, %Ecto.Changeset{}}
@spec delete_application( ExOauth2Provider.Applications.Application.t(), keyword() ) :: {:ok, ExOauth2Provider.Applications.Application.t()} | {:error, Ecto.Changeset.t()}
Deletes an application.
Examples
iex> delete_application(application, otp_app: :my_app)
{:ok, %OauthApplication{}}
iex> delete_application(application, otp_app: :my_app)
{:error, %Ecto.Changeset{}}
@spec get_application( binary(), keyword() ) :: ExOauth2Provider.Applications.Application.t() | nil
Gets a single application by uid.
Examples
iex> get_application("c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", otp_app: :my_app)
%OauthApplication{}
iex> get_application("75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", otp_app: :my_app)
nil
@spec get_application!( binary(), keyword() ) :: ExOauth2Provider.Applications.Application.t() | no_return()
Gets a single application by uid.
Raises Ecto.NoResultsError
if the Application does not exist.
Examples
iex> get_application!("c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", otp_app: :my_app)
%OauthApplication{}
iex> get_application!("75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", otp_app: :my_app)
** (Ecto.NoResultsError)
@spec get_application_for!(Ecto.Schema.t(), binary(), keyword()) :: ExOauth2Provider.Applications.Application.t() | no_return()
Gets a single application for a resource owner.
Raises Ecto.NoResultsError
if the OauthApplication does not exist for resource owner.
Examples
iex> get_application_for!(owner, "c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", otp_app: :my_app)
%OauthApplication{}
iex> get_application_for!(owner, "75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", otp_app: :my_app)
** (Ecto.NoResultsError)
@spec get_applications_for( Ecto.Schema.t(), keyword() ) :: [ExOauth2Provider.Applications.Application.t()]
Returns all applications for a owner.
Examples
iex> get_applications_for(resource_owner, otp_app: :my_app)
[%OauthApplication{}, ...]
@spec get_authorized_applications_for( Ecto.Schema.t(), keyword() ) :: [ExOauth2Provider.Applications.Application.t()]
Gets all authorized applications for a resource owner.
Examples
iex> get_authorized_applications_for(owner, otp_app: :my_app)
[%OauthApplication{},...]
@spec load_application(binary(), binary(), keyword()) :: ExOauth2Provider.Applications.Application.t() | nil
Gets a single application by uid and secret.
Examples
iex> load_application("c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", "SECRET", otp_app: :my_app)
%OauthApplication{}
iex> load_application("75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", "SECRET", otp_app: :my_app)
nil
revoke_all_access_tokens_for(application, resource_owner, config \\ [])
View Source@spec revoke_all_access_tokens_for( ExOauth2Provider.Applications.Application.t(), Ecto.Schema.t(), keyword() ) :: {:ok, [{:ok, AccessToken.t()}]} | {:error, any()}
Revokes all access tokens for an application and resource owner.
Examples
iex> revoke_all_access_tokens_for(application, resource_owner, otp_app: :my_app)
{:ok, [ok: %OauthAccessToken{}]}
@spec update_application( ExOauth2Provider.Applications.Application.t(), map(), keyword() ) :: {:ok, ExOauth2Provider.Applications.Application.t()} | {:error, Ecto.Changeset.t()}
Updates an application.
Examples
iex> update_application(application, %{name: "Updated App"}, otp_app: :my_app)
{:ok, %OauthApplication{}}
iex> update_application(application, %{name: ""}, otp_app: :my_app)
{:error, %Ecto.Changeset{}}