Aludel.Projects (aludel v0.2.0)

Copy Markdown View Source

Context for managing projects that organize prompts and test suites.

Summary

Functions

Returns an %Ecto.Changeset{} for tracking project changes.

Creates a project.

Deletes a project.

Gets a single project.

Returns the list of projects, optionally filtered by type.

Updates a project.

Functions

change_project(project, attrs \\ %{})

@spec change_project(Aludel.Projects.Project.t(), map()) :: Ecto.Changeset.t()

Returns an %Ecto.Changeset{} for tracking project changes.

create_project(attrs \\ %{})

@spec create_project(map()) ::
  {:ok, Aludel.Projects.Project.t()} | {:error, Ecto.Changeset.t()}

Creates a project.

delete_project(project)

@spec delete_project(Aludel.Projects.Project.t()) ::
  {:ok, Aludel.Projects.Project.t()} | {:error, Ecto.Changeset.t()}

Deletes a project.

get_project!(id)

@spec get_project!(binary()) :: Aludel.Projects.Project.t()

Gets a single project.

Raises Ecto.NoResultsError if the Project does not exist.

list_projects(opts \\ [])

@spec list_projects(keyword()) :: [Aludel.Projects.Project.t()]

Returns the list of projects, optionally filtered by type.

Projects are ordered alphabetically by name.

update_project(project, attrs)

@spec update_project(Aludel.Projects.Project.t(), map()) ::
  {:ok, Aludel.Projects.Project.t()} | {:error, Ecto.Changeset.t()}

Updates a project.