defmodule Mix.Tasks.ArkePostgres.InitDb do alias Arke.QueryManager alias Arke.Boundary.ArkeManager use Mix.Task @shortdoc "Init new arke postgres DB" def run(_) do Mix.Task.run("app.start") ArkePostgres.create_project(%{arke_id: :arke_project, id: :arke_system}) create_base_project() create_admin_user() end defp create_base_project() do arke_project = ArkeManager.get(:arke_project, :arke_system) QueryManager.create(:arke_system, arke_project, [ id: :arke_system, label: "Arke system", description: "Base project of the application", type: "postgres_schema" ] ) end defp create_admin_user() do user_arke = ArkeManager.get(:user, :arke_system) QueryManager.create(:arke_system, user_arke, %{username: "admin", password: "admin", type: "super_admin"}) end end