@battle-racing/br-common-lib 1.1.5 → 1.2.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/constants/index.d.ts +3 -0
- package/dist/constants/index.js +19 -0
- package/dist/constants/moduleNames.d.ts +12 -0
- package/dist/constants/moduleNames.js +15 -0
- package/dist/constants/permissions.d.ts +12 -0
- package/dist/constants/permissions.js +15 -0
- package/dist/constants/userRole.d.ts +4 -0
- package/dist/constants/userRole.js +7 -0
- package/dist/data/RoleDefinitions.d.ts +2 -0
- package/dist/data/RoleDefinitions.js +27 -0
- package/dist/data/index.js +17 -0
- package/dist/types/hardware/ModuleName.d.ts +3 -1
- package/dist/types/role/Permission.d.ts +1 -12
- package/dist/types/role/Permission.js +0 -13
- package/dist/types/role/UserRole.d.ts +1 -4
- package/dist/types/role/UserRole.js +0 -5
- package/dist/utils/roles.utils.js +4 -4
- package/package.json +1 -1
- package/src/constants/index.ts +3 -0
- package/src/constants/moduleNames.ts +12 -0
- package/src/constants/permissions.ts +15 -0
- package/src/constants/userRole.ts +4 -0
- package/src/{definitions → data}/RoleDefinitions.ts +1 -2
- package/src/data/index.ts +1 -0
- package/src/types/hardware/ModuleName.ts +4 -10
- package/src/types/role/Permission.ts +1 -16
- package/src/types/role/UserRole.ts +1 -5
- package/src/utils/roles.utils.ts +3 -2
- package/src/index.ts +0 -3
- /package/{src/definitions/index.ts → dist/data/index.d.ts} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./moduleNames"), exports);
|
|
18
|
+
__exportStar(require("./permissions"), exports);
|
|
19
|
+
__exportStar(require("./userRole"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const MODULE_NAMES: {
|
|
2
|
+
readonly SPEED: "speed";
|
|
3
|
+
readonly FLAG: "flag";
|
|
4
|
+
readonly RGB: "rgb";
|
|
5
|
+
readonly DISK_SENSOR_BALL_SHOOTER: "disk-sensor-ball-shooter";
|
|
6
|
+
readonly BALL_SENSOR_DISK_THROWER: "ball-sensor-disk-thrower";
|
|
7
|
+
readonly LEFT_STAR_BACK_LASER: "left-star-back-laser";
|
|
8
|
+
readonly RIGHT_STAR_FRONT_LASER: "right-star-front-laser";
|
|
9
|
+
readonly SCREEN: "screen";
|
|
10
|
+
readonly EMERGENCY: "emergency";
|
|
11
|
+
readonly LIGHTS: "lights";
|
|
12
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MODULE_NAMES = void 0;
|
|
4
|
+
exports.MODULE_NAMES = {
|
|
5
|
+
SPEED: 'speed',
|
|
6
|
+
FLAG: 'flag',
|
|
7
|
+
RGB: 'rgb',
|
|
8
|
+
DISK_SENSOR_BALL_SHOOTER: 'disk-sensor-ball-shooter',
|
|
9
|
+
BALL_SENSOR_DISK_THROWER: 'ball-sensor-disk-thrower',
|
|
10
|
+
LEFT_STAR_BACK_LASER: 'left-star-back-laser',
|
|
11
|
+
RIGHT_STAR_FRONT_LASER: 'right-star-front-laser',
|
|
12
|
+
SCREEN: 'screen',
|
|
13
|
+
EMERGENCY: 'emergency',
|
|
14
|
+
LIGHTS: 'lights',
|
|
15
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const PERMISSIONS: {
|
|
2
|
+
readonly FULL_ACCESS: "FULL_ACCESS";
|
|
3
|
+
readonly KARTS_MANAGE_HARDWARE: "KARTS_MANAGE_HARDWARE";
|
|
4
|
+
readonly KARTS_MANAGE_POWER_UPS: "KARTS_MANAGE_POWER_UPS";
|
|
5
|
+
readonly GAME_TRACK_MANAGE_GAMES: "GAME_TRACK_MANAGE_GAMES";
|
|
6
|
+
readonly GAME_TRACK_MANAGE_BASIC_INFO: "GAME_TRACK_MANAGE_BASIC_INFO";
|
|
7
|
+
readonly GAME_TRACK_MANAGE_HARDWARE: "GAME_TRACK_MANAGE_HARDWARE";
|
|
8
|
+
readonly GAME_TRACK_MANAGE_KARTS_CONFIG: "GAME_TRACK_MANAGE_KARTS_CONFIG";
|
|
9
|
+
readonly GAME_TRACK_MANAGE_CHECKPOINTS: "GAME_TRACK_MANAGE_CHECKPOINTS";
|
|
10
|
+
readonly GAME_TRACK_MANAGE_KARTS: "GAME_TRACK_MANAGE_KARTS";
|
|
11
|
+
readonly KARTS_TRACKING: "KARTS_TRACKING";
|
|
12
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PERMISSIONS = void 0;
|
|
4
|
+
exports.PERMISSIONS = {
|
|
5
|
+
FULL_ACCESS: 'FULL_ACCESS',
|
|
6
|
+
KARTS_MANAGE_HARDWARE: 'KARTS_MANAGE_HARDWARE',
|
|
7
|
+
KARTS_MANAGE_POWER_UPS: 'KARTS_MANAGE_POWER_UPS',
|
|
8
|
+
GAME_TRACK_MANAGE_GAMES: 'GAME_TRACK_MANAGE_GAMES',
|
|
9
|
+
GAME_TRACK_MANAGE_BASIC_INFO: 'GAME_TRACK_MANAGE_BASIC_INFO',
|
|
10
|
+
GAME_TRACK_MANAGE_HARDWARE: 'GAME_TRACK_MANAGE_HARDWARE',
|
|
11
|
+
GAME_TRACK_MANAGE_KARTS_CONFIG: 'GAME_TRACK_MANAGE_KARTS_CONFIG',
|
|
12
|
+
GAME_TRACK_MANAGE_CHECKPOINTS: 'GAME_TRACK_MANAGE_CHECKPOINTS',
|
|
13
|
+
GAME_TRACK_MANAGE_KARTS: 'GAME_TRACK_MANAGE_KARTS',
|
|
14
|
+
KARTS_TRACKING: 'KARTS_TRACKING',
|
|
15
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ROLE_DEFINITIONS = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
exports.ROLE_DEFINITIONS = [
|
|
6
|
+
{
|
|
7
|
+
role: constants_1.USER_ROLE.SUPER_ADMIN,
|
|
8
|
+
description: 'Complete access to all features and settings',
|
|
9
|
+
permissions: [
|
|
10
|
+
constants_1.PERMISSIONS.FULL_ACCESS,
|
|
11
|
+
constants_1.PERMISSIONS.KARTS_MANAGE_HARDWARE,
|
|
12
|
+
constants_1.PERMISSIONS.KARTS_MANAGE_POWER_UPS,
|
|
13
|
+
constants_1.PERMISSIONS.GAME_TRACK_MANAGE_GAMES,
|
|
14
|
+
constants_1.PERMISSIONS.GAME_TRACK_MANAGE_BASIC_INFO,
|
|
15
|
+
constants_1.PERMISSIONS.GAME_TRACK_MANAGE_HARDWARE,
|
|
16
|
+
constants_1.PERMISSIONS.GAME_TRACK_MANAGE_KARTS_CONFIG,
|
|
17
|
+
constants_1.PERMISSIONS.GAME_TRACK_MANAGE_CHECKPOINTS,
|
|
18
|
+
constants_1.PERMISSIONS.GAME_TRACK_MANAGE_KARTS,
|
|
19
|
+
constants_1.PERMISSIONS.KARTS_TRACKING,
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
role: constants_1.USER_ROLE.OPERATOR,
|
|
24
|
+
description: 'Game Track Operator',
|
|
25
|
+
permissions: [constants_1.PERMISSIONS.GAME_TRACK_MANAGE_GAMES],
|
|
26
|
+
},
|
|
27
|
+
];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./RoleDefinitions"), exports);
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { MODULE_NAMES } from '../../constants';
|
|
2
|
+
import { ObjectValues } from '../utils';
|
|
3
|
+
export type ModuleName = ObjectValues<typeof MODULE_NAMES>;
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
+
import { PERMISSIONS } from '../../constants';
|
|
1
2
|
import type { ObjectValues } from '../utils';
|
|
2
|
-
export declare const PERMISSIONS: {
|
|
3
|
-
readonly FULL_ACCESS: "FULL_ACCESS";
|
|
4
|
-
readonly KARTS_MANAGE_HARDWARE: "KARTS_MANAGE_HARDWARE";
|
|
5
|
-
readonly KARTS_MANAGE_POWER_UPS: "KARTS_MANAGE_POWER_UPS";
|
|
6
|
-
readonly GAME_TRACK_MANAGE_GAMES: "GAME_TRACK_MANAGE_GAMES";
|
|
7
|
-
readonly GAME_TRACK_MANAGE_BASIC_INFO: "GAME_TRACK_MANAGE_BASIC_INFO";
|
|
8
|
-
readonly GAME_TRACK_MANAGE_HARDWARE: "GAME_TRACK_MANAGE_HARDWARE";
|
|
9
|
-
readonly GAME_TRACK_MANAGE_KARTS_CONFIG: "GAME_TRACK_MANAGE_KARTS_CONFIG";
|
|
10
|
-
readonly GAME_TRACK_MANAGE_CHECKPOINTS: "GAME_TRACK_MANAGE_CHECKPOINTS";
|
|
11
|
-
readonly GAME_TRACK_MANAGE_KARTS: "GAME_TRACK_MANAGE_KARTS";
|
|
12
|
-
readonly KARTS_TRACKING: "KARTS_TRACKING";
|
|
13
|
-
};
|
|
14
3
|
export type Permission = ObjectValues<typeof PERMISSIONS>;
|
|
@@ -1,15 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PERMISSIONS = void 0;
|
|
4
|
-
exports.PERMISSIONS = {
|
|
5
|
-
FULL_ACCESS: 'FULL_ACCESS',
|
|
6
|
-
KARTS_MANAGE_HARDWARE: 'KARTS_MANAGE_HARDWARE',
|
|
7
|
-
KARTS_MANAGE_POWER_UPS: 'KARTS_MANAGE_POWER_UPS',
|
|
8
|
-
GAME_TRACK_MANAGE_GAMES: 'GAME_TRACK_MANAGE_GAMES',
|
|
9
|
-
GAME_TRACK_MANAGE_BASIC_INFO: 'GAME_TRACK_MANAGE_BASIC_INFO',
|
|
10
|
-
GAME_TRACK_MANAGE_HARDWARE: 'GAME_TRACK_MANAGE_HARDWARE',
|
|
11
|
-
GAME_TRACK_MANAGE_KARTS_CONFIG: 'GAME_TRACK_MANAGE_KARTS_CONFIG',
|
|
12
|
-
GAME_TRACK_MANAGE_CHECKPOINTS: 'GAME_TRACK_MANAGE_CHECKPOINTS',
|
|
13
|
-
GAME_TRACK_MANAGE_KARTS: 'GAME_TRACK_MANAGE_KARTS',
|
|
14
|
-
KARTS_TRACKING: 'KARTS_TRACKING',
|
|
15
|
-
};
|
|
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.hasPermission = hasPermission;
|
|
4
4
|
exports.hasAnyPermission = hasAnyPermission;
|
|
5
5
|
exports.hasAllPermissions = hasAllPermissions;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const data_1 = require("../data");
|
|
8
8
|
function hasPermission(userRole, requiredPermission) {
|
|
9
|
-
if (userRole ===
|
|
9
|
+
if (userRole === constants_1.USER_ROLE.SUPER_ADMIN) {
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
12
|
-
const roleDefinition =
|
|
12
|
+
const roleDefinition = data_1.ROLE_DEFINITIONS.find((def) => def.role === userRole);
|
|
13
13
|
return roleDefinition ? roleDefinition.permissions.includes(requiredPermission) : false;
|
|
14
14
|
}
|
|
15
15
|
function hasAnyPermission(userRole, requiredPermissions) {
|
package/package.json
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const MODULE_NAMES = {
|
|
2
|
+
SPEED: 'speed',
|
|
3
|
+
FLAG: 'flag',
|
|
4
|
+
RGB: 'rgb',
|
|
5
|
+
DISK_SENSOR_BALL_SHOOTER: 'disk-sensor-ball-shooter',
|
|
6
|
+
BALL_SENSOR_DISK_THROWER: 'ball-sensor-disk-thrower',
|
|
7
|
+
LEFT_STAR_BACK_LASER: 'left-star-back-laser',
|
|
8
|
+
RIGHT_STAR_FRONT_LASER: 'right-star-front-laser',
|
|
9
|
+
SCREEN: 'screen',
|
|
10
|
+
EMERGENCY: 'emergency',
|
|
11
|
+
LIGHTS: 'lights',
|
|
12
|
+
} as const;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const PERMISSIONS = {
|
|
2
|
+
FULL_ACCESS: 'FULL_ACCESS',
|
|
3
|
+
|
|
4
|
+
KARTS_MANAGE_HARDWARE: 'KARTS_MANAGE_HARDWARE',
|
|
5
|
+
KARTS_MANAGE_POWER_UPS: 'KARTS_MANAGE_POWER_UPS',
|
|
6
|
+
|
|
7
|
+
GAME_TRACK_MANAGE_GAMES: 'GAME_TRACK_MANAGE_GAMES',
|
|
8
|
+
GAME_TRACK_MANAGE_BASIC_INFO: 'GAME_TRACK_MANAGE_BASIC_INFO',
|
|
9
|
+
GAME_TRACK_MANAGE_HARDWARE: 'GAME_TRACK_MANAGE_HARDWARE',
|
|
10
|
+
GAME_TRACK_MANAGE_KARTS_CONFIG: 'GAME_TRACK_MANAGE_KARTS_CONFIG',
|
|
11
|
+
GAME_TRACK_MANAGE_CHECKPOINTS: 'GAME_TRACK_MANAGE_CHECKPOINTS',
|
|
12
|
+
GAME_TRACK_MANAGE_KARTS: 'GAME_TRACK_MANAGE_KARTS',
|
|
13
|
+
|
|
14
|
+
KARTS_TRACKING: 'KARTS_TRACKING',
|
|
15
|
+
} as const;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { PERMISSIONS } from '../
|
|
1
|
+
import { PERMISSIONS, USER_ROLE } from '../constants';
|
|
2
2
|
import type { RoleDefinition } from '../types/role/RoleDefinition';
|
|
3
|
-
import { USER_ROLE } from '../types/role/UserRole';
|
|
4
3
|
|
|
5
4
|
export const ROLE_DEFINITIONS: RoleDefinition[] = [
|
|
6
5
|
{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './RoleDefinitions';
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
| 'disk-sensor-ball-shooter'
|
|
6
|
-
| 'ball-sensor-disk-thrower'
|
|
7
|
-
| 'left-star-back-laser'
|
|
8
|
-
| 'right-star-front-laser'
|
|
9
|
-
| 'screen'
|
|
10
|
-
| 'emergency';
|
|
1
|
+
import { MODULE_NAMES } from '../../constants';
|
|
2
|
+
import { ObjectValues } from '../utils';
|
|
3
|
+
|
|
4
|
+
export type ModuleName = ObjectValues<typeof MODULE_NAMES>;
|
|
@@ -1,19 +1,4 @@
|
|
|
1
|
+
import { PERMISSIONS } from '../../constants';
|
|
1
2
|
import type { ObjectValues } from '../utils';
|
|
2
3
|
|
|
3
|
-
export const PERMISSIONS = {
|
|
4
|
-
FULL_ACCESS: 'FULL_ACCESS',
|
|
5
|
-
|
|
6
|
-
KARTS_MANAGE_HARDWARE: 'KARTS_MANAGE_HARDWARE',
|
|
7
|
-
KARTS_MANAGE_POWER_UPS: 'KARTS_MANAGE_POWER_UPS',
|
|
8
|
-
|
|
9
|
-
GAME_TRACK_MANAGE_GAMES: 'GAME_TRACK_MANAGE_GAMES',
|
|
10
|
-
GAME_TRACK_MANAGE_BASIC_INFO: 'GAME_TRACK_MANAGE_BASIC_INFO',
|
|
11
|
-
GAME_TRACK_MANAGE_HARDWARE: 'GAME_TRACK_MANAGE_HARDWARE',
|
|
12
|
-
GAME_TRACK_MANAGE_KARTS_CONFIG: 'GAME_TRACK_MANAGE_KARTS_CONFIG',
|
|
13
|
-
GAME_TRACK_MANAGE_CHECKPOINTS: 'GAME_TRACK_MANAGE_CHECKPOINTS',
|
|
14
|
-
GAME_TRACK_MANAGE_KARTS: 'GAME_TRACK_MANAGE_KARTS',
|
|
15
|
-
|
|
16
|
-
KARTS_TRACKING: 'KARTS_TRACKING',
|
|
17
|
-
} as const;
|
|
18
|
-
|
|
19
4
|
export type Permission = ObjectValues<typeof PERMISSIONS>;
|
package/src/utils/roles.utils.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { USER_ROLE } from '../constants';
|
|
2
|
+
import { ROLE_DEFINITIONS } from '../data';
|
|
3
|
+
import { Permission, UserRole } from '../types';
|
|
3
4
|
|
|
4
5
|
export function hasPermission(userRole: UserRole, requiredPermission: Permission): boolean {
|
|
5
6
|
if (userRole === USER_ROLE.SUPER_ADMIN) {
|
package/src/index.ts
DELETED
|
File without changes
|