feat: adding "+" buttons to sidebar titles

This commit is contained in:
2026-04-26 22:05:55 +02:00
parent 334ffe6f6a
commit 0d7a68bc0f
11 changed files with 342 additions and 27 deletions

View File

@@ -0,0 +1,37 @@
defmodule BDS.ImportDefinitions do
@moduledoc false
import Ecto.Query
alias BDS.ImportDefinitions.ImportDefinition
alias BDS.Persistence
alias BDS.Repo
def create_definition(attrs) do
now = Persistence.now_ms()
%ImportDefinition{}
|> ImportDefinition.changeset(%{
id: Ecto.UUID.generate(),
project_id: attr(attrs, :project_id),
name: attr(attrs, :name) || "",
wxr_file_path: attr(attrs, :wxr_file_path),
uploads_folder_path: attr(attrs, :uploads_folder_path),
last_analysis_result: attr(attrs, :last_analysis_result),
created_at: now,
updated_at: now
})
|> Repo.insert()
end
def list_definitions(project_id) do
Repo.all(
from definition in ImportDefinition,
where: definition.project_id == ^project_id,
order_by: [desc: definition.updated_at, desc: definition.created_at],
select: %{id: definition.id, title: definition.name, updated_at: definition.updated_at}
)
end
defp attr(attrs, key), do: Map.get(attrs, key) || Map.get(attrs, Atom.to_string(key))
end