Current section

Files

Jump to
scales_cms lib scales_cms cms cms_directories.ex
Raw

lib/scales_cms/cms/cms_directories.ex

defmodule ScalesCms.Cms.CmsDirectories do
@moduledoc """
The Cms context.
"""
import Ecto.Query, warn: false
alias ScalesCms.Cms.CmsDirectory
import ScalesCms, only: [repo: 0]
@doc """
Returns the list of cms_directories.
## Examples
iex> list_cms_directories()
[%CmsDirectory{}, ...]
"""
def list_cms_directories do
CmsDirectory
|> where([cd], is_nil(cd.cms_directory_id))
|> repo().all()
end
@doc """
Returns the list of all cms_directories.
## Examples
iex> list_all_cms_directories()
[%CmsDirectory{}, ...]
"""
def list_all_cms_directories, do: repo().all(CmsDirectory)
@doc """
Returns the list of all active cms_directories.
## Examples
iex> list_all_active_cms_directories()
[%CmsDirectory{}, ...]
"""
def list_all_active_cms_directories do
CmsDirectory
|> where([cd], is_nil(cd.deleted_at))
|> repo().all()
end
@doc """
Returns the list of cms_directories under its parent id.
## Examples
iex> list_cms_directories(12)
[%CmsDirectory{}, ...]
"""
def list_cms_directories_for_parent_id(parent_id) do
CmsDirectory
|> where([cd], cd.cms_directory_id == ^parent_id)
|> repo().all()
end
@doc """
Gets a single cms_directory.
Raises `Ecto.NoResultsError` if the Cms directory does not exist.
## Examples
iex> get_cms_directory!(123)
%CmsDirectory{}
iex> get_cms_directory!(456)
** (Ecto.NoResultsError)
"""
def get_cms_directory!(id), do: repo().get!(CmsDirectory, id)
@doc """
Creates a cms_directory.
## Examples
iex> create_cms_directory(%{field: value})
{:ok, %CmsDirectory{}}
iex> create_cms_directory(%{field: bad_value})
{:error, %Ecto.Changeset{}}
"""
def create_cms_directory(attrs \\ %{}) do
%CmsDirectory{}
|> CmsDirectory.changeset(attrs)
|> repo().insert()
end
@doc """
Updates a cms_directory.
## Examples
iex> update_cms_directory(cms_directory, %{field: new_value})
{:ok, %CmsDirectory{}}
iex> update_cms_directory(cms_directory, %{field: bad_value})
{:error, %Ecto.Changeset{}}
"""
def update_cms_directory(%CmsDirectory{} = cms_directory, attrs) do
cms_directory
|> CmsDirectory.changeset(attrs)
|> repo().update()
end
@doc """
Deletes a cms_directory.
## Examples
iex> delete_cms_directory(cms_directory)
{:ok, %CmsDirectory{}}
iex> delete_cms_directory(cms_directory)
{:error, %Ecto.Changeset{}}
"""
def delete_cms_directory(%CmsDirectory{} = cms_directory) do
repo().delete(cms_directory)
end
@doc """
Returns an `%Ecto.Changeset{}` for tracking cms_directory changes.
## Examples
iex> change_cms_directory(cms_directory)
%Ecto.Changeset{data: %CmsDirectory{}}
"""
def change_cms_directory(%CmsDirectory{} = cms_directory, attrs \\ %{}) do
CmsDirectory.changeset(cms_directory, attrs)
end
end