24 lines
966 B
Elixir
24 lines
966 B
Elixir
defmodule BDS.Maintenance do
|
|
@moduledoc false
|
|
|
|
def rebuild_from_filesystem(project_id, entity_type) do
|
|
case normalize_entity_type(entity_type) do
|
|
:post -> BDS.Posts.rebuild_posts_from_files(project_id)
|
|
:media -> BDS.Media.rebuild_media_from_files(project_id)
|
|
:script -> BDS.Scripts.rebuild_scripts_from_files(project_id)
|
|
:template -> BDS.Templates.rebuild_templates_from_files(project_id)
|
|
:unsupported -> {:error, :unsupported_entity_type}
|
|
end
|
|
end
|
|
|
|
defp normalize_entity_type(:post), do: :post
|
|
defp normalize_entity_type(:media), do: :media
|
|
defp normalize_entity_type(:script), do: :script
|
|
defp normalize_entity_type(:template), do: :template
|
|
defp normalize_entity_type("post"), do: :post
|
|
defp normalize_entity_type("media"), do: :media
|
|
defp normalize_entity_type("script"), do: :script
|
|
defp normalize_entity_type("template"), do: :template
|
|
defp normalize_entity_type(_entity_type), do: :unsupported
|
|
end
|