feat: adding "+" buttons to sidebar titles
This commit is contained in:
37
lib/bds/import_definitions.ex
Normal file
37
lib/bds/import_definitions.ex
Normal 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
|
||||
Reference in New Issue
Block a user