AuthManager.Accounts.UserService (auth_manager_core v0.1.1)
Servicio para operaciones relacionadas con usuarios.
Summary
Functions
Activa un usuario.
Autentica a un usuario por nombre de usuario/email y contraseña.
Cambia la contraseña de un usuario.
Cuenta el número de usuarios según criterios de búsqueda.
Obtiene un usuario por su email.
Obtiene un usuario por su nombre de usuario.
Obtiene un usuario por su ID.
Obtiene un usuario por su ID, lanzando un error si no existe.
Inactiva un usuario.
Busca usuarios según criterios.
Actualiza los datos de un usuario.
Functions
Activa un usuario.
Ejemplos
iex> UserService.activate(user)
{:ok, %User{}}
Autentica a un usuario por nombre de usuario/email y contraseña.
Ejemplos
iex> UserService.authenticate("usuario", "contraseña")
{:ok, %User{}}
iex> UserService.authenticate("usuario", "incorrecta")
{:error, :invalid_credentials}
Cambia la contraseña de un usuario.
Ejemplos
iex> UserService.change_password(user, "nueva_contraseña")
{:ok, %User{}}
Cuenta el número de usuarios según criterios de búsqueda.
Ejemplos
iex> UserService.count_users(search: "juan", active: true)
5
Obtiene un usuario por su email.
Ejemplos
iex> UserService.get_by_email("juan@example.com")
%User{}
Obtiene un usuario por su nombre de usuario.
Ejemplos
iex> UserService.get_by_username("juanperez")
%User{}
Obtiene un usuario por su ID.
Ejemplos
iex> UserService.get_user(1)
%User{}
iex> UserService.get_user(999)
nil
Obtiene un usuario por su ID, lanzando un error si no existe.
Ejemplos
iex> UserService.get_user!(1)
%User{}
iex> UserService.get_user!(999)
** (Ecto.NoResultsError)
Inactiva un usuario.
Ejemplos
iex> UserService.inactivate(user)
{:ok, %User{}}
Busca usuarios según criterios.
Ejemplos
iex> UserService.search_users(search: "juan", active: true)
[%User{}, ...]
Actualiza los datos de un usuario.
Ejemplos
iex> UserService.update_user(user, %{first_name: "Nuevo Nombre"})
{:ok, %User{}}