Files
HaimKortovich c81b1673d4
Some checks failed
Build and Publish / build-release (push) Has been cancelled
add auth
2026-05-15 10:19:57 -05:00

39 lines
903 B
Elixir

defmodule WorkloadService.Workload.Queries do
@moduledoc """
Database query functions for tasks.
"""
import Ecto.Query
alias WorkloadService.Projections.Task
alias WorkloadService.Repo
def list_tasks(params \\ %{}) do
base_query()
|> Flop.validate_and_run(params, for: Task)
end
def list_tasks_by_org(org_id, params \\ %{}) do
base_query()
|> where(org_id: ^org_id)
|> Flop.validate_and_run(params, for: Task)
end
def get_task_by_id(org_id, id) do
case Repo.get_by(Task, id: id, org_id: org_id) do
nil -> {:error, :not_found}
task -> {:ok, task}
end
end
def get_task_by_org_and_application(org_id, application_id) do
case Repo.get_by(Task, org_id: org_id, application_id: application_id) do
nil -> {:error, :not_found}
task -> {:ok, task}
end
end
defp base_query do
from(t in Task, as: :task)
end
end