up docker-compose.yml
+ node js in gradle
This commit is contained in:
@@ -62,7 +62,6 @@ public class MainVerticle extends AbstractVerticle {
|
||||
.onFailure(err -> {
|
||||
log.error("Failed to initialize database", err);
|
||||
startPromise.fail(err);
|
||||
return;
|
||||
});
|
||||
|
||||
Router router = initRouter();
|
||||
@@ -104,6 +103,22 @@ public class MainVerticle extends AbstractVerticle {
|
||||
}
|
||||
});
|
||||
|
||||
// ------ Раздаём Vue статику ------
|
||||
router.route("/assets/*").handler(StaticHandler.create("webroot/assets"));
|
||||
|
||||
router.route("/favicon.ico").handler(ctx -> ctx.response().sendFile("webroot/favicon.ico"));
|
||||
|
||||
// ------ SPA fallback: отдаём index.html на все не-API запросы ------
|
||||
router.route().handler(ctx -> {
|
||||
if (ctx.request().path().startsWith("/api")) {
|
||||
ctx.next();
|
||||
} else {
|
||||
ctx.response()
|
||||
.putHeader("Content-Type", "text/html")
|
||||
.sendFile("webroot/index.html");
|
||||
}
|
||||
});
|
||||
|
||||
// Health Checks
|
||||
HealthCheckService healthCheckService = new HealthCheckService(vertx, redis, db);
|
||||
healthCheckService.registerHealthCheck(router);
|
||||
@@ -128,17 +143,15 @@ public class MainVerticle extends AbstractVerticle {
|
||||
router.route("/api/admin/*").handler(authHandler::requireAuth);
|
||||
|
||||
// Получение списка пользователей
|
||||
router.get("/api/admin/users").handler(rc -> {
|
||||
userService.getAllUsers().onComplete(ar -> {
|
||||
if (ar.succeeded()) {
|
||||
rc.response()
|
||||
.putHeader("Content-Type", "application/json")
|
||||
.end(ar.result().encode());
|
||||
} else {
|
||||
rc.response().setStatusCode(500).end(ar.cause().getMessage());
|
||||
}
|
||||
});
|
||||
});
|
||||
router.get("/api/admin/users").handler(rc -> userService.getAllUsers().onComplete(ar -> {
|
||||
if (ar.succeeded()) {
|
||||
rc.response()
|
||||
.putHeader("Content-Type", "application/json")
|
||||
.end(ar.result().encode());
|
||||
} else {
|
||||
rc.response().setStatusCode(500).end(ar.cause().getMessage());
|
||||
}
|
||||
}));
|
||||
|
||||
// Получение текущего пользователя
|
||||
router.get("/api/admin/me").handler(rc -> {
|
||||
@@ -156,9 +169,9 @@ public class MainVerticle extends AbstractVerticle {
|
||||
});
|
||||
|
||||
// Статическая раздача фронтенда
|
||||
router.route("/*").handler(StaticHandler.create("webroot")
|
||||
.setCachingEnabled(false)
|
||||
.setIndexPage("index.html"));
|
||||
// router.route("/*").handler(StaticHandler.create("webroot")
|
||||
// .setCachingEnabled(false)
|
||||
// .setIndexPage("index.html"));
|
||||
|
||||
return router;
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ public class HealthCheckService {
|
||||
.onFailure(err -> future.tryFail("DataBase ping failed: " + err.getMessage()));
|
||||
});
|
||||
|
||||
// Регистрируем endpoint /health
|
||||
router.get("/health").handler(healthCheckHandler);
|
||||
// Регистрируем endpoint /api/health
|
||||
router.get("/api/health").handler(healthCheckHandler);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user