@open-core/framework 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
- package/dist/adapters/contracts/IPlatformCapabilities.js +31 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +1 -1
- package/dist/adapters/contracts/{IPedAppearanceClient.d.ts → client/IPedAppearanceClient.d.ts} +1 -1
- package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
- package/dist/adapters/contracts/server/IEntityServer.js +39 -0
- package/dist/adapters/contracts/{IPlayerServer.d.ts → server/IPlayerServer.d.ts} +52 -9
- package/dist/adapters/contracts/server/IPlayerServer.js +39 -0
- package/dist/adapters/contracts/types/identifier.d.ts +67 -0
- package/dist/adapters/contracts/types/identifier.js +64 -0
- package/dist/adapters/contracts/types/index.d.ts +1 -0
- package/dist/{kernel/shared/appearance → adapters/contracts/types}/index.js +1 -1
- package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
- package/dist/adapters/fivem/fivem-capabilities.js +67 -0
- package/dist/adapters/fivem/fivem-engine-events.js +17 -4
- package/dist/adapters/fivem/fivem-entity-server.d.ts +6 -2
- package/dist/adapters/fivem/fivem-entity-server.js +14 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +1 -1
- package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
- package/dist/adapters/fivem/fivem-platform.js +100 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +7 -1
- package/dist/adapters/fivem/fivem-player-server.js +19 -1
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.js +1 -1
- package/dist/adapters/fivem/index.d.ts +13 -0
- package/dist/adapters/fivem/index.js +31 -0
- package/dist/adapters/index.d.ts +8 -7
- package/dist/adapters/index.js +13 -12
- package/dist/adapters/node/index.d.ts +5 -0
- package/dist/adapters/node/index.js +13 -1
- package/dist/adapters/node/node-capabilities.d.ts +19 -0
- package/dist/adapters/node/node-capabilities.js +54 -0
- package/dist/adapters/node/node-entity-server.d.ts +17 -6
- package/dist/adapters/node/node-entity-server.js +41 -15
- package/dist/adapters/node/node-net-transport.js +2 -2
- package/dist/adapters/node/node-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-client.js +1 -1
- package/dist/adapters/node/node-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-server.js +1 -1
- package/dist/adapters/node/node-platform.d.ts +5 -0
- package/dist/adapters/node/node-platform.js +103 -0
- package/dist/adapters/node/node-player-server.d.ts +19 -3
- package/dist/adapters/node/node-player-server.js +43 -9
- package/dist/adapters/node/node-playerinfo.d.ts +2 -2
- package/dist/adapters/node/node-playerinfo.js +14 -3
- package/dist/adapters/node/node-vehicle-server.d.ts +1 -1
- package/dist/adapters/node/node-vehicle-server.js +1 -1
- package/dist/adapters/platform/index.d.ts +1 -0
- package/dist/{runtime/server/database.js → adapters/platform/index.js} +1 -7
- package/dist/adapters/platform/platform-registry.d.ts +101 -0
- package/dist/adapters/platform/platform-registry.js +122 -0
- package/dist/adapters/register-capabilities.d.ts +52 -2
- package/dist/adapters/register-capabilities.js +69 -130
- package/dist/adapters/register-client-capabilities.js +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.js +5 -31
- package/dist/kernel/di/container.d.ts +4 -2
- package/dist/kernel/di/container.js +5 -3
- package/dist/kernel/di/metadata.scanner.d.ts +2 -1
- package/dist/kernel/di/metadata.scanner.js +3 -2
- package/dist/kernel/{utils/error → error}/app.error.d.ts +2 -2
- package/dist/kernel/error/common.error-codes.d.ts +1 -0
- package/dist/kernel/error/framework.error-codes.d.ts +12 -0
- package/dist/kernel/error/index.d.ts +4 -0
- package/dist/kernel/error/index.js +18 -0
- package/dist/kernel/{utils/error → error}/security.error.d.ts +1 -1
- package/dist/kernel/error/security.types.js +2 -0
- package/dist/kernel/index.d.ts +4 -5
- package/dist/kernel/index.js +6 -11
- package/dist/kernel/{shared/logger → logger}/core-logger.d.ts +0 -19
- package/dist/kernel/{shared/logger → logger}/core-logger.js +10 -24
- package/dist/kernel/{shared/logger → logger}/logger.env.d.ts +12 -5
- package/dist/kernel/{shared/logger → logger}/logger.env.js +29 -13
- package/dist/kernel/{shared/logger → logger}/logger.service.d.ts +14 -0
- package/dist/kernel/{shared/logger → logger}/logger.service.js +20 -2
- package/dist/kernel/logger/transports/transport.interface.js +2 -0
- package/dist/kernel/shared/index.d.ts +1 -2
- package/dist/kernel/shared/index.js +1 -2
- package/dist/kernel/utils/index.d.ts +0 -2
- package/dist/kernel/utils/index.js +0 -2
- package/dist/kernel/utils/result.d.ts +1 -1
- package/dist/runtime/client/api.d.ts +7 -0
- package/dist/runtime/client/api.js +23 -0
- package/dist/runtime/client/client-bootstrap.js +1 -1
- package/dist/runtime/client/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/index.d.ts +2 -2
- package/dist/runtime/client/decorators/index.js +2 -2
- package/dist/runtime/client/decorators/key.d.ts +2 -2
- package/dist/runtime/client/decorators/key.js +3 -3
- package/dist/runtime/client/decorators/localEvent.d.ts +1 -1
- package/dist/runtime/client/decorators/localEvent.js +1 -1
- package/dist/runtime/client/decorators/{tick.d.ts → onTick.d.ts} +1 -1
- package/dist/runtime/client/decorators/{tick.js → onTick.js} +2 -2
- package/dist/runtime/client/decorators/{nui.d.ts → onView.d.ts} +4 -4
- package/dist/runtime/client/decorators/{nui.js → onView.js} +5 -5
- package/dist/runtime/client/index.d.ts +1 -7
- package/dist/runtime/client/index.js +26 -12
- package/dist/runtime/client/player/player.d.ts +1 -1
- package/dist/runtime/client/player/player.loader.js +3 -3
- package/dist/runtime/client/services/appearance.service.d.ts +1 -1
- package/dist/runtime/client/services/appearance.service.js +1 -1
- package/dist/runtime/client/services/blip.service.d.ts +1 -1
- package/dist/runtime/client/services/marker.service.d.ts +1 -1
- package/dist/runtime/client/services/ped.service.d.ts +1 -1
- package/dist/runtime/client/services/spawn.service.d.ts +2 -2
- package/dist/runtime/client/services/spawn.service.js +12 -12
- package/dist/runtime/client/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle.service.d.ts +1 -1
- package/dist/runtime/client/system/processors/export.processor.js +1 -1
- package/dist/runtime/client/system/processors/gameEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/interval.processor.js +1 -1
- package/dist/runtime/client/system/processors/localEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/netEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/nui.processor.js +5 -4
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/runtime/client/system/processors/tick.processor.js +1 -1
- package/dist/runtime/client/ui-bridge.js +1 -1
- package/dist/runtime/core/entity.d.ts +168 -0
- package/dist/runtime/core/entity.js +226 -0
- package/dist/runtime/core/index.d.ts +3 -0
- package/dist/runtime/core/index.js +19 -0
- package/dist/runtime/core/spatial.d.ts +5 -0
- package/dist/runtime/core/spatial.js +2 -0
- package/dist/runtime/core/world.d.ts +13 -0
- package/dist/runtime/core/world.js +64 -0
- package/dist/runtime/server/api.d.ts +12 -0
- package/dist/runtime/server/api.js +34 -0
- package/dist/runtime/server/bootstrap.js +58 -103
- package/dist/runtime/server/bus/internal-event.bus.js +1 -1
- package/dist/runtime/server/contracts/index.d.ts +1 -2
- package/dist/runtime/server/contracts/index.js +2 -3
- package/dist/runtime/server/contracts/player-persistence.contract.d.ts +16 -18
- package/dist/runtime/server/contracts/player-persistence.contract.js +16 -18
- package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.js +9 -0
- package/dist/runtime/server/contracts/security/permission.types.d.ts +2 -2
- package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +3 -3
- package/dist/runtime/server/contracts/security/principal-provider.contract.js +2 -2
- package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +1 -1
- package/dist/runtime/server/controllers/chat.controller.js +5 -0
- package/dist/runtime/server/controllers/command-export.controller.d.ts +12 -3
- package/dist/runtime/server/controllers/command-export.controller.js +81 -25
- package/dist/runtime/server/controllers/player-export.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/player-export.controller.js +5 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +8 -7
- package/dist/runtime/server/controllers/ready.controller.d.ts +5 -0
- package/dist/runtime/server/controllers/ready.controller.js +37 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +65 -13
- package/dist/runtime/server/controllers/session.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/session.controller.js +25 -17
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -38
- package/dist/runtime/server/controllers/vehicle.controller.js +6 -152
- package/dist/runtime/server/decorators/guard.d.ts +8 -6
- package/dist/runtime/server/decorators/guard.js +10 -8
- package/dist/runtime/server/decorators/index.d.ts +1 -1
- package/dist/runtime/server/decorators/index.js +1 -1
- package/dist/runtime/server/decorators/onNet.d.ts +3 -3
- package/dist/runtime/server/decorators/{onFiveMEvent.d.ts → onRuntimeEvent.d.ts} +5 -4
- package/dist/runtime/server/decorators/{onFiveMEvent.js → onRuntimeEvent.js} +7 -6
- package/dist/runtime/server/decorators/requiresState.js +3 -3
- package/dist/runtime/server/decorators/throttle.d.ts +1 -1
- package/dist/runtime/server/decorators/throttle.js +1 -1
- package/dist/runtime/server/decorators/utils.d.ts +1 -1
- package/dist/runtime/server/decorators/utils.js +1 -1
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +7 -8
- package/dist/runtime/server/devmode/dev-mode.service.js +18 -46
- package/dist/runtime/server/devmode/index.d.ts +1 -3
- package/dist/runtime/server/devmode/index.js +1 -18
- package/dist/runtime/server/devmode/player-simulator.service.js +3 -3
- package/dist/runtime/server/devmode/state-inspector.service.js +2 -2
- package/dist/runtime/server/devmode/types.d.ts +67 -31
- package/dist/runtime/server/devmode/types.js +1 -4
- package/dist/runtime/server/entities/player.d.ts +80 -66
- package/dist/runtime/server/entities/player.js +137 -98
- package/dist/runtime/server/entities/vehicle.d.ts +3 -3
- package/dist/runtime/server/error-handler.js +5 -5
- package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
- package/dist/runtime/server/helpers/normalize-app-error.js +20 -0
- package/dist/runtime/server/helpers/resolve-method.js +3 -3
- package/dist/runtime/server/index.d.ts +1 -13
- package/dist/runtime/server/index.js +25 -23
- package/dist/runtime/server/runtime.d.ts +32 -281
- package/dist/runtime/server/runtime.js +46 -60
- package/dist/runtime/server/services/appearance.service.d.ts +5 -5
- package/dist/runtime/server/services/appearance.service.js +5 -5
- package/dist/runtime/server/services/chat.service.d.ts +5 -3
- package/dist/runtime/server/services/chat.service.js +17 -12
- package/dist/runtime/server/services/core/command.service.d.ts +9 -1
- package/dist/runtime/server/services/core/command.service.js +16 -7
- package/dist/runtime/server/services/core/player.service.d.ts +12 -16
- package/dist/runtime/server/services/core/player.service.js +42 -47
- package/dist/runtime/server/services/core/principal.service.js +5 -5
- package/dist/runtime/server/services/core/session-recovery.service.d.ts +1 -1
- package/dist/runtime/server/services/core/session-recovery.service.js +2 -2
- package/dist/runtime/server/services/default/default-command-error-observer.d.ts +14 -0
- package/dist/runtime/server/services/default/default-command-error-observer.js +43 -0
- package/dist/runtime/server/services/default/default-principal.provider.d.ts +13 -0
- package/dist/runtime/server/services/default/default-principal.provider.js +38 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +1 -1
- package/dist/runtime/server/services/default/default-security.handler.js +1 -1
- package/dist/runtime/server/services/index.d.ts +0 -3
- package/dist/runtime/server/services/index.js +1 -6
- package/dist/runtime/server/services/parallel/index.d.ts +1 -45
- package/dist/runtime/server/services/parallel/index.js +0 -44
- package/dist/runtime/server/services/parallel/native-worker.entry.d.ts +1 -0
- package/dist/runtime/server/services/parallel/native-worker.entry.js +12 -0
- package/dist/runtime/server/services/parallel/parallel-compute.service.d.ts +17 -17
- package/dist/runtime/server/services/parallel/parallel-compute.service.js +10 -3
- package/dist/runtime/server/services/parallel/types.d.ts +5 -2
- package/dist/runtime/server/services/parallel/worker-pool.d.ts +5 -9
- package/dist/runtime/server/services/parallel/worker-pool.js +167 -57
- package/dist/runtime/server/services/parallel/worker.d.ts +8 -5
- package/dist/runtime/server/services/parallel/worker.js +8 -5
- package/dist/runtime/server/services/persistence.service.js +3 -3
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +7 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +1 -1
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +1 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +7 -3
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +2 -2
- package/dist/runtime/server/services/remote/remote-player.service.js +3 -3
- package/dist/runtime/server/services/remote/server-bridge.js +2 -2
- package/dist/runtime/server/services/services.register.d.ts +2 -5
- package/dist/runtime/server/services/services.register.js +29 -41
- package/dist/runtime/server/services/vehicle-modification.service.js +1 -1
- package/dist/runtime/server/services/vehicle.service.d.ts +3 -3
- package/dist/runtime/server/services/vehicle.service.js +5 -5
- package/dist/runtime/server/setup.d.ts +2 -3
- package/dist/runtime/server/setup.js +10 -11
- package/dist/runtime/server/system/metadata-server.keys.d.ts +1 -1
- package/dist/runtime/server/system/metadata-server.keys.js +1 -1
- package/dist/runtime/server/system/processors/command.processor.js +4 -0
- package/dist/runtime/server/system/processors/export.processor.js +1 -1
- package/dist/runtime/server/system/processors/internalEvent.processor.js +1 -1
- package/dist/runtime/server/system/processors/netEvent.processor.js +8 -9
- package/dist/runtime/server/system/processors/{fivemEvent.processor.d.ts → runtimeEvent.processor.d.ts} +1 -1
- package/dist/runtime/server/system/processors/{fivemEvent.processor.js → runtimeEvent.processor.js} +8 -8
- package/dist/runtime/server/system/processors/tick.processor.js +1 -1
- package/dist/runtime/server/system/processors.register.js +16 -11
- package/dist/runtime/server/system/schema-generator.js +2 -2
- package/dist/runtime/server/types/core-exports.d.ts +6 -6
- package/dist/runtime/server/types/index.d.ts +1 -1
- package/dist/runtime/server/types/index.js +1 -1
- package/dist/runtime/server/types/internal-events.d.ts +1 -1
- package/dist/runtime/server/types/vehicle.types.d.ts +1 -1
- package/package.json +8 -16
- package/dist/adapters/contracts/IEntityServer.d.ts +0 -88
- package/dist/adapters/contracts/IEntityServer.js +0 -13
- package/dist/adapters/contracts/IPlayerServer.js +0 -13
- package/dist/adapters/database/oxmysql.adapter.d.ts +0 -89
- package/dist/adapters/database/oxmysql.adapter.js +0 -149
- package/dist/adapters/database/resource.adapter.d.ts +0 -12
- package/dist/adapters/database/resource.adapter.js +0 -68
- package/dist/kernel/shared/appearance/index.d.ts +0 -1
- package/dist/runtime/index.d.ts +0 -2
- package/dist/runtime/index.js +0 -39
- package/dist/runtime/server/bootstrap.validation.d.ts +0 -12
- package/dist/runtime/server/bootstrap.validation.js +0 -104
- package/dist/runtime/server/contracts/auth-provider.contract.d.ts +0 -58
- package/dist/runtime/server/contracts/auth-provider.contract.js +0 -23
- package/dist/runtime/server/contracts/repository/index.d.ts +0 -57
- package/dist/runtime/server/contracts/repository/index.js +0 -61
- package/dist/runtime/server/contracts/repository/repository.contract.d.ts +0 -224
- package/dist/runtime/server/contracts/repository/repository.contract.js +0 -341
- package/dist/runtime/server/contracts/repository/repository.types.d.ts +0 -51
- package/dist/runtime/server/contracts/repository/repository.types.js +0 -7
- package/dist/runtime/server/database/adapter.registry.d.ts +0 -4
- package/dist/runtime/server/database/adapter.registry.js +0 -14
- package/dist/runtime/server/database/database.contract.d.ts +0 -128
- package/dist/runtime/server/database/database.contract.js +0 -29
- package/dist/runtime/server/database/database.service.d.ts +0 -188
- package/dist/runtime/server/database/database.service.js +0 -287
- package/dist/runtime/server/database/index.d.ts +0 -5
- package/dist/runtime/server/database/index.js +0 -25
- package/dist/runtime/server/database/types.d.ts +0 -67
- package/dist/runtime/server/database/types.js +0 -7
- package/dist/runtime/server/database.d.ts +0 -7
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +0 -74
- package/dist/runtime/server/devmode/hot-reload.server.js +0 -261
- package/dist/runtime/server/services/config.service.d.ts +0 -75
- package/dist/runtime/server/services/config.service.js +0 -116
- package/dist/runtime/server/services/http/http.service.d.ts +0 -50
- package/dist/runtime/server/services/http/http.service.js +0 -126
- /package/dist/adapters/contracts/{IPedAppearanceClient.js → client/IPedAppearanceClient.js} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.d.ts → server/IPedAppearanceServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.js → server/IPedAppearanceServer.js} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.d.ts → server/IVehicleServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.js → server/IVehicleServer.js} +0 -0
- /package/dist/kernel/{utils/error → error}/app.error.js +0 -0
- /package/dist/kernel/{shared/logger/transports/transport.interface.js → error/common.error-codes.js} +0 -0
- /package/dist/{runtime/server/types/security.types.js → kernel/error/framework.error-codes.js} +0 -0
- /package/dist/kernel/{utils/error → error}/security.error.js +0 -0
- /package/dist/{runtime/server/types → kernel/error}/security.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/transport.interface.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.js +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.d.ts → player-appearance.types.d.ts} +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.js → player-appearance.types.js} +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Player } from '../entities/player';
|
|
2
2
|
import { VehicleService } from '../services/vehicle.service';
|
|
3
|
-
import { VehicleModificationService } from '../services/vehicle-modification.service';
|
|
4
|
-
import { VehicleCreateOptions, VehicleModificationOptions } from '../types/vehicle.types';
|
|
5
3
|
/**
|
|
6
4
|
* Controller for handling vehicle-related network events.
|
|
7
5
|
*
|
|
@@ -10,46 +8,13 @@ import { VehicleCreateOptions, VehicleModificationOptions } from '../types/vehic
|
|
|
10
8
|
*/
|
|
11
9
|
export declare class VehicleController {
|
|
12
10
|
private readonly vehicleService;
|
|
13
|
-
|
|
14
|
-
constructor(vehicleService: VehicleService, modificationService: VehicleModificationService);
|
|
15
|
-
/**
|
|
16
|
-
* Handles client request to create a vehicle.
|
|
17
|
-
*/
|
|
18
|
-
handleCreateVehicle(player: Player, options: VehicleCreateOptions): Promise<import("../types/vehicle.types").VehicleSpawnResult>;
|
|
19
|
-
/**
|
|
20
|
-
* Handles client request to delete a vehicle.
|
|
21
|
-
*/
|
|
22
|
-
handleDeleteVehicle(player: Player, networkId: number): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Handles client request to modify a vehicle.
|
|
25
|
-
*/
|
|
26
|
-
handleModifyVehicle(player: Player, options: VehicleModificationOptions): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Handles client request to repair a vehicle.
|
|
29
|
-
*/
|
|
30
|
-
handleRepairVehicle(player: Player, networkId: number): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Handles client request to set vehicle fuel.
|
|
33
|
-
*/
|
|
34
|
-
handleSetFuel(player: Player, networkId: number, level: number): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Handles client request to lock/unlock vehicle doors.
|
|
37
|
-
*/
|
|
38
|
-
handleSetLocked(player: Player, networkId: number, locked: boolean): boolean;
|
|
11
|
+
constructor(vehicleService: VehicleService);
|
|
39
12
|
/**
|
|
40
13
|
* Handles client request to get vehicle data.
|
|
41
14
|
*/
|
|
42
|
-
handleGetData(player: Player, networkId: number): import("../types
|
|
15
|
+
handleGetData(player: Player, networkId: number): import("../types").SerializedVehicleData | null;
|
|
43
16
|
/**
|
|
44
17
|
* Handles client request to get all player vehicles.
|
|
45
18
|
*/
|
|
46
|
-
handleGetPlayerVehicles(player: Player): import("../types
|
|
47
|
-
/**
|
|
48
|
-
* Handles client request to teleport a vehicle.
|
|
49
|
-
*/
|
|
50
|
-
handleTeleport(player: Player, networkId: number, position: {
|
|
51
|
-
x: number;
|
|
52
|
-
y: number;
|
|
53
|
-
z: number;
|
|
54
|
-
}, heading?: number): boolean;
|
|
19
|
+
handleGetPlayerVehicles(player: Player): import("../types").SerializedVehicleData[];
|
|
55
20
|
}
|
|
@@ -14,11 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.VehicleController = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
|
-
const logger_1 = require("../../../kernel/shared/logger");
|
|
18
17
|
const decorators_1 = require("../decorators");
|
|
19
18
|
const player_1 = require("../entities/player");
|
|
20
19
|
const vehicle_service_1 = require("../services/vehicle.service");
|
|
21
|
-
const vehicle_modification_service_1 = require("../services/vehicle-modification.service");
|
|
22
20
|
/**
|
|
23
21
|
* Controller for handling vehicle-related network events.
|
|
24
22
|
*
|
|
@@ -26,168 +24,33 @@ const vehicle_modification_service_1 = require("../services/vehicle-modification
|
|
|
26
24
|
* for validation and security checks.
|
|
27
25
|
*/
|
|
28
26
|
let VehicleController = class VehicleController {
|
|
29
|
-
constructor(vehicleService
|
|
27
|
+
constructor(vehicleService) {
|
|
30
28
|
this.vehicleService = vehicleService;
|
|
31
|
-
this.modificationService = modificationService;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Handles client request to create a vehicle.
|
|
35
|
-
*/
|
|
36
|
-
async handleCreateVehicle(player, options) {
|
|
37
|
-
const source = player.clientID;
|
|
38
|
-
logger_1.coreLogger.debug('Vehicle creation requested', { clientID: source, options });
|
|
39
|
-
const result = await this.vehicleService.createForPlayer(source, options);
|
|
40
|
-
emitNet('opencore:vehicle:createResult', source, result);
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Handles client request to delete a vehicle.
|
|
45
|
-
*/
|
|
46
|
-
handleDeleteVehicle(player, networkId) {
|
|
47
|
-
const source = player.clientID;
|
|
48
|
-
logger_1.coreLogger.debug('Vehicle deletion requested', { clientID: source, networkId });
|
|
49
|
-
const success = this.vehicleService.delete(networkId, source);
|
|
50
|
-
emitNet('opencore:vehicle:deleteResult', source, { networkId, success });
|
|
51
|
-
return success;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Handles client request to modify a vehicle.
|
|
55
|
-
*/
|
|
56
|
-
handleModifyVehicle(player, options) {
|
|
57
|
-
const source = player.clientID;
|
|
58
|
-
logger_1.coreLogger.debug('Vehicle modification requested', { clientID: source, options });
|
|
59
|
-
const success = this.modificationService.applyModifications(Object.assign(Object.assign({}, options), { requestedBy: source }));
|
|
60
|
-
emitNet('opencore:vehicle:modifyResult', source, { networkId: options.networkId, success });
|
|
61
|
-
return success;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Handles client request to repair a vehicle.
|
|
65
|
-
*/
|
|
66
|
-
handleRepairVehicle(player, networkId) {
|
|
67
|
-
const source = player.clientID;
|
|
68
|
-
logger_1.coreLogger.debug('Vehicle repair requested', { clientID: source, networkId });
|
|
69
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
70
|
-
emitNet('opencore:vehicle:repairResult', source, { networkId, success: false });
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
74
|
-
if (!vehicle) {
|
|
75
|
-
emitNet('opencore:vehicle:repairResult', source, { networkId, success: false });
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
emitNet('opencore:vehicle:repairResult', source, { networkId, success: true });
|
|
79
|
-
emitNet('opencore:vehicle:repaired', -1, networkId);
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Handles client request to set vehicle fuel.
|
|
84
|
-
*/
|
|
85
|
-
handleSetFuel(player, networkId, level) {
|
|
86
|
-
const source = player.clientID;
|
|
87
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
91
|
-
if (!vehicle)
|
|
92
|
-
return false;
|
|
93
|
-
vehicle.setFuel(level);
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Handles client request to lock/unlock vehicle doors.
|
|
98
|
-
*/
|
|
99
|
-
handleSetLocked(player, networkId, locked) {
|
|
100
|
-
const source = player.clientID;
|
|
101
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
if (!this.vehicleService.validateProximity(networkId, source, 10.0)) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
108
|
-
if (!vehicle)
|
|
109
|
-
return false;
|
|
110
|
-
vehicle.setDoorsLocked(locked);
|
|
111
|
-
emitNet('opencore:vehicle:lockedChanged', -1, { networkId, locked });
|
|
112
|
-
return true;
|
|
113
29
|
}
|
|
114
30
|
/**
|
|
115
31
|
* Handles client request to get vehicle data.
|
|
116
32
|
*/
|
|
117
33
|
handleGetData(player, networkId) {
|
|
118
|
-
const source = player.clientID;
|
|
119
34
|
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
120
35
|
if (!vehicle) {
|
|
121
|
-
emitNet('opencore:vehicle:dataResult',
|
|
36
|
+
emitNet('opencore:vehicle:dataResult', player.clientID, null);
|
|
122
37
|
return null;
|
|
123
38
|
}
|
|
124
39
|
const data = vehicle.serialize();
|
|
125
|
-
emitNet('opencore:vehicle:dataResult',
|
|
40
|
+
emitNet('opencore:vehicle:dataResult', player.clientID, data);
|
|
126
41
|
return data;
|
|
127
42
|
}
|
|
128
43
|
/**
|
|
129
44
|
* Handles client request to get all player vehicles.
|
|
130
45
|
*/
|
|
131
46
|
handleGetPlayerVehicles(player) {
|
|
132
|
-
const
|
|
133
|
-
const vehicles = this.vehicleService.getPlayerVehicles(source);
|
|
47
|
+
const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
|
|
134
48
|
const serialized = vehicles.map((v) => v.serialize());
|
|
135
|
-
emitNet('opencore:vehicle:playerVehiclesResult',
|
|
49
|
+
emitNet('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
|
|
136
50
|
return serialized;
|
|
137
51
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Handles client request to teleport a vehicle.
|
|
140
|
-
*/
|
|
141
|
-
handleTeleport(player, networkId, position, heading) {
|
|
142
|
-
const source = player.clientID;
|
|
143
|
-
if (!this.vehicleService.validateOwnership(networkId, source)) {
|
|
144
|
-
return false;
|
|
145
|
-
}
|
|
146
|
-
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
147
|
-
if (!vehicle)
|
|
148
|
-
return false;
|
|
149
|
-
vehicle.teleport(position, heading);
|
|
150
|
-
emitNet('opencore:vehicle:teleported', -1, { networkId, position, heading });
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
52
|
};
|
|
154
53
|
exports.VehicleController = VehicleController;
|
|
155
|
-
__decorate([
|
|
156
|
-
(0, decorators_1.OnNet)('opencore:vehicle:create'),
|
|
157
|
-
__metadata("design:type", Function),
|
|
158
|
-
__metadata("design:paramtypes", [player_1.Player, Object]),
|
|
159
|
-
__metadata("design:returntype", Promise)
|
|
160
|
-
], VehicleController.prototype, "handleCreateVehicle", null);
|
|
161
|
-
__decorate([
|
|
162
|
-
(0, decorators_1.OnNet)('opencore:vehicle:delete'),
|
|
163
|
-
__metadata("design:type", Function),
|
|
164
|
-
__metadata("design:paramtypes", [player_1.Player, Number]),
|
|
165
|
-
__metadata("design:returntype", void 0)
|
|
166
|
-
], VehicleController.prototype, "handleDeleteVehicle", null);
|
|
167
|
-
__decorate([
|
|
168
|
-
(0, decorators_1.OnNet)('opencore:vehicle:modify'),
|
|
169
|
-
__metadata("design:type", Function),
|
|
170
|
-
__metadata("design:paramtypes", [player_1.Player, Object]),
|
|
171
|
-
__metadata("design:returntype", void 0)
|
|
172
|
-
], VehicleController.prototype, "handleModifyVehicle", null);
|
|
173
|
-
__decorate([
|
|
174
|
-
(0, decorators_1.OnNet)('opencore:vehicle:repair'),
|
|
175
|
-
__metadata("design:type", Function),
|
|
176
|
-
__metadata("design:paramtypes", [player_1.Player, Number]),
|
|
177
|
-
__metadata("design:returntype", void 0)
|
|
178
|
-
], VehicleController.prototype, "handleRepairVehicle", null);
|
|
179
|
-
__decorate([
|
|
180
|
-
(0, decorators_1.OnNet)('opencore:vehicle:setFuel'),
|
|
181
|
-
__metadata("design:type", Function),
|
|
182
|
-
__metadata("design:paramtypes", [player_1.Player, Number, Number]),
|
|
183
|
-
__metadata("design:returntype", void 0)
|
|
184
|
-
], VehicleController.prototype, "handleSetFuel", null);
|
|
185
|
-
__decorate([
|
|
186
|
-
(0, decorators_1.OnNet)('opencore:vehicle:setLocked'),
|
|
187
|
-
__metadata("design:type", Function),
|
|
188
|
-
__metadata("design:paramtypes", [player_1.Player, Number, Boolean]),
|
|
189
|
-
__metadata("design:returntype", void 0)
|
|
190
|
-
], VehicleController.prototype, "handleSetLocked", null);
|
|
191
54
|
__decorate([
|
|
192
55
|
(0, decorators_1.OnNet)('opencore:vehicle:getData'),
|
|
193
56
|
__metadata("design:type", Function),
|
|
@@ -200,17 +63,8 @@ __decorate([
|
|
|
200
63
|
__metadata("design:paramtypes", [player_1.Player]),
|
|
201
64
|
__metadata("design:returntype", void 0)
|
|
202
65
|
], VehicleController.prototype, "handleGetPlayerVehicles", null);
|
|
203
|
-
__decorate([
|
|
204
|
-
(0, decorators_1.OnNet)('opencore:vehicle:teleport'),
|
|
205
|
-
__metadata("design:type", Function),
|
|
206
|
-
__metadata("design:paramtypes", [player_1.Player, Number, Object, Number]),
|
|
207
|
-
__metadata("design:returntype", void 0)
|
|
208
|
-
], VehicleController.prototype, "handleTeleport", null);
|
|
209
66
|
exports.VehicleController = VehicleController = __decorate([
|
|
210
67
|
(0, decorators_1.Controller)(),
|
|
211
|
-
(0, tsyringe_1.injectable)(),
|
|
212
68
|
__param(0, (0, tsyringe_1.inject)(vehicle_service_1.VehicleService)),
|
|
213
|
-
|
|
214
|
-
__metadata("design:paramtypes", [vehicle_service_1.VehicleService,
|
|
215
|
-
vehicle_modification_service_1.VehicleModificationService])
|
|
69
|
+
__metadata("design:paramtypes", [vehicle_service_1.VehicleService])
|
|
216
70
|
], VehicleController);
|
|
@@ -30,20 +30,22 @@ export interface GuardOptions {
|
|
|
30
30
|
*
|
|
31
31
|
* @throws Error - If the method is invoked without a valid `Player` as the first argument.
|
|
32
32
|
*
|
|
33
|
-
* @example
|
|
34
33
|
* ```ts
|
|
35
34
|
* @Server.Controller()
|
|
36
|
-
* export class
|
|
35
|
+
* export class AdminController {
|
|
36
|
+
*
|
|
37
37
|
* @Server.Guard({ permission: 'factions.manage' })
|
|
38
|
-
*
|
|
38
|
+
* @Server.Command('newfaction', schema)
|
|
39
|
+
* async createFaction(player: Server.Player, dto: Infer<typeof schema>) {
|
|
39
40
|
* return this.service.create(dto)
|
|
40
41
|
* }
|
|
41
42
|
*
|
|
42
43
|
* @Server.Guard({ rank: 3 })
|
|
43
|
-
*
|
|
44
|
-
*
|
|
44
|
+
* @Server.Command('ban')
|
|
45
|
+
* async ban(player: Server.Player, targetID: string) {
|
|
46
|
+
* return this.service.ban(player, memberID)
|
|
45
47
|
* }
|
|
46
|
-
|
|
48
|
+
}
|
|
47
49
|
* ```
|
|
48
50
|
*/
|
|
49
51
|
export declare function Guard(options: GuardOptions): (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => PropertyDescriptor | undefined;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Guard = Guard;
|
|
4
4
|
const kernel_1 = require("../../../kernel");
|
|
5
5
|
const container_1 = require("../../../kernel/di/container");
|
|
6
|
-
const logger_1 = require("../../../kernel/
|
|
6
|
+
const logger_1 = require("../../../kernel/logger");
|
|
7
7
|
const principal_port_1 = require("../services/ports/principal.port");
|
|
8
8
|
/**
|
|
9
9
|
* Declarative access-control decorator for controller methods.
|
|
@@ -25,20 +25,22 @@ const principal_port_1 = require("../services/ports/principal.port");
|
|
|
25
25
|
*
|
|
26
26
|
* @throws Error - If the method is invoked without a valid `Player` as the first argument.
|
|
27
27
|
*
|
|
28
|
-
* @example
|
|
29
28
|
* ```ts
|
|
30
29
|
* @Server.Controller()
|
|
31
|
-
* export class
|
|
30
|
+
* export class AdminController {
|
|
31
|
+
*
|
|
32
32
|
* @Server.Guard({ permission: 'factions.manage' })
|
|
33
|
-
*
|
|
33
|
+
* @Server.Command('newfaction', schema)
|
|
34
|
+
* async createFaction(player: Server.Player, dto: Infer<typeof schema>) {
|
|
34
35
|
* return this.service.create(dto)
|
|
35
36
|
* }
|
|
36
37
|
*
|
|
37
38
|
* @Server.Guard({ rank: 3 })
|
|
38
|
-
*
|
|
39
|
-
*
|
|
39
|
+
* @Server.Command('ban')
|
|
40
|
+
* async ban(player: Server.Player, targetID: string) {
|
|
41
|
+
* return this.service.ban(player, memberID)
|
|
40
42
|
* }
|
|
41
|
-
|
|
43
|
+
}
|
|
42
44
|
* ```
|
|
43
45
|
*/
|
|
44
46
|
function Guard(options) {
|
|
@@ -62,7 +64,7 @@ function Guard(options) {
|
|
|
62
64
|
});
|
|
63
65
|
throw new Error('Guard Security Error: Context is not a player');
|
|
64
66
|
}
|
|
65
|
-
const principal = container_1.
|
|
67
|
+
const principal = container_1.GLOBAL_CONTAINER.resolve(principal_port_1.PrincipalPort);
|
|
66
68
|
try {
|
|
67
69
|
await principal.enforce(player, options);
|
|
68
70
|
}
|
|
@@ -3,9 +3,9 @@ export { Command, CommandConfig } from './command';
|
|
|
3
3
|
export { Controller } from './controller';
|
|
4
4
|
export * from './export';
|
|
5
5
|
export * from './guard';
|
|
6
|
-
export * from './onFiveMEvent';
|
|
7
6
|
export * from './onFrameworkEvent';
|
|
8
7
|
export * from './onNet';
|
|
8
|
+
export * from './onRuntimeEvent';
|
|
9
9
|
export * from './onTick';
|
|
10
10
|
export * from './public';
|
|
11
11
|
export * from './requiresState';
|
|
@@ -22,9 +22,9 @@ var controller_1 = require("./controller");
|
|
|
22
22
|
Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return controller_1.Controller; } });
|
|
23
23
|
__exportStar(require("./export"), exports);
|
|
24
24
|
__exportStar(require("./guard"), exports);
|
|
25
|
-
__exportStar(require("./onFiveMEvent"), exports);
|
|
26
25
|
__exportStar(require("./onFrameworkEvent"), exports);
|
|
27
26
|
__exportStar(require("./onNet"), exports);
|
|
27
|
+
__exportStar(require("./onRuntimeEvent"), exports);
|
|
28
28
|
__exportStar(require("./onTick"), exports);
|
|
29
29
|
__exportStar(require("./public"), exports);
|
|
30
30
|
__exportStar(require("./requiresState"), exports);
|
|
@@ -48,15 +48,15 @@ type ServerNetHandler<TArgs extends any[] = any[]> = (player: Player, ...args: T
|
|
|
48
48
|
* export class ExampleController {
|
|
49
49
|
* // Simple handler (no schema)
|
|
50
50
|
* @Server.OnNet('example:ping')
|
|
51
|
-
* ping(player: Player, message: string) { }
|
|
51
|
+
* ping(player: Server.Player, message: string) { }
|
|
52
52
|
*
|
|
53
53
|
* // With schema directly (recommended)
|
|
54
54
|
* @Server.OnNet('example:data', PayloadSchema)
|
|
55
|
-
* handleData(player: Player, data: Infer<typeof PayloadSchema>) { }
|
|
55
|
+
* handleData(player: Server.Player, data: Infer<typeof PayloadSchema>) { }
|
|
56
56
|
*
|
|
57
57
|
* // With options object (legacy)
|
|
58
58
|
* @Server.OnNet('example:legacy', { schema: PayloadSchema })
|
|
59
|
-
* handleLegacy(player: Player, data: Infer<typeof PayloadSchema>) { }
|
|
59
|
+
* handleLegacy(player: Server.Player, data: Infer<typeof PayloadSchema>) { }
|
|
60
60
|
* }
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Registers a method as a server-side listener for a native
|
|
2
|
+
* Registers a method as a server-side listener for a native Runtime event.
|
|
3
|
+
* Runtime === FiveM
|
|
3
4
|
*
|
|
4
5
|
* @remarks
|
|
5
6
|
* This decorator only stores metadata. During bootstrap, the framework scans controller
|
|
@@ -8,17 +9,17 @@
|
|
|
8
9
|
* FiveM server event reference:
|
|
9
10
|
* https://docs.fivem.net/docs/scripting-reference/events/server-events/
|
|
10
11
|
*
|
|
11
|
-
* @param event -
|
|
12
|
+
* @param event - event name (e.g. `"playerJoining"`). FiveM Events
|
|
12
13
|
*
|
|
13
14
|
* @example
|
|
14
15
|
* ```ts
|
|
15
16
|
* @Server.Controller()
|
|
16
17
|
* export class SessionController {
|
|
17
|
-
* @Server.
|
|
18
|
+
* @Server.OnRuntimeEvent('playerJoining')
|
|
18
19
|
* onPlayerJoining() {
|
|
19
20
|
* // ...
|
|
20
21
|
* }
|
|
21
22
|
* }
|
|
22
23
|
* ```
|
|
23
24
|
*/
|
|
24
|
-
export declare function
|
|
25
|
+
export declare function OnRuntimeEvent(event: string): (target: any, propertyKey: string) => void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.OnRuntimeEvent = OnRuntimeEvent;
|
|
4
4
|
const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
5
5
|
/**
|
|
6
|
-
* Registers a method as a server-side listener for a native
|
|
6
|
+
* Registers a method as a server-side listener for a native Runtime event.
|
|
7
|
+
* Runtime === FiveM
|
|
7
8
|
*
|
|
8
9
|
* @remarks
|
|
9
10
|
* This decorator only stores metadata. During bootstrap, the framework scans controller
|
|
@@ -12,21 +13,21 @@ const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
|
12
13
|
* FiveM server event reference:
|
|
13
14
|
* https://docs.fivem.net/docs/scripting-reference/events/server-events/
|
|
14
15
|
*
|
|
15
|
-
* @param event -
|
|
16
|
+
* @param event - event name (e.g. `"playerJoining"`). FiveM Events
|
|
16
17
|
*
|
|
17
18
|
* @example
|
|
18
19
|
* ```ts
|
|
19
20
|
* @Server.Controller()
|
|
20
21
|
* export class SessionController {
|
|
21
|
-
* @Server.
|
|
22
|
+
* @Server.OnRuntimeEvent('playerJoining')
|
|
22
23
|
* onPlayerJoining() {
|
|
23
24
|
* // ...
|
|
24
25
|
* }
|
|
25
26
|
* }
|
|
26
27
|
* ```
|
|
27
28
|
*/
|
|
28
|
-
function
|
|
29
|
+
function OnRuntimeEvent(event) {
|
|
29
30
|
return (target, propertyKey) => {
|
|
30
|
-
Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.
|
|
31
|
+
Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.RUNTIME_EVENT, { event }, target, propertyKey);
|
|
31
32
|
};
|
|
32
33
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RequiresState = RequiresState;
|
|
4
|
-
const
|
|
4
|
+
const app_error_1 = require("../../../kernel/error/app.error");
|
|
5
5
|
const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
6
6
|
/**
|
|
7
7
|
* Enforces gameplay state requirements before executing a method.
|
|
@@ -55,14 +55,14 @@ function RequiresState(req) {
|
|
|
55
55
|
if (req.has) {
|
|
56
56
|
for (const state of req.has) {
|
|
57
57
|
if (!player.hasState(state)) {
|
|
58
|
-
throw new
|
|
58
|
+
throw new app_error_1.AppError('GAME:INVALID_STATE', req.errorMessage || `You must be [${state}] to do this.`, 'client');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
if (req.missing) {
|
|
63
63
|
for (const state of req.missing) {
|
|
64
64
|
if (player.hasState(state)) {
|
|
65
|
-
throw new
|
|
65
|
+
throw new app_error_1.AppError('GAME:INVALID_STATE', req.errorMessage || `You can't do this while you're [${state}].`, 'client');
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Throttle = Throttle;
|
|
4
4
|
const tsyringe_1 = require("tsyringe");
|
|
5
|
-
const security_error_1 = require("../../../kernel/
|
|
5
|
+
const security_error_1 = require("../../../kernel/error/security.error");
|
|
6
6
|
const rate_limiter_service_1 = require("../services/rate-limiter.service");
|
|
7
7
|
const metadata_server_keys_1 = require("../system/metadata-server.keys");
|
|
8
8
|
/**
|
|
@@ -30,7 +30,7 @@ export declare function Service(options?: {
|
|
|
30
30
|
*
|
|
31
31
|
*
|
|
32
32
|
* @remarks
|
|
33
|
-
* A repository abstracts persistence operations (
|
|
33
|
+
* A repository abstracts persistence operations (API, in-memory, or hybrid storage).
|
|
34
34
|
* It is registered in the dependency injection container using the provided scope
|
|
35
35
|
* (default: `singleton`).
|
|
36
36
|
*
|
|
@@ -35,7 +35,7 @@ function Service(options) {
|
|
|
35
35
|
*
|
|
36
36
|
*
|
|
37
37
|
* @remarks
|
|
38
|
-
* A repository abstracts persistence operations (
|
|
38
|
+
* A repository abstracts persistence operations (API, in-memory, or hybrid storage).
|
|
39
39
|
* It is registered in the dependency injection container using the provided scope
|
|
40
40
|
* (default: `singleton`).
|
|
41
41
|
*
|
|
@@ -5,17 +5,17 @@ import { BridgeMessage, DevEvent, DevModeOptions, RuntimeSnapshot } from './type
|
|
|
5
5
|
/**
|
|
6
6
|
* Main DevMode service that orchestrates all development tools.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
8
|
+
* @remarks
|
|
9
|
+
* Provides a unified interface for internal framework debugging and telemetry.
|
|
10
|
+
* It coordinates:
|
|
11
|
+
* - Event interception and recording (Net, Commands, etc)
|
|
12
|
+
* - Runtime state inspection (DI, Players, Services)
|
|
13
|
+
* - Player simulation for offline logic testing
|
|
14
|
+
* - Telemetry bridge for external CLI integration
|
|
14
15
|
*/
|
|
15
16
|
export declare class DevModeService {
|
|
16
17
|
private enabled;
|
|
17
18
|
private options;
|
|
18
|
-
private hotReloadServer;
|
|
19
19
|
private logTransport;
|
|
20
20
|
private get interceptor();
|
|
21
21
|
private get inspector();
|
|
@@ -106,5 +106,4 @@ export declare class DevModeService {
|
|
|
106
106
|
getSimulatorStatistics(): ReturnType<PlayerSimulatorService['getStatistics']>;
|
|
107
107
|
private handleBridgeMessage;
|
|
108
108
|
private handleRemoteCommand;
|
|
109
|
-
private handleRemoteReload;
|
|
110
109
|
}
|