ScalesCms.Cms.CmsDirectories
(scales_cms v0.2.0)
Copy Markdown
The Cms context.
Summary
Functions
Applies sorting to a query based on the given column and order.
Returns an %Ecto.Changeset{} for tracking cms_directory changes.
Counts directories with optional search query. Used for root-level directory listing pagination.
Counts directories for a parent with optional search query. Used for pagination.
Creates a cms_directory.
Deletes a cms_directory.
Fetches directories with optional search query and sorting. Used for root-level directory listing.
Fetches directories for a parent with optional search query and sorting.
Fetches a slice of child directories using offset/limit. Used by CmsListing for combined pagination.
Fetches a slice of root directories using offset/limit. Used by CmsListing for combined pagination.
Fetches paginated directories with optional search query and sorting. Used for root-level directory listing.
Fetches paginated directories for a parent with optional search query and sorting.
Gets a single cms_directory.
Returns the list of all active cms_directories.
Returns the list of all cms_directories.
Returns the list of cms_directories.
Returns the list of cms_directories under its parent id.
Returns the list of cms_directories matching the search query.
Returns the list of cms_directories under its parent id matching the search query.
Updates a cms_directory.
Functions
Applies sorting to a query based on the given column and order.
Parameters
query- The Ecto query to sortsort_by- Column to sort by: "created"sort_order- Sort direction: "asc" or "desc" (default: "asc")
Examples
iex> apply_sorting(query, "created", "desc")
#Ecto.Query<...>
Returns an %Ecto.Changeset{} for tracking cms_directory changes.
Examples
iex> change_cms_directory(cms_directory)
%Ecto.Changeset{data: %CmsDirectory{}}
Counts directories with optional search query. Used for root-level directory listing pagination.
Examples
iex> count_directories("")
10
Counts directories for a parent with optional search query. Used for pagination.
Examples
iex> count_directories_for_parent(123, "")
5
Creates a cms_directory.
Examples
iex> create_cms_directory(%{field: value})
{:ok, %CmsDirectory{}}
iex> create_cms_directory(%{field: bad_value})
{:error, %Ecto.Changeset{}}
Deletes a cms_directory.
Examples
iex> delete_cms_directory(cms_directory)
{:ok, %CmsDirectory{}}
iex> delete_cms_directory(cms_directory)
{:error, %Ecto.Changeset{}}
Fetches directories with optional search query and sorting. Used for root-level directory listing.
Options
:sort_by- Column to sort by: "created":sort_order- Sort direction: "asc" or "desc" (default: "asc")
Examples
iex> fetch_directories("", sort_by: "created", sort_order: "desc")
[%CmsDirectory{}, ...]
Fetches directories for a parent with optional search query and sorting.
Options
:sort_by- Column to sort by: "created":sort_order- Sort direction: "asc" or "desc" (default: "asc")
Examples
iex> fetch_directories_for_parent(123, "", sort_by: "created", sort_order: "asc")
[%CmsDirectory{}, ...]
Fetches a slice of child directories using offset/limit. Used by CmsListing for combined pagination.
Fetches a slice of root directories using offset/limit. Used by CmsListing for combined pagination.
Fetches paginated directories with optional search query and sorting. Used for root-level directory listing.
Options
:sort_by- Column to sort by: "created":sort_order- Sort direction: "asc" or "desc" (default: "asc"):page- Page number (1-based):per_page- Number of items per page
Examples
iex> fetch_paginated_directories("", page: 1, per_page: 20, sort_by: "created", sort_order: "desc")
[%CmsDirectory{}, ...]
Fetches paginated directories for a parent with optional search query and sorting.
Options
:sort_by- Column to sort by: "created":sort_order- Sort direction: "asc" or "desc" (default: "asc"):page- Page number (1-based):per_page- Number of items per page
Examples
iex> fetch_paginated_directories_for_parent(123, "", page: 1, per_page: 20, sort_by: "created", sort_order: "asc")
[%CmsDirectory{}, ...]
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)
Returns the list of all active cms_directories.
Examples
iex> list_all_active_cms_directories()
[%CmsDirectory{}, ...]
Returns the list of all cms_directories.
Examples
iex> list_all_cms_directories()
[%CmsDirectory{}, ...]
Returns the list of cms_directories.
Examples
iex> list_cms_directories()
[%CmsDirectory{}, ...]
Returns the list of cms_directories under its parent id.
Examples
iex> list_cms_directories(12)
[%CmsDirectory{}, ...]
Returns the list of cms_directories matching the search query.
Examples
iex> search_cms_directories("blog")
[%CmsDirectory{}, ...]
Returns the list of cms_directories under its parent id matching the search query.
Examples
iex> search_cms_directories_for_parent_id(12, "blog")
[%CmsDirectory{}, ...]
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{}}