refactor: cleanup mix credo issues

This commit is contained in:
Schuwi
2025-09-20 11:35:04 +02:00
parent 72484c0d08
commit f4ee768c52
9 changed files with 134 additions and 124 deletions

View File

@@ -288,18 +288,25 @@ defmodule ComponentsElixir.Inventory do
end
defp apply_component_sorting(query, opts) do
case Keyword.get(opts, :sort_criteria, "name_asc") do
"name_asc" -> order_by(query, [c], [asc: c.name, asc: c.id])
"name_desc" -> order_by(query, [c], [desc: c.name, asc: c.id])
"inserted_at_asc" -> order_by(query, [c], [asc: c.inserted_at, asc: c.id])
"inserted_at_desc" -> order_by(query, [c], [desc: c.inserted_at, asc: c.id])
"updated_at_asc" -> order_by(query, [c], [asc: c.updated_at, asc: c.id])
"updated_at_desc" -> order_by(query, [c], [desc: c.updated_at, asc: c.id])
"count_asc" -> order_by(query, [c], [asc: c.count, asc: c.id])
"count_desc" -> order_by(query, [c], [desc: c.count, asc: c.id])
# Default fallback
_ -> order_by(query, [c], [asc: c.name, asc: c.id])
end
sort_criteria = Keyword.get(opts, :sort_criteria, "name_asc")
sort_order = get_sort_order(sort_criteria)
order_by(query, [c], ^sort_order)
end
# Map of sort criteria to their corresponding sort orders
@sort_orders %{
"name_asc" => [asc: :name, asc: :id],
"name_desc" => [desc: :name, asc: :id],
"inserted_at_asc" => [asc: :inserted_at, asc: :id],
"inserted_at_desc" => [desc: :inserted_at, asc: :id],
"updated_at_asc" => [asc: :updated_at, asc: :id],
"updated_at_desc" => [desc: :updated_at, asc: :id],
"count_asc" => [asc: :count, asc: :id],
"count_desc" => [desc: :count, asc: :id]
}
defp get_sort_order(criteria) do
Map.get(@sort_orders, criteria, [asc: :name, asc: :id])
end
@doc """