@armoury/fivem-framework-server 1.0.18 → 1.0.19
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/cjs/server/database/schemas/accounts.schema.js +9 -0
- package/dist/cjs/server/index.js +1 -1
- package/dist/cjs/server/services/index.js +1 -1
- package/dist/cjs/server/services/server-virtual-worlds.service.js +3 -3
- package/dist/cjs/server/services/session/session.repository.js +33 -0
- package/dist/cjs/server/services/session/session.service.js +25 -0
- package/dist/cjs/shared/models/index.js +1 -0
- package/dist/cjs/shared/models/session.js +6 -0
- package/dist/esm/server/database/schemas/accounts.schema.js +6 -0
- package/dist/esm/server/index.js +2 -2
- package/dist/esm/server/services/index.js +1 -1
- package/dist/esm/server/services/server-virtual-worlds.service.js +3 -3
- package/dist/esm/server/services/session/session.repository.js +30 -0
- package/dist/esm/server/services/session/session.service.js +22 -0
- package/dist/esm/shared/models/index.js +1 -0
- package/dist/esm/shared/models/session.js +2 -0
- package/dist/types/server/database/schemas/accounts.schema.d.ts +58 -0
- package/dist/types/server/services/index.d.ts +1 -1
- package/dist/types/server/services/server-virtual-worlds.service.d.ts +2 -2
- package/dist/types/server/services/session/session.repository.d.ts +5 -0
- package/dist/types/server/services/session/session.service.d.ts +3 -0
- package/dist/types/shared/models/index.d.ts +1 -0
- package/dist/types/shared/models/session.d.ts +7 -0
- package/package.json +5 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountsTable = void 0;
|
|
4
|
+
const mysql_core_1 = require("drizzle-orm/mysql-core");
|
|
5
|
+
exports.AccountsTable = (0, mysql_core_1.mysqlTable)('accounts', {
|
|
6
|
+
id: (0, mysql_core_1.int)('id').primaryKey().autoincrement(),
|
|
7
|
+
platformId: (0, mysql_core_1.varchar)('platformId', { length: 64 }).notNull(),
|
|
8
|
+
lastKnownName: (0, mysql_core_1.varchar)('lastKnownName', { length: 255 }).notNull(),
|
|
9
|
+
});
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -24,7 +24,7 @@ const services_1 = require("./services");
|
|
|
24
24
|
exports.SERVER_LAZY_PROVIDERS = [];
|
|
25
25
|
exports.SERVER_EAGER_PROVIDERS = [
|
|
26
26
|
database_1.Database.forChild(),
|
|
27
|
-
services_1.
|
|
27
|
+
services_1.SessionService,
|
|
28
28
|
];
|
|
29
29
|
async function bootstrap(_class, options = {}) {
|
|
30
30
|
return (0, fivem_framework_common_1.bootstrapWithProviders)(_class, exports.SERVER_LAZY_PROVIDERS, options, undefined, (key, index) => Cfx.Server.GetResourceMetadata(Cfx.Server.GetCurrentResourceName(), key, index), (resourceName) => Cfx.exports[resourceName], exports.SERVER_EAGER_PROVIDERS);
|
|
@@ -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("./session/
|
|
17
|
+
__exportStar(require("./session/session.service"), exports);
|
|
18
18
|
__exportStar(require("./server-resource-database.service"), exports);
|
|
19
19
|
__exportStar(require("./server-enterable-database.service"), exports);
|
|
20
20
|
__exportStar(require("./server-virtual-worlds.service"), exports);
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.ServerVirtualWorldsService = void 0;
|
|
16
16
|
const injection_js_1 = require("injection-js");
|
|
17
17
|
const fivem_framework_common_1 = require("@armoury/fivem-framework-common");
|
|
18
|
-
const
|
|
18
|
+
const session_service_1 = require("./session/session.service");
|
|
19
19
|
let ServerVirtualWorldsService = class ServerVirtualWorldsService {
|
|
20
20
|
constructor(_session) {
|
|
21
21
|
this._session = _session;
|
|
@@ -68,6 +68,6 @@ __decorate([
|
|
|
68
68
|
], ServerVirtualWorldsService.prototype, "onPlayerEnteredScope", null);
|
|
69
69
|
exports.ServerVirtualWorldsService = ServerVirtualWorldsService = __decorate([
|
|
70
70
|
(0, injection_js_1.Injectable)(),
|
|
71
|
-
__param(0, (0, injection_js_1.Inject)(
|
|
72
|
-
__metadata("design:paramtypes", [
|
|
71
|
+
__param(0, (0, injection_js_1.Inject)(session_service_1.SessionService)),
|
|
72
|
+
__metadata("design:paramtypes", [session_service_1.SessionService])
|
|
73
73
|
], ServerVirtualWorldsService);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SessionRepository = void 0;
|
|
13
|
+
const injection_js_1 = require("injection-js");
|
|
14
|
+
const database_1 = require("../../database/database");
|
|
15
|
+
const accounts_schema_1 = require("../../database/schemas/accounts.schema");
|
|
16
|
+
// TODO: Move to AccountsRepository inside @armoury/fivem-roleplay-gamemode-server
|
|
17
|
+
let SessionRepository = class SessionRepository {
|
|
18
|
+
constructor(_database) {
|
|
19
|
+
this._database = _database;
|
|
20
|
+
if (_database.isRoot()) {
|
|
21
|
+
this._database.registerTable('accounts', accounts_schema_1.AccountsTable);
|
|
22
|
+
console.log('[SessionRepository:] Registered accounts table in the database.');
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.log('[SessionRepository:] Not the root resource, skipping table registration.');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.SessionRepository = SessionRepository;
|
|
30
|
+
exports.SessionRepository = SessionRepository = __decorate([
|
|
31
|
+
(0, injection_js_1.Injectable)(),
|
|
32
|
+
__metadata("design:paramtypes", [database_1.Database])
|
|
33
|
+
], SessionRepository);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SessionService = void 0;
|
|
13
|
+
const injection_js_1 = require("injection-js");
|
|
14
|
+
let SessionService = class SessionService {
|
|
15
|
+
// TODO: Move to AccountsService inside @armoury/fivem-roleplay-gamemode-server
|
|
16
|
+
// public constructor(
|
|
17
|
+
// private readonly _repository: SessionRepository,
|
|
18
|
+
// ) { }
|
|
19
|
+
constructor() { }
|
|
20
|
+
};
|
|
21
|
+
exports.SessionService = SessionService;
|
|
22
|
+
exports.SessionService = SessionService = __decorate([
|
|
23
|
+
(0, injection_js_1.Injectable)(),
|
|
24
|
+
__metadata("design:paramtypes", [])
|
|
25
|
+
], SessionService);
|
|
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./account"), exports);
|
|
18
18
|
__exportStar(require("./character"), exports);
|
|
19
|
+
__exportStar(require("./session"), exports);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { mysqlTable, int, varchar } from 'drizzle-orm/mysql-core';
|
|
2
|
+
export const AccountsTable = mysqlTable('accounts', {
|
|
3
|
+
id: int('id').primaryKey().autoincrement(),
|
|
4
|
+
platformId: varchar('platformId', { length: 64 }).notNull(),
|
|
5
|
+
lastKnownName: varchar('lastKnownName', { length: 255 }).notNull(),
|
|
6
|
+
});
|
package/dist/esm/server/index.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import 'reflect-metadata';
|
|
3
3
|
import { bootstrapWithProviders } from '@armoury/fivem-framework-common';
|
|
4
4
|
import { Database } from './database/database';
|
|
5
|
-
import {
|
|
5
|
+
import { SessionService } from './services';
|
|
6
6
|
export const SERVER_LAZY_PROVIDERS = [];
|
|
7
7
|
export const SERVER_EAGER_PROVIDERS = [
|
|
8
8
|
Database.forChild(),
|
|
9
|
-
|
|
9
|
+
SessionService,
|
|
10
10
|
];
|
|
11
11
|
export async function bootstrap(_class, options = {}) {
|
|
12
12
|
return bootstrapWithProviders(_class, SERVER_LAZY_PROVIDERS, options, undefined, (key, index) => Cfx.Server.GetResourceMetadata(Cfx.Server.GetCurrentResourceName(), key, index), (resourceName) => Cfx.exports[resourceName], SERVER_EAGER_PROVIDERS);
|
|
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { Inject, Injectable } from 'injection-js';
|
|
14
14
|
import { EventListener } from '@armoury/fivem-framework-common';
|
|
15
|
-
import {
|
|
15
|
+
import { SessionService } from './session/session.service';
|
|
16
16
|
let ServerVirtualWorldsService = class ServerVirtualWorldsService {
|
|
17
17
|
constructor(_session) {
|
|
18
18
|
this._session = _session;
|
|
@@ -64,7 +64,7 @@ __decorate([
|
|
|
64
64
|
], ServerVirtualWorldsService.prototype, "onPlayerEnteredScope", null);
|
|
65
65
|
ServerVirtualWorldsService = __decorate([
|
|
66
66
|
Injectable(),
|
|
67
|
-
__param(0, Inject(
|
|
68
|
-
__metadata("design:paramtypes", [
|
|
67
|
+
__param(0, Inject(SessionService)),
|
|
68
|
+
__metadata("design:paramtypes", [SessionService])
|
|
69
69
|
], ServerVirtualWorldsService);
|
|
70
70
|
export { ServerVirtualWorldsService };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Injectable } from 'injection-js';
|
|
11
|
+
import { Database } from '../../database/database';
|
|
12
|
+
import { AccountsTable } from '../../database/schemas/accounts.schema';
|
|
13
|
+
// TODO: Move to AccountsRepository inside @armoury/fivem-roleplay-gamemode-server
|
|
14
|
+
let SessionRepository = class SessionRepository {
|
|
15
|
+
constructor(_database) {
|
|
16
|
+
this._database = _database;
|
|
17
|
+
if (_database.isRoot()) {
|
|
18
|
+
this._database.registerTable('accounts', AccountsTable);
|
|
19
|
+
console.log('[SessionRepository:] Registered accounts table in the database.');
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
console.log('[SessionRepository:] Not the root resource, skipping table registration.');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
SessionRepository = __decorate([
|
|
27
|
+
Injectable(),
|
|
28
|
+
__metadata("design:paramtypes", [Database])
|
|
29
|
+
], SessionRepository);
|
|
30
|
+
export { SessionRepository };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Injectable } from 'injection-js';
|
|
11
|
+
let SessionService = class SessionService {
|
|
12
|
+
// TODO: Move to AccountsService inside @armoury/fivem-roleplay-gamemode-server
|
|
13
|
+
// public constructor(
|
|
14
|
+
// private readonly _repository: SessionRepository,
|
|
15
|
+
// ) { }
|
|
16
|
+
constructor() { }
|
|
17
|
+
};
|
|
18
|
+
SessionService = __decorate([
|
|
19
|
+
Injectable(),
|
|
20
|
+
__metadata("design:paramtypes", [])
|
|
21
|
+
], SessionService);
|
|
22
|
+
export { SessionService };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare const AccountsTable: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
|
|
2
|
+
name: "accounts";
|
|
3
|
+
schema: undefined;
|
|
4
|
+
columns: {
|
|
5
|
+
id: import("drizzle-orm/mysql-core").MySqlColumn<{
|
|
6
|
+
name: "id";
|
|
7
|
+
tableName: "accounts";
|
|
8
|
+
dataType: "number";
|
|
9
|
+
columnType: "MySqlInt";
|
|
10
|
+
data: number;
|
|
11
|
+
driverParam: string | number;
|
|
12
|
+
notNull: true;
|
|
13
|
+
hasDefault: true;
|
|
14
|
+
isPrimaryKey: true;
|
|
15
|
+
isAutoincrement: true;
|
|
16
|
+
hasRuntimeDefault: false;
|
|
17
|
+
enumValues: undefined;
|
|
18
|
+
baseColumn: never;
|
|
19
|
+
identity: undefined;
|
|
20
|
+
generated: undefined;
|
|
21
|
+
}, {}, {}>;
|
|
22
|
+
platformId: import("drizzle-orm/mysql-core").MySqlColumn<{
|
|
23
|
+
name: "platformId";
|
|
24
|
+
tableName: "accounts";
|
|
25
|
+
dataType: "string";
|
|
26
|
+
columnType: "MySqlVarChar";
|
|
27
|
+
data: string;
|
|
28
|
+
driverParam: string | number;
|
|
29
|
+
notNull: true;
|
|
30
|
+
hasDefault: false;
|
|
31
|
+
isPrimaryKey: false;
|
|
32
|
+
isAutoincrement: false;
|
|
33
|
+
hasRuntimeDefault: false;
|
|
34
|
+
enumValues: [string, ...string[]];
|
|
35
|
+
baseColumn: never;
|
|
36
|
+
identity: undefined;
|
|
37
|
+
generated: undefined;
|
|
38
|
+
}, {}, {}>;
|
|
39
|
+
lastKnownName: import("drizzle-orm/mysql-core").MySqlColumn<{
|
|
40
|
+
name: "lastKnownName";
|
|
41
|
+
tableName: "accounts";
|
|
42
|
+
dataType: "string";
|
|
43
|
+
columnType: "MySqlVarChar";
|
|
44
|
+
data: string;
|
|
45
|
+
driverParam: string | number;
|
|
46
|
+
notNull: true;
|
|
47
|
+
hasDefault: false;
|
|
48
|
+
isPrimaryKey: false;
|
|
49
|
+
isAutoincrement: false;
|
|
50
|
+
hasRuntimeDefault: false;
|
|
51
|
+
enumValues: [string, ...string[]];
|
|
52
|
+
baseColumn: never;
|
|
53
|
+
identity: undefined;
|
|
54
|
+
generated: undefined;
|
|
55
|
+
}, {}, {}>;
|
|
56
|
+
};
|
|
57
|
+
dialect: "mysql";
|
|
58
|
+
}>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SessionService } from './session/session.service';
|
|
2
2
|
export declare class ServerVirtualWorldsService {
|
|
3
3
|
private readonly _session;
|
|
4
|
-
constructor(_session:
|
|
4
|
+
constructor(_session: SessionService);
|
|
5
5
|
private _virtualWorldsWithPlayers;
|
|
6
6
|
/** This only counts virtual worlds related to the resource! If another resource changes the virtual world of the player, this resource won't know it! */
|
|
7
7
|
get virtualWorldsWithPlayers(): Map<number, number[]>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@armoury/fivem-framework-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "Server APIs for the Armoury FiveM framework",
|
|
5
5
|
"main": "dist/cjs/server/index.js",
|
|
6
6
|
"module": "dist/esm/server/index.js",
|
|
@@ -27,11 +27,14 @@
|
|
|
27
27
|
"rxjs": "^7.8.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@armoury/fivem-framework-common": "1.0.
|
|
30
|
+
"@armoury/fivem-framework-common": "1.0.19",
|
|
31
31
|
"drizzle-orm": "^0.45.4",
|
|
32
32
|
"mysql2": "^3.24.5"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"drizzle-kit": "^0.31.11"
|
|
36
39
|
}
|
|
37
40
|
}
|