@takaro/modules 0.0.21 → 0.0.22
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/modules/teleports/functions/utils.d.ts.map +1 -1
- package/dist/modules/teleports/functions/utils.js +3 -0
- package/dist/modules/teleports/functions/utils.js.map +1 -1
- package/dist/modules.json +1 -1
- package/package.json +1 -1
- package/src/__tests__/teleports/waypoints.integration.test.ts +62 -1
- package/src/modules/teleports/functions/utils.js +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/teleports/functions/utils.js"],"names":[],"mappings":"AAEA,mEAKC;AAED,gFA0BC;AAED;;;GAoCC;AAED,mDAEC;AAED,iDAIC;AAED;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/teleports/functions/utils.js"],"names":[],"mappings":"AAEA,mEAKC;AAED,gFA0BC;AAED;;;GAoCC;AAED,mDAEC;AAED,iDAIC;AAED;;;GAGG;AACH,oDAmGC"}
|
|
@@ -81,6 +81,9 @@ export async function waypointReconciler() {
|
|
|
81
81
|
moduleId: [mod.moduleId],
|
|
82
82
|
gameServerId: [gameServerId],
|
|
83
83
|
},
|
|
84
|
+
search: {
|
|
85
|
+
key: [getWaypointName('')],
|
|
86
|
+
},
|
|
84
87
|
})).data.data;
|
|
85
88
|
const waypointsInModule = waypointsDefinition.latestVersion.commands;
|
|
86
89
|
// Check if any waypoints are missing in module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/modules/teleports/functions/utils.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/modules/teleports/functions/utils.js"],"names":[],"mappings":"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"}
|
package/dist/modules.json
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"functions": [
|
|
46
46
|
{
|
|
47
47
|
"name": "utils",
|
|
48
|
-
"function": "import { takaro, data } from '@takaro/helpers';\nexport function getVariableKey(tpName, pub = false) {\n if (pub && tpName)\n return `pubtp_${tpName}`;\n if (pub && !tpName)\n return 'pubtp_';\n if (tpName)\n return `tp_${tpName}`;\n return 'tp_';\n}\nexport async function findTp(tpName, playerId, pub = false) {\n const { gameServerId, module: mod } = data;\n if (pub) {\n return takaro.variable.variableControllerSearch({\n filters: {\n key: [getVariableKey(tpName, true)],\n gameServerId: [gameServerId],\n playerId: [playerId].filter(Boolean),\n moduleId: [mod.moduleId],\n },\n sortBy: 'key',\n sortDirection: 'asc',\n });\n }\n return takaro.variable.variableControllerSearch({\n filters: {\n key: [getVariableKey(tpName)],\n gameServerId: [gameServerId],\n playerId: [playerId].filter(Boolean),\n moduleId: [mod.moduleId],\n },\n sortBy: 'key',\n sortDirection: 'asc',\n });\n}\nexport async function ensureWaypointsModule() {\n const { gameServerId } = data;\n let waypointsDefinition = (await takaro.module.moduleControllerSearch({\n filters: {\n name: ['Waypoints'],\n },\n })).data.data[0];\n if (!waypointsDefinition) {\n console.log('Waypoints module definition not found, creating it.');\n waypointsDefinition = (await takaro.module.moduleControllerCreate({\n name: 'Waypoints',\n })).data.data;\n }\n let waypointsInstallation = (await takaro.module.moduleInstallationsControllerGetInstalledModules({\n filters: { gameserverId: [gameServerId] },\n })).data.data.find((module) => module.module.name === 'Waypoints');\n if (!waypointsInstallation) {\n console.log('Waypoints installation not found, installing it.');\n waypointsInstallation = (await takaro.module.moduleInstallationsControllerInstallModule({\n gameServerId,\n versionId: waypointsDefinition.latestVersion.id,\n })).data.data;\n }\n return { waypointsInstallation, waypointsDefinition };\n}\nexport function getWaypointName(name) {\n return `waypoint ${name}`;\n}\nexport function getWaypointId(varName) {\n const split = varName.split(' ')[1];\n if (split)\n return split;\n return varName;\n}\n/**\n * This function is responsible to read all the configured waypoints (vars)\n * and then ensuring that the waypoints module has the correct config\n */\nexport async function waypointReconciler() {\n console.log('Reconciling waypoints');\n const { waypointsInstallation, waypointsDefinition } = await ensureWaypointsModule();\n const { gameServerId, module: mod } = data;\n // Get all the installed waypoints\n const waypointVars = (await takaro.variable.variableControllerSearch({\n filters: {\n moduleId: [mod.moduleId],\n gameServerId: [gameServerId],\n },\n })).data.data;\n const waypointsInModule = waypointsDefinition.latestVersion.commands;\n // Check if any waypoints are missing in module\n const missingWaypoints = waypointVars.filter((waypointVar) => {\n const existingWaypointsForServer = waypointsInModule.filter((waypoint) => waypoint.name.includes(gameServerId));\n return !existingWaypointsForServer.some((waypoint) => waypoint.trigger === getWaypointId(waypointVar.key));\n });\n // Check if there are waypoints too many in module compared to our vars\n const toDeleteWaypoints = waypointsInModule.filter((waypoint) => {\n // We ignore any commands that are not for this game server\n if (!waypoint.name.includes(gameServerId))\n return false;\n return !waypointVars.some((waypointVar) => getWaypointId(waypointVar.key) === waypoint.trigger);\n });\n if (!missingWaypoints.length && !toDeleteWaypoints.length) {\n // No changes in waypoints, exit\n return;\n }\n console.log('Missing waypoints:', missingWaypoints.map((waypoint) => waypoint.key));\n console.log('To delete waypoints:', toDeleteWaypoints.map((waypoint) => waypoint.trigger));\n // Fetch the teleporting code template\n const teleportCommand = await takaro.command.commandControllerSearch({\n filters: {\n moduleId: [mod.moduleId],\n name: ['teleportwaypoint'],\n },\n });\n // Edit the module accordingly\n await Promise.all([\n ...missingWaypoints.map((waypoint) => {\n return takaro.command.commandControllerCreate({\n name: `waypoint ${getWaypointId(waypoint.key)} server ${gameServerId}`,\n trigger: getWaypointId(waypoint.key),\n helpText: `Teleport to waypoint ${getWaypointId(waypoint.key)}.`,\n function: teleportCommand.data.data[0].function.code,\n versionId: waypointsInstallation.versionId,\n });\n }),\n ...toDeleteWaypoints.map((waypointVar) => {\n return takaro.command.commandControllerRemove(waypointVar.id);\n }),\n ]);\n // Update permissions\n const existingPermissions = waypointsDefinition.latestVersion.permissions || [];\n const permissionInputDTOs = existingPermissions.map((permission) => ({\n permission: permission.permission,\n description: permission.description,\n friendlyName: permission.friendlyName,\n canHaveCount: permission.canHaveCount,\n }));\n // We need to filter out the permissions we deleted in the above lines\n const filteredPermissionsInputs = permissionInputDTOs.filter((permission) => {\n return !toDeleteWaypoints.some((waypoint) => permission.permission === `WAYPOINTS_USE_${waypoint.trigger.toUpperCase()}_${gameServerId}`);\n });\n const gameServer = (await takaro.gameserver.gameServerControllerGetOne(gameServerId)).data.data;\n await takaro.module.moduleControllerUpdate(waypointsInstallation.moduleId, {\n latestVersion: {\n permissions: [\n ...filteredPermissionsInputs,\n ...missingWaypoints.map((waypoint) => ({\n permission: `WAYPOINTS_USE_${getWaypointId(waypoint.key).toUpperCase()}_${gameServerId}`,\n description: `Use the waypoint ${getWaypointId(waypoint.key)} on ${gameServer.name}.`,\n friendlyName: `Use waypoint ${getWaypointId(waypoint.key)} on ${gameServer.name}`,\n canHaveCount: false,\n })),\n ],\n },\n });\n}\n//# sourceMappingURL=utils.js.map"
|
|
48
|
+
"function": "import { takaro, data } from '@takaro/helpers';\nexport function getVariableKey(tpName, pub = false) {\n if (pub && tpName)\n return `pubtp_${tpName}`;\n if (pub && !tpName)\n return 'pubtp_';\n if (tpName)\n return `tp_${tpName}`;\n return 'tp_';\n}\nexport async function findTp(tpName, playerId, pub = false) {\n const { gameServerId, module: mod } = data;\n if (pub) {\n return takaro.variable.variableControllerSearch({\n filters: {\n key: [getVariableKey(tpName, true)],\n gameServerId: [gameServerId],\n playerId: [playerId].filter(Boolean),\n moduleId: [mod.moduleId],\n },\n sortBy: 'key',\n sortDirection: 'asc',\n });\n }\n return takaro.variable.variableControllerSearch({\n filters: {\n key: [getVariableKey(tpName)],\n gameServerId: [gameServerId],\n playerId: [playerId].filter(Boolean),\n moduleId: [mod.moduleId],\n },\n sortBy: 'key',\n sortDirection: 'asc',\n });\n}\nexport async function ensureWaypointsModule() {\n const { gameServerId } = data;\n let waypointsDefinition = (await takaro.module.moduleControllerSearch({\n filters: {\n name: ['Waypoints'],\n },\n })).data.data[0];\n if (!waypointsDefinition) {\n console.log('Waypoints module definition not found, creating it.');\n waypointsDefinition = (await takaro.module.moduleControllerCreate({\n name: 'Waypoints',\n })).data.data;\n }\n let waypointsInstallation = (await takaro.module.moduleInstallationsControllerGetInstalledModules({\n filters: { gameserverId: [gameServerId] },\n })).data.data.find((module) => module.module.name === 'Waypoints');\n if (!waypointsInstallation) {\n console.log('Waypoints installation not found, installing it.');\n waypointsInstallation = (await takaro.module.moduleInstallationsControllerInstallModule({\n gameServerId,\n versionId: waypointsDefinition.latestVersion.id,\n })).data.data;\n }\n return { waypointsInstallation, waypointsDefinition };\n}\nexport function getWaypointName(name) {\n return `waypoint ${name}`;\n}\nexport function getWaypointId(varName) {\n const split = varName.split(' ')[1];\n if (split)\n return split;\n return varName;\n}\n/**\n * This function is responsible to read all the configured waypoints (vars)\n * and then ensuring that the waypoints module has the correct config\n */\nexport async function waypointReconciler() {\n console.log('Reconciling waypoints');\n const { waypointsInstallation, waypointsDefinition } = await ensureWaypointsModule();\n const { gameServerId, module: mod } = data;\n // Get all the installed waypoints\n const waypointVars = (await takaro.variable.variableControllerSearch({\n filters: {\n moduleId: [mod.moduleId],\n gameServerId: [gameServerId],\n },\n search: {\n key: [getWaypointName('')],\n },\n })).data.data;\n const waypointsInModule = waypointsDefinition.latestVersion.commands;\n // Check if any waypoints are missing in module\n const missingWaypoints = waypointVars.filter((waypointVar) => {\n const existingWaypointsForServer = waypointsInModule.filter((waypoint) => waypoint.name.includes(gameServerId));\n return !existingWaypointsForServer.some((waypoint) => waypoint.trigger === getWaypointId(waypointVar.key));\n });\n // Check if there are waypoints too many in module compared to our vars\n const toDeleteWaypoints = waypointsInModule.filter((waypoint) => {\n // We ignore any commands that are not for this game server\n if (!waypoint.name.includes(gameServerId))\n return false;\n return !waypointVars.some((waypointVar) => getWaypointId(waypointVar.key) === waypoint.trigger);\n });\n if (!missingWaypoints.length && !toDeleteWaypoints.length) {\n // No changes in waypoints, exit\n return;\n }\n console.log('Missing waypoints:', missingWaypoints.map((waypoint) => waypoint.key));\n console.log('To delete waypoints:', toDeleteWaypoints.map((waypoint) => waypoint.trigger));\n // Fetch the teleporting code template\n const teleportCommand = await takaro.command.commandControllerSearch({\n filters: {\n moduleId: [mod.moduleId],\n name: ['teleportwaypoint'],\n },\n });\n // Edit the module accordingly\n await Promise.all([\n ...missingWaypoints.map((waypoint) => {\n return takaro.command.commandControllerCreate({\n name: `waypoint ${getWaypointId(waypoint.key)} server ${gameServerId}`,\n trigger: getWaypointId(waypoint.key),\n helpText: `Teleport to waypoint ${getWaypointId(waypoint.key)}.`,\n function: teleportCommand.data.data[0].function.code,\n versionId: waypointsInstallation.versionId,\n });\n }),\n ...toDeleteWaypoints.map((waypointVar) => {\n return takaro.command.commandControllerRemove(waypointVar.id);\n }),\n ]);\n // Update permissions\n const existingPermissions = waypointsDefinition.latestVersion.permissions || [];\n const permissionInputDTOs = existingPermissions.map((permission) => ({\n permission: permission.permission,\n description: permission.description,\n friendlyName: permission.friendlyName,\n canHaveCount: permission.canHaveCount,\n }));\n // We need to filter out the permissions we deleted in the above lines\n const filteredPermissionsInputs = permissionInputDTOs.filter((permission) => {\n return !toDeleteWaypoints.some((waypoint) => permission.permission === `WAYPOINTS_USE_${waypoint.trigger.toUpperCase()}_${gameServerId}`);\n });\n const gameServer = (await takaro.gameserver.gameServerControllerGetOne(gameServerId)).data.data;\n await takaro.module.moduleControllerUpdate(waypointsInstallation.moduleId, {\n latestVersion: {\n permissions: [\n ...filteredPermissionsInputs,\n ...missingWaypoints.map((waypoint) => ({\n permission: `WAYPOINTS_USE_${getWaypointId(waypoint.key).toUpperCase()}_${gameServerId}`,\n description: `Use the waypoint ${getWaypointId(waypoint.key)} on ${gameServer.name}.`,\n friendlyName: `Use waypoint ${getWaypointId(waypoint.key)} on ${gameServer.name}`,\n canHaveCount: false,\n })),\n ],\n },\n });\n}\n//# sourceMappingURL=utils.js.map"
|
|
49
49
|
}
|
|
50
50
|
],
|
|
51
51
|
"permissions": [
|
package/package.json
CHANGED
|
@@ -25,6 +25,9 @@ const waypointsSetup = async function (this: IntegrationTest<WaypointsSetup>): P
|
|
|
25
25
|
await this.client.module.moduleInstallationsControllerInstallModule({
|
|
26
26
|
gameServerId: setupData.gameserver.id,
|
|
27
27
|
versionId: setupData.teleportsModule.latestVersion.id,
|
|
28
|
+
userConfig: JSON.stringify({
|
|
29
|
+
allowPublicTeleports: true,
|
|
30
|
+
}),
|
|
28
31
|
});
|
|
29
32
|
|
|
30
33
|
const playersRes = await this.client.player.playerControllerSearch();
|
|
@@ -36,10 +39,16 @@ const waypointsSetup = async function (this: IntegrationTest<WaypointsSetup>): P
|
|
|
36
39
|
);
|
|
37
40
|
|
|
38
41
|
const manageWaypointsPermission = await this.client.permissionCodesToInputs(['TELEPORTS_MANAGE_WAYPOINTS']);
|
|
42
|
+
const teleportsPermission = await this.client.permissionCodesToInputs(['TELEPORTS_USE']);
|
|
43
|
+
const publicTeleportsPermission = await this.client.permissionCodesToInputs(['TELEPORTS_CREATE_PUBLIC']);
|
|
39
44
|
const manageWaypointsRole = (
|
|
40
45
|
await this.client.role.roleControllerCreate({
|
|
41
46
|
name: 'ManageWaypoints',
|
|
42
|
-
permissions:
|
|
47
|
+
permissions: [
|
|
48
|
+
...manageWaypointsPermission,
|
|
49
|
+
{ permissionId: teleportsPermission[0].permissionId, count: 5 },
|
|
50
|
+
{ permissionId: publicTeleportsPermission[0].permissionId, count: 5 },
|
|
51
|
+
],
|
|
43
52
|
})
|
|
44
53
|
).data.data;
|
|
45
54
|
|
|
@@ -681,6 +690,58 @@ const tests = [
|
|
|
681
690
|
expect(waypointsModule.data.data[0].latestVersion.commands).to.be.lengthOf(2);
|
|
682
691
|
},
|
|
683
692
|
}),
|
|
693
|
+
new IntegrationTest<WaypointsSetup>({
|
|
694
|
+
group,
|
|
695
|
+
snapshot: false,
|
|
696
|
+
setup: waypointsSetup,
|
|
697
|
+
name: 'Reconciler does not pick up public teleports as waypoints',
|
|
698
|
+
test: async function () {
|
|
699
|
+
// Create a public teleport
|
|
700
|
+
// Create a waypoint
|
|
701
|
+
// One should be in the waypoints module, the other should not
|
|
702
|
+
|
|
703
|
+
const setTeleportEvents = (await new EventsAwaiter().connect(this.client)).waitForEvents(
|
|
704
|
+
GameEvents.CHAT_MESSAGE,
|
|
705
|
+
1,
|
|
706
|
+
);
|
|
707
|
+
|
|
708
|
+
await this.client.command.commandControllerTrigger(this.setupData.gameserver.id, {
|
|
709
|
+
msg: '/settp A',
|
|
710
|
+
playerId: this.setupData.moderator.id,
|
|
711
|
+
});
|
|
712
|
+
expect((await setTeleportEvents)[0].data.meta.msg).to.be.eq('Teleport A set.');
|
|
713
|
+
|
|
714
|
+
const setPublicTeleportEvents = (await new EventsAwaiter().connect(this.client)).waitForEvents(
|
|
715
|
+
GameEvents.CHAT_MESSAGE,
|
|
716
|
+
1,
|
|
717
|
+
);
|
|
718
|
+
await this.client.command.commandControllerTrigger(this.setupData.gameserver.id, {
|
|
719
|
+
msg: '/setpublic A',
|
|
720
|
+
playerId: this.setupData.moderator.id,
|
|
721
|
+
});
|
|
722
|
+
|
|
723
|
+
expect((await setPublicTeleportEvents)[0].data.meta.msg).to.be.eq('Teleport A is now public.');
|
|
724
|
+
|
|
725
|
+
const setWaypointEvents = (await new EventsAwaiter().connect(this.client)).waitForEvents(
|
|
726
|
+
GameEvents.CHAT_MESSAGE,
|
|
727
|
+
1,
|
|
728
|
+
);
|
|
729
|
+
await this.client.command.commandControllerTrigger(this.setupData.gameserver.id, {
|
|
730
|
+
msg: '/setwaypoint B',
|
|
731
|
+
playerId: this.setupData.moderator.id,
|
|
732
|
+
});
|
|
733
|
+
|
|
734
|
+
expect((await setWaypointEvents)[0].data.meta.msg).to.be.eq('Waypoint B set.');
|
|
735
|
+
const waypointsModule = await this.client.module.moduleControllerSearch({ filters: { name: ['Waypoints'] } });
|
|
736
|
+
if (!waypointsModule.data.data.length) {
|
|
737
|
+
throw new Error('Waypoints module not found');
|
|
738
|
+
}
|
|
739
|
+
expect(waypointsModule.data.data[0].latestVersion.commands).to.be.lengthOf(1);
|
|
740
|
+
expect(waypointsModule.data.data[0].latestVersion.commands[0].name).to.be.eq(
|
|
741
|
+
`waypoint B server ${this.setupData.gameserver.id}`,
|
|
742
|
+
);
|
|
743
|
+
},
|
|
744
|
+
}),
|
|
684
745
|
];
|
|
685
746
|
|
|
686
747
|
describe(group, function () {
|