Refactoring Woka management (#1810)
* Wrap websockets with HyperExpress * Add endpoints on pusher to resolve wokas * getting textures urls from pusher * Adding OpenAPI documentation for the pusher. The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint. * revert FRONT_URL * playerTextures metadata is being loaded via Phaser.Loader * fetch textures every time character or customize scene is open * Heavy changes: refactoring the pusher to always send the textures (and the front to accept them) * Sending character layer details to admin * Cleaning commented code * Fixing regex * Fix woka endpoints on pusher * Change error wording on pusher * Working on integration of the woka-list with the new admin endpoint. * Switching from "name" to "id" in texture object + using zod for woka/list validation * Add position on default woka data * Remove async on pusher option method * Fix woka list url * add options for /register * Fxiing loading the Woka list * Actually returning something in logout-callback * Copying messages to back too * remove customize button if no body parts are available (#1952) * remove customize button if no body parts are available * remove unused position field from PlayerTexturesCollection interface * removed unused label field * fix LocalUser test * little PlayerTextures class refactor * Fixing linting * Fixing missing Openapi packages in prod * Fixing back build Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: David Négrier <d.negrier@thecodingmachine.com> * Add returns on pusher endpoints Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re> Co-authored-by: Hanusiak Piotr <piotr@ltmp.co> Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
This commit is contained in:
+25
-18
@@ -4,31 +4,38 @@ import { AuthenticateController } from "./Controller/AuthenticateController"; //
|
||||
import { MapController } from "./Controller/MapController";
|
||||
import { PrometheusController } from "./Controller/PrometheusController";
|
||||
import { DebugController } from "./Controller/DebugController";
|
||||
import { App as uwsApp } from "./Server/sifrr.server";
|
||||
import { AdminController } from "./Controller/AdminController";
|
||||
import { OpenIdProfileController } from "./Controller/OpenIdProfileController";
|
||||
import { WokaListController } from "./Controller/WokaListController";
|
||||
import { SwaggerController } from "./Controller/SwaggerController";
|
||||
import HyperExpress from "hyper-express";
|
||||
import { cors } from "./Middleware/Cors";
|
||||
import { ENABLE_OPENAPI_ENDPOINT } from "./Enum/EnvironmentVariable";
|
||||
|
||||
class App {
|
||||
public app: uwsApp;
|
||||
public ioSocketController: IoSocketController;
|
||||
public authenticateController: AuthenticateController;
|
||||
public mapController: MapController;
|
||||
public prometheusController: PrometheusController;
|
||||
private debugController: DebugController;
|
||||
private adminController: AdminController;
|
||||
private openIdProfileController: OpenIdProfileController;
|
||||
public app: HyperExpress.compressors.TemplatedApp;
|
||||
|
||||
constructor() {
|
||||
this.app = new uwsApp();
|
||||
const webserver = new HyperExpress.Server();
|
||||
this.app = webserver.uws_instance;
|
||||
|
||||
//create socket controllers
|
||||
this.ioSocketController = new IoSocketController(this.app);
|
||||
this.authenticateController = new AuthenticateController(this.app);
|
||||
this.mapController = new MapController(this.app);
|
||||
this.prometheusController = new PrometheusController(this.app);
|
||||
this.debugController = new DebugController(this.app);
|
||||
this.adminController = new AdminController(this.app);
|
||||
this.openIdProfileController = new OpenIdProfileController(this.app);
|
||||
// Global middlewares
|
||||
webserver.use(cors);
|
||||
|
||||
// Socket controllers
|
||||
new IoSocketController(this.app);
|
||||
|
||||
// Http controllers
|
||||
new AuthenticateController(webserver);
|
||||
new MapController(webserver);
|
||||
new PrometheusController(webserver);
|
||||
new DebugController(webserver);
|
||||
new AdminController(webserver);
|
||||
new OpenIdProfileController(webserver);
|
||||
new WokaListController(webserver);
|
||||
if (ENABLE_OPENAPI_ENDPOINT) {
|
||||
new SwaggerController(webserver);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user