fix: fixed project loading from filesystem and added project metadata to metadata diff

This commit is contained in:
2026-04-26 23:15:04 +02:00
parent 546df93d14
commit adb49ceb6e
6 changed files with 285 additions and 22 deletions

View File

@@ -3,6 +3,7 @@ defmodule BDS.Projects do
import Ecto.Query
alias BDS.Metadata
alias BDS.Persistence
alias BDS.Projects.Project
alias BDS.Repo
@@ -96,7 +97,7 @@ defmodule BDS.Projects do
project
end)
|> case do
{:ok, project} -> {:ok, project}
{:ok, project} -> sync_filesystem_metadata(project)
{:error, reason} -> {:error, reason}
end
end
@@ -168,6 +169,15 @@ defmodule BDS.Projects do
}
end
defp sync_filesystem_metadata(%Project{data_path: nil} = project), do: {:ok, project}
defp sync_filesystem_metadata(%Project{} = project) do
case Metadata.sync_project_metadata_from_filesystem(project.id) do
{:ok, _metadata} -> {:ok, get_project!(project.id)}
{:error, reason} -> {:error, reason}
end
end
defp unique_slug(base_slug) do
normalized = if base_slug in [nil, ""], do: "project", else: base_slug