List installed frontend refs in admin API
This commit is contained in:
parent
4f7c11b281
commit
d3b27d45a9
4 changed files with 17 additions and 3 deletions
|
@ -1585,6 +1585,7 @@ Returns the content of the document
|
|||
"build_url": "https://git.pleroma.social/pleroma/fedi-fe/-/jobs/artifacts/${ref}/download?job=build",
|
||||
"git": "https://git.pleroma.social/pleroma/fedi-fe",
|
||||
"installed": true,
|
||||
"installed_refs": ["master"],
|
||||
"name": "fedi-fe",
|
||||
"ref": "master"
|
||||
},
|
||||
|
@ -1592,6 +1593,7 @@ Returns the content of the document
|
|||
"build_url": "https://git.pleroma.social/lambadalambda/kenoma/-/jobs/artifacts/${ref}/download?job=build",
|
||||
"git": "https://git.pleroma.social/lambadalambda/kenoma",
|
||||
"installed": false,
|
||||
"installed_refs": [],
|
||||
"name": "kenoma",
|
||||
"ref": "master"
|
||||
}
|
||||
|
|
|
@ -22,7 +22,9 @@ def index(conn, _params) do
|
|||
[:frontends, :available]
|
||||
|> Config.get([])
|
||||
|> Enum.map(fn {name, desc} ->
|
||||
Map.put(desc, "installed", name in installed)
|
||||
desc
|
||||
|> Map.put("installed", name in installed)
|
||||
|> Map.put("installed_refs", installed_refs(name))
|
||||
end)
|
||||
|
||||
render(conn, "index.json", frontends: frontends)
|
||||
|
@ -43,4 +45,12 @@ defp installed do
|
|||
[]
|
||||
end
|
||||
end
|
||||
|
||||
def installed_refs(name) do
|
||||
if name in installed() do
|
||||
File.ls!(Path.join(Pleroma.Frontend.dir(), name))
|
||||
else
|
||||
[]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -15,7 +15,8 @@ def render("show.json", %{frontend: frontend}) do
|
|||
git: frontend["git"],
|
||||
build_url: frontend["build_url"],
|
||||
ref: frontend["ref"],
|
||||
installed: frontend["installed"]
|
||||
installed: frontend["installed"],
|
||||
installed_refs: frontend["installed_refs"]
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -52,7 +52,8 @@ defp list_of_frontends do
|
|||
git: %Schema{type: :string, format: :uri, nullable: true},
|
||||
build_url: %Schema{type: :string, format: :uri, nullable: true},
|
||||
ref: %Schema{type: :string},
|
||||
installed: %Schema{type: :boolean}
|
||||
installed: %Schema{type: :boolean},
|
||||
installed_refs: %Schema{type: :array, items: %Schema{type: :string}}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue