annotations

This commit is contained in:
2024-11-27 12:46:03 +02:00
parent 54b8941f3c
commit ad4eef17f5
12 changed files with 514 additions and 36 deletions
+116 -1
View File
@@ -2,7 +2,7 @@ import path, { dirname } from 'path';
import { fileURLToPath } from 'url';
/**
* Main backend application
* Main backend application class
*/
class App{
constructor(){
@@ -73,4 +73,119 @@ class App{
}
}
/* The following are pseudo in order to keep documentation aligned to the code */
/**
* The core application plugins
*/
class AppCore{
/**
* The configuration plugin instance
* @type Config
*/
config = undefined;
/**
* The database plugin instance
* @type Db
*/
db = undefined;
/**
* The web server plugin instance
* @type WebServer
*/
webServer = undefined;
}
/**
* The main logical part application plugins
*/
class AppManagement {
/**
* Game objects manager plugin instance
* @type GameObjectsManager
*/
gameObject = undefined;
/**
* Games manager plugin instance
* @type GamesManager
*/
games = undefined;
/**
* Rules manager plugin instance
* @type RulesManager
*/
rules = undefined;
/**
* Scenarios manager plugin instance
* @type ScenariosManager
*/
scenarios = undefined;
}
/**
* The main application controller plugin instances
*/
class AppControllerApi {
/**
* Game objects controller plugin instance
* @type GameObjectsController
*/
gameObjectsApi = undefined;
/**
* Games controller plugin instance
* @type GamesController
*/
gamesApi = undefined;
/**
* Rules controller plugin instance
* @type RulesController
*/
rulesApi = undefined;
/**
* Scenarios controller plugin instance
* @type ScenariosController
*/
scenariosApi = undefined;
/**
* Asset controller plugin instance
* @type AssetController
*/
assetApi = undefined;
}
class AppConcrete {
/**
* Application core plugins
* @type AppCore
* @memberof App
*/
core = undefined;
/**
* Application management plugins
* @type AppManagement
* @memberof App
*/
management = undefined;
/**
* Application controller API plugins
* @type AppControllerApi
* @memberof App
*/
controller = undefined
}
export default App;