489 lines
8.6 KiB
Elixir
489 lines
8.6 KiB
Elixir
defmodule Eventos.Accounts do
|
|
@moduledoc """
|
|
The Accounts context.
|
|
"""
|
|
|
|
import Ecto.Query, warn: false
|
|
alias Eventos.Repo
|
|
|
|
alias Eventos.Accounts.User
|
|
|
|
@doc """
|
|
Returns the list of users.
|
|
|
|
## Examples
|
|
|
|
iex> list_users()
|
|
[%User{}, ...]
|
|
|
|
"""
|
|
def list_users do
|
|
Repo.all(User)
|
|
end
|
|
|
|
@doc """
|
|
Gets a single user.
|
|
|
|
Raises `Ecto.NoResultsError` if the User does not exist.
|
|
|
|
## Examples
|
|
|
|
iex> get_user!(123)
|
|
%User{}
|
|
|
|
iex> get_user!(456)
|
|
** (Ecto.NoResultsError)
|
|
|
|
"""
|
|
def get_user!(id), do: Repo.get!(User, id)
|
|
|
|
@doc """
|
|
Creates a user.
|
|
|
|
## Examples
|
|
|
|
iex> create_user(%{field: value})
|
|
{:ok, %User{}}
|
|
|
|
iex> create_user(%{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def create_user(attrs \\ %{}) do
|
|
%User{}
|
|
|> User.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
@doc """
|
|
Updates a user.
|
|
|
|
## Examples
|
|
|
|
iex> update_user(user, %{field: new_value})
|
|
{:ok, %User{}}
|
|
|
|
iex> update_user(user, %{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def update_user(%User{} = user, attrs) do
|
|
user
|
|
|> User.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
@doc """
|
|
Deletes a User.
|
|
|
|
## Examples
|
|
|
|
iex> delete_user(user)
|
|
{:ok, %User{}}
|
|
|
|
iex> delete_user(user)
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def delete_user(%User{} = user) do
|
|
Repo.delete(user)
|
|
end
|
|
|
|
@doc """
|
|
Returns an `%Ecto.Changeset{}` for tracking user changes.
|
|
|
|
## Examples
|
|
|
|
iex> change_user(user)
|
|
%Ecto.Changeset{source: %User{}}
|
|
|
|
"""
|
|
def change_user(%User{} = user) do
|
|
User.changeset(user, %{})
|
|
end
|
|
|
|
alias Eventos.Accounts.Account
|
|
|
|
@doc """
|
|
Returns the list of accounts.
|
|
|
|
## Examples
|
|
|
|
iex> list_accounts()
|
|
[%Account{}, ...]
|
|
|
|
"""
|
|
def list_accounts do
|
|
Repo.all(Account)
|
|
end
|
|
|
|
@doc """
|
|
Gets a single account.
|
|
|
|
Raises `Ecto.NoResultsError` if the Account does not exist.
|
|
|
|
## Examples
|
|
|
|
iex> get_account!(123)
|
|
%Account{}
|
|
|
|
iex> get_account!(456)
|
|
** (Ecto.NoResultsError)
|
|
|
|
"""
|
|
def get_account!(id), do: Repo.get!(Account, id)
|
|
|
|
@doc """
|
|
Creates a account.
|
|
|
|
## Examples
|
|
|
|
iex> create_account(%{field: value})
|
|
{:ok, %Account{}}
|
|
|
|
iex> create_account(%{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def create_account(attrs \\ %{}) do
|
|
%Account{}
|
|
|> Account.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
@doc """
|
|
Updates a account.
|
|
|
|
## Examples
|
|
|
|
iex> update_account(account, %{field: new_value})
|
|
{:ok, %Account{}}
|
|
|
|
iex> update_account(account, %{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def update_account(%Account{} = account, attrs) do
|
|
account
|
|
|> Account.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
@doc """
|
|
Deletes a Account.
|
|
|
|
## Examples
|
|
|
|
iex> delete_account(account)
|
|
{:ok, %Account{}}
|
|
|
|
iex> delete_account(account)
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def delete_account(%Account{} = account) do
|
|
Repo.delete(account)
|
|
end
|
|
|
|
@doc """
|
|
Returns an `%Ecto.Changeset{}` for tracking account changes.
|
|
|
|
## Examples
|
|
|
|
iex> change_account(account)
|
|
%Ecto.Changeset{source: %Account{}}
|
|
|
|
"""
|
|
def change_account(%Account{} = account) do
|
|
Account.changeset(account, %{})
|
|
end
|
|
|
|
alias Eventos.Accounts.Group
|
|
|
|
@doc """
|
|
Returns the list of groups.
|
|
|
|
## Examples
|
|
|
|
iex> list_groups()
|
|
[%Group{}, ...]
|
|
|
|
"""
|
|
def list_groups do
|
|
Repo.all(Group)
|
|
end
|
|
|
|
@doc """
|
|
Gets a single group.
|
|
|
|
Raises `Ecto.NoResultsError` if the Group does not exist.
|
|
|
|
## Examples
|
|
|
|
iex> get_group!(123)
|
|
%Group{}
|
|
|
|
iex> get_group!(456)
|
|
** (Ecto.NoResultsError)
|
|
|
|
"""
|
|
def get_group!(id), do: Repo.get!(Group, id)
|
|
|
|
@doc """
|
|
Creates a group.
|
|
|
|
## Examples
|
|
|
|
iex> create_group(%{field: value})
|
|
{:ok, %Group{}}
|
|
|
|
iex> create_group(%{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def create_group(attrs \\ %{}) do
|
|
%Group{}
|
|
|> Group.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
@doc """
|
|
Updates a group.
|
|
|
|
## Examples
|
|
|
|
iex> update_group(group, %{field: new_value})
|
|
{:ok, %Group{}}
|
|
|
|
iex> update_group(group, %{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def update_group(%Group{} = group, attrs) do
|
|
group
|
|
|> Group.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
@doc """
|
|
Deletes a Group.
|
|
|
|
## Examples
|
|
|
|
iex> delete_group(group)
|
|
{:ok, %Group{}}
|
|
|
|
iex> delete_group(group)
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def delete_group(%Group{} = group) do
|
|
Repo.delete(group)
|
|
end
|
|
|
|
@doc """
|
|
Returns an `%Ecto.Changeset{}` for tracking group changes.
|
|
|
|
## Examples
|
|
|
|
iex> change_group(group)
|
|
%Ecto.Changeset{source: %Group{}}
|
|
|
|
"""
|
|
def change_group(%Group{} = group) do
|
|
Group.changeset(group, %{})
|
|
end
|
|
|
|
alias Eventos.Accounts.GroupAccount
|
|
|
|
@doc """
|
|
Returns the list of group_accounts.
|
|
|
|
## Examples
|
|
|
|
iex> list_group_accounts()
|
|
[%GroupAccount{}, ...]
|
|
|
|
"""
|
|
def list_group_accounts do
|
|
Repo.all(GroupAccount)
|
|
end
|
|
|
|
@doc """
|
|
Gets a single group_account.
|
|
|
|
Raises `Ecto.NoResultsError` if the Group account does not exist.
|
|
|
|
## Examples
|
|
|
|
iex> get_group_account!(123)
|
|
%GroupAccount{}
|
|
|
|
iex> get_group_account!(456)
|
|
** (Ecto.NoResultsError)
|
|
|
|
"""
|
|
def get_group_account!(id), do: Repo.get!(GroupAccount, id)
|
|
|
|
@doc """
|
|
Creates a group_account.
|
|
|
|
## Examples
|
|
|
|
iex> create_group_account(%{field: value})
|
|
{:ok, %GroupAccount{}}
|
|
|
|
iex> create_group_account(%{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def create_group_account(attrs \\ %{}) do
|
|
%GroupAccount{}
|
|
|> GroupAccount.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
@doc """
|
|
Updates a group_account.
|
|
|
|
## Examples
|
|
|
|
iex> update_group_account(group_account, %{field: new_value})
|
|
{:ok, %GroupAccount{}}
|
|
|
|
iex> update_group_account(group_account, %{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def update_group_account(%GroupAccount{} = group_account, attrs) do
|
|
group_account
|
|
|> GroupAccount.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
@doc """
|
|
Deletes a GroupAccount.
|
|
|
|
## Examples
|
|
|
|
iex> delete_group_account(group_account)
|
|
{:ok, %GroupAccount{}}
|
|
|
|
iex> delete_group_account(group_account)
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def delete_group_account(%GroupAccount{} = group_account) do
|
|
Repo.delete(group_account)
|
|
end
|
|
|
|
@doc """
|
|
Returns an `%Ecto.Changeset{}` for tracking group_account changes.
|
|
|
|
## Examples
|
|
|
|
iex> change_group_account(group_account)
|
|
%Ecto.Changeset{source: %GroupAccount{}}
|
|
|
|
"""
|
|
def change_group_account(%GroupAccount{} = group_account) do
|
|
GroupAccount.changeset(group_account, %{})
|
|
end
|
|
|
|
alias Eventos.Accounts.GroupRequest
|
|
|
|
@doc """
|
|
Returns the list of group_request.
|
|
|
|
## Examples
|
|
|
|
iex> list_group_requests()
|
|
[%GroupRequest{}, ...]
|
|
|
|
"""
|
|
def list_group_requests do
|
|
Repo.all(GroupRequest)
|
|
end
|
|
|
|
@doc """
|
|
Gets a single group_request.
|
|
|
|
Raises `Ecto.NoResultsError` if the Group request does not exist.
|
|
|
|
## Examples
|
|
|
|
iex> get_group_request!(123)
|
|
%GroupRequest{}
|
|
|
|
iex> get_group_request!(456)
|
|
** (Ecto.NoResultsError)
|
|
|
|
"""
|
|
def get_group_request!(id), do: Repo.get!(GroupRequest, id)
|
|
|
|
@doc """
|
|
Creates a group_request.
|
|
|
|
## Examples
|
|
|
|
iex> create_group_request(%{field: value})
|
|
{:ok, %GroupRequest{}}
|
|
|
|
iex> create_group_request(%{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def create_group_request(attrs \\ %{}) do
|
|
%GroupRequest{}
|
|
|> GroupRequest.changeset(attrs)
|
|
|> Repo.insert()
|
|
end
|
|
|
|
@doc """
|
|
Updates a group_request.
|
|
|
|
## Examples
|
|
|
|
iex> update_group_request(group_request, %{field: new_value})
|
|
{:ok, %GroupRequest{}}
|
|
|
|
iex> update_group_request(group_request, %{field: bad_value})
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def update_group_request(%GroupRequest{} = group_request, attrs) do
|
|
group_request
|
|
|> GroupRequest.changeset(attrs)
|
|
|> Repo.update()
|
|
end
|
|
|
|
@doc """
|
|
Deletes a GroupRequest.
|
|
|
|
## Examples
|
|
|
|
iex> delete_group_request(group_request)
|
|
{:ok, %GroupRequest{}}
|
|
|
|
iex> delete_group_request(group_request)
|
|
{:error, %Ecto.Changeset{}}
|
|
|
|
"""
|
|
def delete_group_request(%GroupRequest{} = group_request) do
|
|
Repo.delete(group_request)
|
|
end
|
|
|
|
@doc """
|
|
Returns an `%Ecto.Changeset{}` for tracking group_request changes.
|
|
|
|
## Examples
|
|
|
|
iex> change_group_request(group_request)
|
|
%Ecto.Changeset{source: %GroupRequest{}}
|
|
|
|
"""
|
|
def change_group_request(%GroupRequest{} = group_request) do
|
|
GroupRequest.changeset(group_request, %{})
|
|
end
|
|
end
|