Okay that's about everything again
This commit is contained in:
parent
d094ff036f
commit
a25698347d
4 changed files with 63 additions and 4 deletions
|
|
@ -35,6 +35,21 @@ defmodule EzcontainerRailway.Railway do
|
||||||
node {
|
node {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
|
serviceInstances {
|
||||||
|
edges {
|
||||||
|
node {
|
||||||
|
upstreamUrl
|
||||||
|
domains {
|
||||||
|
customDomains {
|
||||||
|
domain
|
||||||
|
}
|
||||||
|
serviceDomains {
|
||||||
|
domain
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -129,10 +144,10 @@ defmodule EzcontainerRailway.Railway do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_container(token, service_id) do
|
def delete_container(service_id, token) do
|
||||||
GraphqlClient.query(
|
GraphqlClient.query(
|
||||||
"""
|
"""
|
||||||
mutation deleteContainer(id: String!) {
|
mutation deleteContainer($id: String!) {
|
||||||
serviceDelete(id: $id)
|
serviceDelete(id: $id)
|
||||||
}
|
}
|
||||||
""",
|
""",
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,6 @@ defmodule EzcontainerRailwayWeb.ContainerCreateLive do
|
||||||
socket.assigns.session["railway_token"]
|
socket.assigns.session["railway_token"]
|
||||||
)
|
)
|
||||||
|
|
||||||
{:noreply, socket |> push_redirect('/containers')}
|
{:noreply, socket |> put_flash(:info, "container deplying") |> push_redirect(to: "/containers")}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
43
lib/ezcontainer_railway_web/live/containers_live.ex
Normal file
43
lib/ezcontainer_railway_web/live/containers_live.ex
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
defmodule EzcontainerRailwayWeb.ContainersLive do
|
||||||
|
use Phoenix.LiveView
|
||||||
|
alias EzcontainerRailway.Railway
|
||||||
|
use EzcontainerRailwayWeb, :live_view
|
||||||
|
|
||||||
|
def render(assigns) do
|
||||||
|
~H"""
|
||||||
|
<div class="grid grid-cols-4 gap-2 m-10">
|
||||||
|
<%= for service <- @services do %>
|
||||||
|
<div class="card bg-base-100 shadow-xl">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="card-title"><%= service["name"] %></h2>
|
||||||
|
<div class="card-actions justify-start">
|
||||||
|
<button phx-click="delete" phx-value-project_id={service["id"]} class="btn btn-xs btn-secondary">Delete</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
|
def mount(_params, session, socket) do
|
||||||
|
{:ok, services} = Railway.get_services(session["railway_token"])
|
||||||
|
IO.inspect services
|
||||||
|
|
||||||
|
{:ok, socket |> assign(session: session, services: services)}
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_info(:refresh, socket) do
|
||||||
|
{:ok, services} = Railway.get_services(socket.assigns.session["railway_token"])
|
||||||
|
|
||||||
|
{:noreply, socket |> assign(services: services)}
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_event("delete", data, socket) do
|
||||||
|
{:ok, services} = Railway.delete_container(data["project_id"], socket.assigns.session["railway_token"])
|
||||||
|
|
||||||
|
send(self(), :refresh)
|
||||||
|
|
||||||
|
{:noreply, socket}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -36,7 +36,8 @@ defmodule EzcontainerRailwayWeb.Router do
|
||||||
pipe_through :ensure_token
|
pipe_through :ensure_token
|
||||||
|
|
||||||
live "/containers/create", ContainerCreateLive
|
live "/containers/create", ContainerCreateLive
|
||||||
resources("/containers", ContainerController, only: [:index, :create, :show])
|
live "/containers", ContainersLive
|
||||||
|
resources("/containers", ContainerController, only: [:create, :show])
|
||||||
end
|
end
|
||||||
|
|
||||||
# Other scopes may use custom stacks.
|
# Other scopes may use custom stacks.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue