aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2021-04-02 14:20:10 -0700
committerTrumeet <yuuta@yuuta.moe>2021-04-02 14:20:10 -0700
commit9d2cf8c59154ae6cb9f4157f93af7ec11c63ec15 (patch)
tree69828434bfb863d2ca2ef4cf4a2f53429a9dfab8
parente24a0d7eb64026a9b2478760f38fc4bad7eceff2 (diff)
downloaddn42peering-1.11.tar
dn42peering-1.11.tar.gz
dn42peering-1.11.tar.bz2
dn42peering-1.11.zip
feat(central): support manually re-deployingv1.11
-rw-r--r--central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java23
-rw-r--r--central/src/main/resources/admin/index.ftlh3
2 files changed, 25 insertions, 1 deletions
diff --git a/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java b/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java
index a9e6f5b..f0375ce 100644
--- a/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java
+++ b/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java
@@ -257,6 +257,29 @@ public class NodeHandler implements ISubRouter {
});
});
+ router.get("/redeploy")
+ .handler(ValidationHandler
+ .builder(parser)
+ .queryParameter(param("id", stringSchema()))
+ .build())
+ .handler(ctx -> {
+ final String id = ctx.<RequestParameters>get(ValidationHandler.REQUEST_CONTEXT_KEY)
+ .queryParameter("id").getString();
+ int intId;
+ try {
+ intId = Integer.parseInt(id);
+ } catch (NumberFormatException ignored) {
+ ctx.response().setStatusCode(400).end();
+ return;
+ }
+ provisionRemoteService.deploy(intId, ar -> {
+ ctx.response()
+ .setStatusCode(303)
+ .putHeader("Location", "/admin")
+ .end();
+ });
+ });
+
return router;
}
}
diff --git a/central/src/main/resources/admin/index.ftlh b/central/src/main/resources/admin/index.ftlh
index 3316622..d3e3fd3 100644
--- a/central/src/main/resources/admin/index.ftlh
+++ b/central/src/main/resources/admin/index.ftlh
@@ -37,7 +37,8 @@
${method}<br />
</#list>
</td>
- <td><a href="/admin/nodes/edit?id=${node.id}">Edit</a></td>
+ <td><a href="/admin/nodes/edit?id=${node.id}">Edit</a><br />
+ <a href="/admin/nodes/redeploy?id=${node.id}">Redeploy</a></td>
</tr>
</#list>
</table>