@open-core/framework 0.2.9 → 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/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 +1 -1
- 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.js +2 -2
- package/dist/runtime/server/decorators/index.d.ts +1 -1
- package/dist/runtime/server/decorators/index.js +1 -1
- 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/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 +7 -15
- 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
|
@@ -2,36 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerSystemServer = registerSystemServer;
|
|
4
4
|
const index_1 = require("../../../kernel/di/index");
|
|
5
|
+
const command_error_observer_contract_1 = require("../contracts/security/command-error-observer.contract");
|
|
5
6
|
const net_event_security_observer_contract_1 = require("../contracts/security/net-event-security-observer.contract");
|
|
6
7
|
const security_handler_contract_1 = require("../contracts/security/security-handler.contract");
|
|
8
|
+
const default_command_error_observer_1 = require("../services/default/default-command-error-observer");
|
|
7
9
|
const default_net_event_security_observer_1 = require("../services/default/default-net-event-security-observer");
|
|
8
10
|
const default_security_handler_1 = require("../services/default/default-security.handler");
|
|
9
11
|
const command_processor_1 = require("./processors/command.processor");
|
|
10
12
|
const export_processor_1 = require("./processors/export.processor");
|
|
11
|
-
const fivemEvent_processor_1 = require("./processors/fivemEvent.processor");
|
|
12
13
|
const internalEvent_processor_1 = require("./processors/internalEvent.processor");
|
|
13
14
|
const netEvent_processor_1 = require("./processors/netEvent.processor");
|
|
15
|
+
const runtimeEvent_processor_1 = require("./processors/runtimeEvent.processor");
|
|
14
16
|
const tick_processor_1 = require("./processors/tick.processor");
|
|
15
17
|
function registerSystemServer(ctx) {
|
|
16
18
|
const { features } = ctx;
|
|
17
19
|
if (features.netEvents.enabled) {
|
|
18
|
-
index_1.
|
|
19
|
-
if (!index_1.
|
|
20
|
-
index_1.
|
|
20
|
+
index_1.GLOBAL_CONTAINER.register('DecoratorProcessor', { useClass: netEvent_processor_1.NetEventProcessor });
|
|
21
|
+
if (!index_1.GLOBAL_CONTAINER.isRegistered(security_handler_contract_1.SecurityHandlerContract)) {
|
|
22
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(security_handler_contract_1.SecurityHandlerContract, default_security_handler_1.DefaultSecurityHandler);
|
|
21
23
|
}
|
|
22
|
-
if (!index_1.
|
|
23
|
-
index_1.
|
|
24
|
+
if (!index_1.GLOBAL_CONTAINER.isRegistered(net_event_security_observer_contract_1.NetEventSecurityObserverContract)) {
|
|
25
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(net_event_security_observer_contract_1.NetEventSecurityObserverContract, default_net_event_security_observer_1.DefaultNetEventSecurityObserver);
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
index_1.
|
|
28
|
+
index_1.GLOBAL_CONTAINER.register('DecoratorProcessor', { useClass: tick_processor_1.TickProcessor });
|
|
27
29
|
if (features.exports.enabled) {
|
|
28
|
-
index_1.
|
|
30
|
+
index_1.GLOBAL_CONTAINER.register('DecoratorProcessor', { useClass: export_processor_1.ExportProcessor });
|
|
29
31
|
}
|
|
30
|
-
index_1.
|
|
32
|
+
index_1.GLOBAL_CONTAINER.register('DecoratorProcessor', { useClass: internalEvent_processor_1.InternalEventProcessor });
|
|
31
33
|
if (features.commands.enabled) {
|
|
32
|
-
index_1.
|
|
34
|
+
index_1.GLOBAL_CONTAINER.register('DecoratorProcessor', { useClass: command_processor_1.CommandProcessor });
|
|
35
|
+
if (!index_1.GLOBAL_CONTAINER.isRegistered(command_error_observer_contract_1.CommandErrorObserverContract)) {
|
|
36
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(command_error_observer_contract_1.CommandErrorObserverContract, default_command_error_observer_1.DefaultCommandErrorObserver);
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
39
|
if (features.fiveMEvents.enabled) {
|
|
35
|
-
index_1.
|
|
40
|
+
index_1.GLOBAL_CONTAINER.register('DecoratorProcessor', { useClass: runtimeEvent_processor_1.RuntimeEventProcessor });
|
|
36
41
|
}
|
|
37
42
|
}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.generateSchemaFromTypes = generateSchemaFromTypes;
|
|
7
7
|
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
const
|
|
8
|
+
const __1 = require("../../../");
|
|
9
9
|
const player_1 = require("../entities/player");
|
|
10
10
|
function typeToZodSchema(type) {
|
|
11
11
|
switch (type) {
|
|
@@ -28,7 +28,7 @@ function generateSchemaFromTypes(paramTypes) {
|
|
|
28
28
|
if (!paramTypes || paramTypes.length === 0)
|
|
29
29
|
return zod_1.default.tuple([]);
|
|
30
30
|
if (paramTypes[0] !== player_1.Player) {
|
|
31
|
-
throw new
|
|
31
|
+
throw new __1.AppError('SCHEMA:VALIDATION_ERROR', `First parameter must be Player, got ${(_a = paramTypes[0]) === null || _a === void 0 ? void 0 : _a.name}`, 'core');
|
|
32
32
|
}
|
|
33
33
|
if (paramTypes.length === 1)
|
|
34
34
|
return zod_1.default.tuple([]);
|
|
@@ -72,7 +72,7 @@ export interface CommandRegistrationDto {
|
|
|
72
72
|
* core.registerCommand({ ... })
|
|
73
73
|
* ```
|
|
74
74
|
*/
|
|
75
|
-
export interface
|
|
75
|
+
export interface InternalPrincipalExports {
|
|
76
76
|
/**
|
|
77
77
|
* Gets the full Principal object for a player.
|
|
78
78
|
*
|
|
@@ -83,7 +83,7 @@ export interface CorePrincipalExports {
|
|
|
83
83
|
/**
|
|
84
84
|
* Gets Principal by account ID (works for offline players too).
|
|
85
85
|
*
|
|
86
|
-
* @param accountId -
|
|
86
|
+
* @param accountId - Account identifier
|
|
87
87
|
* @returns Principal data or null
|
|
88
88
|
*/
|
|
89
89
|
getPrincipalByAccountId(accountId: string): Promise<Principal | null>;
|
|
@@ -169,7 +169,7 @@ export interface CorePrincipalExports {
|
|
|
169
169
|
*/
|
|
170
170
|
enforce(source: number, requirements: GuardOptions): Promise<void>;
|
|
171
171
|
}
|
|
172
|
-
export interface
|
|
172
|
+
export interface InternalCommandsExports {
|
|
173
173
|
/**
|
|
174
174
|
* Registers a command from a RESOURCE with CORE.
|
|
175
175
|
*
|
|
@@ -195,7 +195,7 @@ export interface CoreCommandsExports {
|
|
|
195
195
|
*/
|
|
196
196
|
getAllCommands(): CommandInfo[];
|
|
197
197
|
}
|
|
198
|
-
export interface
|
|
198
|
+
export interface InternalPlayerExports {
|
|
199
199
|
/**
|
|
200
200
|
* Gets persistent account ID for a client.
|
|
201
201
|
*
|
|
@@ -236,7 +236,7 @@ export interface CorePlayerExports {
|
|
|
236
236
|
/**
|
|
237
237
|
* Finds a player by their persistent account ID.
|
|
238
238
|
*
|
|
239
|
-
* @param accountId -
|
|
239
|
+
* @param accountId - Account identifier
|
|
240
240
|
* @returns Serialized player data or null if not online
|
|
241
241
|
*/
|
|
242
242
|
getPlayerByAccountId(accountId: string): SerializedPlayerData | null;
|
|
@@ -249,7 +249,7 @@ export interface CorePlayerExports {
|
|
|
249
249
|
/**
|
|
250
250
|
* Checks if a player with given account ID is online.
|
|
251
251
|
*
|
|
252
|
-
* @param accountId -
|
|
252
|
+
* @param accountId - Account identifier
|
|
253
253
|
* @returns True if player is connected
|
|
254
254
|
*/
|
|
255
255
|
isPlayerOnline(accountId: string): boolean;
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../../../kernel/error/security.types"), exports);
|
|
17
18
|
__exportStar(require("./core-exports"), exports);
|
|
18
19
|
__exportStar(require("./internal-events"), exports);
|
|
19
|
-
__exportStar(require("./security.types"), exports);
|
|
20
20
|
__exportStar(require("./vehicle.types"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-core/framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Secure, Event-Driven, OOP Engine for FiveM. Stop scripting, start engineering.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
],
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|
|
23
|
-
"types": "./dist/index.d.ts",
|
|
24
|
-
"import": "./dist/index.js",
|
|
25
|
-
"require": "./dist/index.js"
|
|
23
|
+
"types": "./dist/kernel/index.d.ts",
|
|
24
|
+
"import": "./dist/kernel/index.js",
|
|
25
|
+
"require": "./dist/kernel/index.js"
|
|
26
26
|
},
|
|
27
27
|
"./server": {
|
|
28
28
|
"types": "./dist/runtime/server/index.d.ts",
|
|
@@ -34,16 +34,6 @@
|
|
|
34
34
|
"import": "./dist/runtime/client/index.js",
|
|
35
35
|
"require": "./dist/runtime/client/index.js"
|
|
36
36
|
},
|
|
37
|
-
"./shared": {
|
|
38
|
-
"types": "./dist/kernel/shared/index.d.ts",
|
|
39
|
-
"import": "./dist/kernel/shared/index.js",
|
|
40
|
-
"require": "./dist/kernel/shared/index.js"
|
|
41
|
-
},
|
|
42
|
-
"./utils": {
|
|
43
|
-
"types": "./dist/kernel/utils/index.d.ts",
|
|
44
|
-
"import": "./dist/kernel/utils/index.js",
|
|
45
|
-
"require": "./dist/kernel/utils/index.js"
|
|
46
|
-
},
|
|
47
37
|
"./package.json": "./package.json"
|
|
48
38
|
},
|
|
49
39
|
"scripts": {
|
|
@@ -55,7 +45,7 @@
|
|
|
55
45
|
"format": "biome format --write .",
|
|
56
46
|
"lint": "biome lint .",
|
|
57
47
|
"lint:fix": "biome lint --write .",
|
|
58
|
-
"typecheck": "tsc --noEmit",
|
|
48
|
+
"typecheck": "tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.test.json --noEmit",
|
|
59
49
|
"test": "npx vitest run --project unit --project integration --project e2e",
|
|
60
50
|
"test:ci": "npx vitest run --project unit --project integration",
|
|
61
51
|
"test:watch": "npx vitest --project unit --project integration --project e2e",
|
|
@@ -90,8 +80,10 @@
|
|
|
90
80
|
"@citizenfx/server": "2.0.22443-1",
|
|
91
81
|
"@types/node": "^25.0.3",
|
|
92
82
|
"@vitest/coverage-v8": "^4.0.16",
|
|
83
|
+
"dependency-cruiser": "^17.3.6",
|
|
93
84
|
"eslint-config-prettier": "^10.1.8",
|
|
94
85
|
"eslint-plugin-import": "^2.32.0",
|
|
86
|
+
"graphviz": "^0.0.9",
|
|
95
87
|
"tinybench": "^2.9.0",
|
|
96
88
|
"tsx": "^4.21.0",
|
|
97
89
|
"typescript": "^5.9.3",
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Vector3 } from '../../kernel/utils';
|
|
2
|
-
/**
|
|
3
|
-
* Server-side entity operations adapter.
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* Abstracts FiveM entity natives for server-side operations.
|
|
7
|
-
* Allows the runtime to work without direct FiveM dependencies.
|
|
8
|
-
*/
|
|
9
|
-
export declare abstract class IEntityServer {
|
|
10
|
-
/**
|
|
11
|
-
* Checks if an entity exists.
|
|
12
|
-
*/
|
|
13
|
-
abstract doesExist(handle: number): boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Gets entity coordinates.
|
|
16
|
-
*/
|
|
17
|
-
abstract getCoords(handle: number): Vector3;
|
|
18
|
-
/**
|
|
19
|
-
* Sets entity coordinates.
|
|
20
|
-
*/
|
|
21
|
-
abstract setCoords(handle: number, x: number, y: number, z: number, alive?: boolean, deadFlag?: boolean, ragdollFlag?: boolean, clearArea?: boolean): void;
|
|
22
|
-
/**
|
|
23
|
-
* Gets entity heading.
|
|
24
|
-
*/
|
|
25
|
-
abstract getHeading(handle: number): number;
|
|
26
|
-
/**
|
|
27
|
-
* Sets entity heading.
|
|
28
|
-
*/
|
|
29
|
-
abstract setHeading(handle: number, heading: number): void;
|
|
30
|
-
/**
|
|
31
|
-
* Gets entity model hash.
|
|
32
|
-
*/
|
|
33
|
-
abstract getModel(handle: number): number;
|
|
34
|
-
/**
|
|
35
|
-
* Deletes an entity.
|
|
36
|
-
*/
|
|
37
|
-
abstract delete(handle: number): void;
|
|
38
|
-
/**
|
|
39
|
-
* Sets entity orphan mode.
|
|
40
|
-
* @param mode - 0 = delete when orphaned, 1 = keep, 2 = keep until script restart
|
|
41
|
-
*/
|
|
42
|
-
abstract setOrphanMode(handle: number, mode: number): void;
|
|
43
|
-
/**
|
|
44
|
-
* Sets entity routing bucket.
|
|
45
|
-
*/
|
|
46
|
-
abstract setRoutingBucket(handle: number, bucket: number): void;
|
|
47
|
-
/**
|
|
48
|
-
* Gets entity routing bucket.
|
|
49
|
-
*/
|
|
50
|
-
abstract getRoutingBucket(handle: number): number;
|
|
51
|
-
/**
|
|
52
|
-
* Gets the state bag interface for an entity.
|
|
53
|
-
*/
|
|
54
|
-
abstract getStateBag(handle: number): EntityStateBag;
|
|
55
|
-
/**
|
|
56
|
-
* Gets entity health from state bag.
|
|
57
|
-
*/
|
|
58
|
-
abstract getHealth(handle: number): number;
|
|
59
|
-
/**
|
|
60
|
-
* Sets entity health via state bag (synced to client).
|
|
61
|
-
*/
|
|
62
|
-
abstract setHealth(handle: number, health: number): void;
|
|
63
|
-
/**
|
|
64
|
-
* Gets entity armor from state bag.
|
|
65
|
-
*/
|
|
66
|
-
abstract getArmor(handle: number): number;
|
|
67
|
-
/**
|
|
68
|
-
* Sets entity armor via state bag (synced to client).
|
|
69
|
-
*/
|
|
70
|
-
abstract setArmor(handle: number, armor: number): void;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* State bag interface for entity state synchronization.
|
|
74
|
-
*/
|
|
75
|
-
export interface EntityStateBag {
|
|
76
|
-
/**
|
|
77
|
-
* Sets a value in the state bag.
|
|
78
|
-
* @param key - State key
|
|
79
|
-
* @param value - Value to set
|
|
80
|
-
* @param replicated - Whether to replicate to clients
|
|
81
|
-
*/
|
|
82
|
-
set(key: string, value: unknown, replicated?: boolean): void;
|
|
83
|
-
/**
|
|
84
|
-
* Gets a value from the state bag.
|
|
85
|
-
* @param key - State key
|
|
86
|
-
*/
|
|
87
|
-
get(key: string): unknown;
|
|
88
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IEntityServer = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Server-side entity operations adapter.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* Abstracts FiveM entity natives for server-side operations.
|
|
9
|
-
* Allows the runtime to work without direct FiveM dependencies.
|
|
10
|
-
*/
|
|
11
|
-
class IEntityServer {
|
|
12
|
-
}
|
|
13
|
-
exports.IEntityServer = IEntityServer;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IPlayerServer = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Server-side player operations adapter.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* Abstracts FiveM player natives for server-side operations.
|
|
9
|
-
* Allows the runtime to work without direct FiveM dependencies.
|
|
10
|
-
*/
|
|
11
|
-
class IPlayerServer {
|
|
12
|
-
}
|
|
13
|
-
exports.IPlayerServer = IPlayerServer;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OxMySQL Adapter
|
|
3
|
-
*
|
|
4
|
-
* Default database adapter using oxmysql resource for FiveM.
|
|
5
|
-
* Requires oxmysql to be installed and running on the server.
|
|
6
|
-
*
|
|
7
|
-
* @see https://github.com/overextended/oxmysql
|
|
8
|
-
* @see https://coxdocs.dev/oxmysql/Functions/transaction
|
|
9
|
-
*/
|
|
10
|
-
import { DatabaseContract } from '../../runtime/server/database/database.contract';
|
|
11
|
-
import { ExecuteResult, InsertResult, TransactionInput, TransactionSharedParams } from '../../runtime/server/database/types';
|
|
12
|
-
/**
|
|
13
|
-
* OxMySQL Database Adapter
|
|
14
|
-
*
|
|
15
|
-
* Implements DatabaseContract using oxmysql exports.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* import { OxMySQLAdapter } from '@open-core/framework/server'
|
|
20
|
-
*
|
|
21
|
-
* // Usually you don't need to instantiate directly,
|
|
22
|
-
* // use DatabaseService instead
|
|
23
|
-
* const adapter = new OxMySQLAdapter()
|
|
24
|
-
* const users = await adapter.query('SELECT * FROM users')
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export declare class OxMySQLAdapter extends DatabaseContract {
|
|
28
|
-
private ox;
|
|
29
|
-
constructor();
|
|
30
|
-
/**
|
|
31
|
-
* Execute a query and return all matching rows
|
|
32
|
-
*/
|
|
33
|
-
query<T = any>(sql: string, params?: any[]): Promise<T[]>;
|
|
34
|
-
/**
|
|
35
|
-
* Execute a query and return a single row
|
|
36
|
-
*/
|
|
37
|
-
single<T = any>(sql: string, params?: any[]): Promise<T | null>;
|
|
38
|
-
/**
|
|
39
|
-
* Execute a query and return a single scalar value
|
|
40
|
-
*/
|
|
41
|
-
scalar<T = any>(sql: string, params?: any[]): Promise<T | null>;
|
|
42
|
-
/**
|
|
43
|
-
* Execute an UPDATE or DELETE statement
|
|
44
|
-
*/
|
|
45
|
-
execute(sql: string, params?: any[]): Promise<ExecuteResult>;
|
|
46
|
-
/**
|
|
47
|
-
* Execute an INSERT statement
|
|
48
|
-
*/
|
|
49
|
-
insert(sql: string, params?: any[]): Promise<InsertResult>;
|
|
50
|
-
/**
|
|
51
|
-
* Execute multiple queries within a transaction.
|
|
52
|
-
*
|
|
53
|
-
* Supports three formats:
|
|
54
|
-
*
|
|
55
|
-
* **1. Specific format (object)**
|
|
56
|
-
* ```typescript
|
|
57
|
-
* await db.transaction([
|
|
58
|
-
* { query: 'INSERT INTO test (id) VALUES (?)', values: [1] },
|
|
59
|
-
* { query: 'INSERT INTO test (id, name) VALUES (?, ?)', values: [2, 'bob'] },
|
|
60
|
-
* ])
|
|
61
|
-
* ```
|
|
62
|
-
*
|
|
63
|
-
* **2. Specific format (tuple)**
|
|
64
|
-
* ```typescript
|
|
65
|
-
* await db.transaction([
|
|
66
|
-
* ['INSERT INTO test (id) VALUES (?)', [1]],
|
|
67
|
-
* ['INSERT INTO test (id, name) VALUES (?, ?)', [2, 'bob']],
|
|
68
|
-
* ])
|
|
69
|
-
* ```
|
|
70
|
-
*
|
|
71
|
-
* **3. Shared format (named parameters)**
|
|
72
|
-
* ```typescript
|
|
73
|
-
* await db.transaction(
|
|
74
|
-
* [
|
|
75
|
-
* 'INSERT INTO test (id, name) VALUES (@someid, @somename)',
|
|
76
|
-
* 'UPDATE test SET name = @newname WHERE id = @someid',
|
|
77
|
-
* ],
|
|
78
|
-
* {
|
|
79
|
-
* someid: 2,
|
|
80
|
-
* somename: 'John Doe',
|
|
81
|
-
* newname: 'John Notdoe',
|
|
82
|
-
* }
|
|
83
|
-
* )
|
|
84
|
-
* ```
|
|
85
|
-
*
|
|
86
|
-
* @see https://coxdocs.dev/oxmysql/Functions/transaction
|
|
87
|
-
*/
|
|
88
|
-
transaction(queries: TransactionInput, sharedParams?: TransactionSharedParams): Promise<boolean>;
|
|
89
|
-
}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* OxMySQL Adapter
|
|
4
|
-
*
|
|
5
|
-
* Default database adapter using oxmysql resource for FiveM.
|
|
6
|
-
* Requires oxmysql to be installed and running on the server.
|
|
7
|
-
*
|
|
8
|
-
* @see https://github.com/overextended/oxmysql
|
|
9
|
-
* @see https://coxdocs.dev/oxmysql/Functions/transaction
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.OxMySQLAdapter = void 0;
|
|
13
|
-
const database_contract_1 = require("../../runtime/server/database/database.contract");
|
|
14
|
-
/**
|
|
15
|
-
* Get the oxmysql export from FiveM
|
|
16
|
-
*/
|
|
17
|
-
function getOxMySQL() {
|
|
18
|
-
const ox = exports.oxmysql;
|
|
19
|
-
if (!ox) {
|
|
20
|
-
throw new Error('[OpenCore] oxmysql is not available. Make sure oxmysql resource is started before your resource.');
|
|
21
|
-
}
|
|
22
|
-
return ox;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Normalize transaction input to oxmysql format
|
|
26
|
-
*/
|
|
27
|
-
function normalizeQueries(queries) {
|
|
28
|
-
if (queries.length === 0)
|
|
29
|
-
return [];
|
|
30
|
-
const first = queries[0];
|
|
31
|
-
// String array - used with shared params
|
|
32
|
-
if (typeof first === 'string') {
|
|
33
|
-
return queries;
|
|
34
|
-
}
|
|
35
|
-
// Tuple format: [query, values]
|
|
36
|
-
if (Array.isArray(first)) {
|
|
37
|
-
return queries.map(([query, values]) => ({
|
|
38
|
-
query,
|
|
39
|
-
values,
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
// Already in TransactionQuery format
|
|
43
|
-
return queries;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* OxMySQL Database Adapter
|
|
47
|
-
*
|
|
48
|
-
* Implements DatabaseContract using oxmysql exports.
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* import { OxMySQLAdapter } from '@open-core/framework/server'
|
|
53
|
-
*
|
|
54
|
-
* // Usually you don't need to instantiate directly,
|
|
55
|
-
* // use DatabaseService instead
|
|
56
|
-
* const adapter = new OxMySQLAdapter()
|
|
57
|
-
* const users = await adapter.query('SELECT * FROM users')
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
class OxMySQLAdapter extends database_contract_1.DatabaseContract {
|
|
61
|
-
constructor() {
|
|
62
|
-
super();
|
|
63
|
-
this.ox = getOxMySQL();
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Execute a query and return all matching rows
|
|
67
|
-
*/
|
|
68
|
-
async query(sql, params) {
|
|
69
|
-
const result = await this.ox.query_async(sql, params);
|
|
70
|
-
return result !== null && result !== void 0 ? result : [];
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Execute a query and return a single row
|
|
74
|
-
*/
|
|
75
|
-
async single(sql, params) {
|
|
76
|
-
const result = await this.ox.single_async(sql, params);
|
|
77
|
-
return result !== null && result !== void 0 ? result : null;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Execute a query and return a single scalar value
|
|
81
|
-
*/
|
|
82
|
-
async scalar(sql, params) {
|
|
83
|
-
const result = await this.ox.scalar_async(sql, params);
|
|
84
|
-
return result !== null && result !== void 0 ? result : null;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Execute an UPDATE or DELETE statement
|
|
88
|
-
*/
|
|
89
|
-
async execute(sql, params) {
|
|
90
|
-
const affectedRows = await this.ox.update_async(sql, params);
|
|
91
|
-
return { affectedRows: affectedRows !== null && affectedRows !== void 0 ? affectedRows : 0 };
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Execute an INSERT statement
|
|
95
|
-
*/
|
|
96
|
-
async insert(sql, params) {
|
|
97
|
-
const insertId = await this.ox.insert_async(sql, params);
|
|
98
|
-
return { insertId: insertId !== null && insertId !== void 0 ? insertId : 0 };
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Execute multiple queries within a transaction.
|
|
102
|
-
*
|
|
103
|
-
* Supports three formats:
|
|
104
|
-
*
|
|
105
|
-
* **1. Specific format (object)**
|
|
106
|
-
* ```typescript
|
|
107
|
-
* await db.transaction([
|
|
108
|
-
* { query: 'INSERT INTO test (id) VALUES (?)', values: [1] },
|
|
109
|
-
* { query: 'INSERT INTO test (id, name) VALUES (?, ?)', values: [2, 'bob'] },
|
|
110
|
-
* ])
|
|
111
|
-
* ```
|
|
112
|
-
*
|
|
113
|
-
* **2. Specific format (tuple)**
|
|
114
|
-
* ```typescript
|
|
115
|
-
* await db.transaction([
|
|
116
|
-
* ['INSERT INTO test (id) VALUES (?)', [1]],
|
|
117
|
-
* ['INSERT INTO test (id, name) VALUES (?, ?)', [2, 'bob']],
|
|
118
|
-
* ])
|
|
119
|
-
* ```
|
|
120
|
-
*
|
|
121
|
-
* **3. Shared format (named parameters)**
|
|
122
|
-
* ```typescript
|
|
123
|
-
* await db.transaction(
|
|
124
|
-
* [
|
|
125
|
-
* 'INSERT INTO test (id, name) VALUES (@someid, @somename)',
|
|
126
|
-
* 'UPDATE test SET name = @newname WHERE id = @someid',
|
|
127
|
-
* ],
|
|
128
|
-
* {
|
|
129
|
-
* someid: 2,
|
|
130
|
-
* somename: 'John Doe',
|
|
131
|
-
* newname: 'John Notdoe',
|
|
132
|
-
* }
|
|
133
|
-
* )
|
|
134
|
-
* ```
|
|
135
|
-
*
|
|
136
|
-
* @see https://coxdocs.dev/oxmysql/Functions/transaction
|
|
137
|
-
*/
|
|
138
|
-
async transaction(queries, sharedParams) {
|
|
139
|
-
if (queries.length === 0)
|
|
140
|
-
return true;
|
|
141
|
-
const normalizedQueries = normalizeQueries(queries);
|
|
142
|
-
// Use shared params format if provided
|
|
143
|
-
if (sharedParams) {
|
|
144
|
-
return await this.ox.transaction_async(normalizedQueries, sharedParams);
|
|
145
|
-
}
|
|
146
|
-
return await this.ox.transaction_async(normalizedQueries);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
exports.OxMySQLAdapter = OxMySQLAdapter;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { DatabaseContract } from '../../runtime/server/database/database.contract';
|
|
2
|
-
import { ExecuteResult, InsertResult, TransactionInput, TransactionSharedParams } from '../../runtime/server/database/types';
|
|
3
|
-
export declare class ResourceDatabaseAdapter extends DatabaseContract {
|
|
4
|
-
private db;
|
|
5
|
-
constructor();
|
|
6
|
-
query<T = any>(sql: string, params?: any[]): Promise<T[]>;
|
|
7
|
-
single<T = any>(sql: string, params?: any[]): Promise<T | null>;
|
|
8
|
-
scalar<T = any>(sql: string, params?: any[]): Promise<T | null>;
|
|
9
|
-
execute(sql: string, params?: any[]): Promise<ExecuteResult>;
|
|
10
|
-
insert(sql: string, params?: any[]): Promise<InsertResult>;
|
|
11
|
-
transaction(queries: TransactionInput, sharedParams?: TransactionSharedParams): Promise<boolean>;
|
|
12
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResourceDatabaseAdapter = void 0;
|
|
4
|
-
const database_contract_1 = require("../../runtime/server/database/database.contract");
|
|
5
|
-
function getDbResourceName() {
|
|
6
|
-
const name = GetConvar('opencore_db_resource', '').trim();
|
|
7
|
-
if (!name) {
|
|
8
|
-
throw new Error('[OpenCore] opencore_db_resource is required when opencore_db_adapter=resource');
|
|
9
|
-
}
|
|
10
|
-
return name;
|
|
11
|
-
}
|
|
12
|
-
function getDbExports() {
|
|
13
|
-
const resourceName = getDbResourceName();
|
|
14
|
-
const db = exports[resourceName];
|
|
15
|
-
if (!db) {
|
|
16
|
-
throw new Error(`[OpenCore] Database resource '${resourceName}' is not available. Start it before this resource.`);
|
|
17
|
-
}
|
|
18
|
-
return db;
|
|
19
|
-
}
|
|
20
|
-
function normalizeQueries(queries) {
|
|
21
|
-
if (queries.length === 0)
|
|
22
|
-
return [];
|
|
23
|
-
const first = queries[0];
|
|
24
|
-
if (typeof first === 'string') {
|
|
25
|
-
return queries;
|
|
26
|
-
}
|
|
27
|
-
if (Array.isArray(first)) {
|
|
28
|
-
return queries.map(([query, values]) => ({
|
|
29
|
-
query,
|
|
30
|
-
values,
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
return queries;
|
|
34
|
-
}
|
|
35
|
-
class ResourceDatabaseAdapter extends database_contract_1.DatabaseContract {
|
|
36
|
-
constructor() {
|
|
37
|
-
super();
|
|
38
|
-
this.db = getDbExports();
|
|
39
|
-
}
|
|
40
|
-
async query(sql, params) {
|
|
41
|
-
const result = await this.db.query_async(sql, params);
|
|
42
|
-
return result !== null && result !== void 0 ? result : [];
|
|
43
|
-
}
|
|
44
|
-
async single(sql, params) {
|
|
45
|
-
const result = await this.db.single_async(sql, params);
|
|
46
|
-
return result !== null && result !== void 0 ? result : null;
|
|
47
|
-
}
|
|
48
|
-
async scalar(sql, params) {
|
|
49
|
-
const result = await this.db.scalar_async(sql, params);
|
|
50
|
-
return result !== null && result !== void 0 ? result : null;
|
|
51
|
-
}
|
|
52
|
-
async execute(sql, params) {
|
|
53
|
-
return await this.db.execute_async(sql, params);
|
|
54
|
-
}
|
|
55
|
-
async insert(sql, params) {
|
|
56
|
-
return await this.db.insert_async(sql, params);
|
|
57
|
-
}
|
|
58
|
-
async transaction(queries, sharedParams) {
|
|
59
|
-
if (queries.length === 0)
|
|
60
|
-
return true;
|
|
61
|
-
const normalizedQueries = normalizeQueries(queries);
|
|
62
|
-
if (sharedParams) {
|
|
63
|
-
return await this.db.transaction_async(normalizedQueries, sharedParams);
|
|
64
|
-
}
|
|
65
|
-
return await this.db.transaction_async(normalizedQueries);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.ResourceDatabaseAdapter = ResourceDatabaseAdapter;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './appearance.interface';
|
package/dist/runtime/index.d.ts
DELETED