init commit

This commit is contained in:
2026-04-16 14:20:58 -05:00
commit cc973cc11c
51 changed files with 2447 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
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(id) do
case Repo.get(Task, 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