Skip to content

Commit

Permalink
Ensure a match is scheduled before setting a team size or map.
Browse files Browse the repository at this point in the history
Fixes #644.
  • Loading branch information
roncli committed May 18, 2023
1 parent 656fdc3 commit 4784ef5
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 2 deletions.
2 changes: 2 additions & 0 deletions src/discord/commands/suggestmap.js
Expand Up @@ -111,6 +111,7 @@ class SuggestMap {
await Validation.challengeShouldNotBeLocked(interaction, challenge, member);
await Validation.challengeShouldNotBePenalized(interaction, challenge, member);
await Validation.challengeShouldHaveTeamSize(interaction, challenge, member);
await Validation.challengeShouldBeScheduled(interaction, challenge, member);
const checkMap = await Validation.mapShouldBeValid(interaction, challenge.details.gameType, interaction.options.getString("map", true), member);
Validation.challengeHomesShouldNotIncludeMap(interaction, challenge, checkMap, member);

Expand Down Expand Up @@ -157,6 +158,7 @@ class SuggestMap {
await Validation.challengeShouldNotBeConfirmed(interaction, challenge, buttonMember);
await Validation.challengeShouldNotBeLocked(interaction, challenge, buttonMember);
await Validation.challengeShouldNotBePenalized(interaction, challenge, buttonMember);
await Validation.challengeShouldBeScheduled(interaction, challenge, buttonMember);
map = await Validation.mapShouldBeValid(interaction, challenge.details.gameType, interaction.options.getString("map", true), buttonMember);
await Validation.teamsShouldBeDifferent(interaction, team, checkTeam, buttonMember, "but someone from the other team has to confirm the suggested map.", true);
} catch (err) {
Expand Down
2 changes: 2 additions & 0 deletions src/discord/commands/suggestrandommap.js
Expand Up @@ -90,6 +90,7 @@ class SuggestRandomMap {
await Validation.challengeShouldNotBeLocked(interaction, challenge, member);
await Validation.challengeShouldNotBePenalized(interaction, challenge, member);
await Validation.challengeShouldHaveTeamSize(interaction, challenge, member);
await Validation.challengeShouldBeScheduled(interaction, challenge, member);
const checkMap = await Validation.randomMapShouldExist(interaction, challenge, member);

const otherTeam = challenge.challengingTeam.id === checkTeam.id ? challenge.challengedTeam : challenge.challengingTeam;
Expand Down Expand Up @@ -135,6 +136,7 @@ class SuggestRandomMap {
await Validation.challengeShouldNotBeConfirmed(interaction, challenge, buttonMember);
await Validation.challengeShouldNotBeLocked(interaction, challenge, buttonMember);
await Validation.challengeShouldNotBePenalized(interaction, challenge, buttonMember);
await Validation.challengeShouldBeScheduled(interaction, challenge, buttonMember);
map = await Validation.mapShouldBeValid(interaction, challenge.details.gameType, checkMap, buttonMember);
await Validation.teamsShouldBeDifferent(interaction, team, checkTeam, buttonMember, "but someone from the other team has to confirm the randomly suggested map.", true);
} catch (err) {
Expand Down
2 changes: 2 additions & 0 deletions src/discord/commands/suggestteamsize.js
Expand Up @@ -119,6 +119,7 @@ class SuggestTeamSize {
await Validation.challengeShouldHaveDetails(interaction, challenge, member);
await Validation.challengeShouldNotBeVoided(interaction, challenge, member);
await Validation.challengeShouldNotBeConfirmed(interaction, challenge, member);
await Validation.challengeShouldBeScheduled(interaction, challenge, member);

const otherTeam = challenge.challengingTeam.id === checkTeam.id ? challenge.challengedTeam : challenge.challengingTeam;

Expand Down Expand Up @@ -162,6 +163,7 @@ class SuggestTeamSize {
await Validation.challengeShouldNotBeVoided(interaction, challenge, buttonMember);
await Validation.challengeShouldNotBeConfirmed(interaction, challenge, buttonMember);
await Validation.teamsShouldBeDifferent(interaction, team, checkTeam, buttonMember, "but someone from the other team has to confirm the suggested team size.", true);
await Validation.challengeShouldBeScheduled(interaction, challenge, buttonMember);
} catch (err) {
Validation.logButtonError(interaction, buttonInteraction, err);
return;
Expand Down
4 changes: 2 additions & 2 deletions src/discord/validation.js
@@ -1,7 +1,7 @@
/**
* @typedef {import("../../types/azureTypes").Server} AzureTypes.Server
* @typedef {import("../../types/ChallengeTypes").GameBoxScore} ChallengeTypes.GameBoxScore
* @typedef {import("../../types/ChallengeTypes").GamePlayerStatsByTeam} ChallengeTypes.GamePlayerStatsByTeam
* @typedef {import("../../types/challengeTypes").GameBoxScore} ChallengeTypes.GameBoxScore
* @typedef {import("../../types/challengeTypes").GamePlayerStatsByTeam} ChallengeTypes.GamePlayerStatsByTeam
* @typedef {import("discord.js").ButtonInteraction} DiscordJs.ButtonInteraction
* @typedef {import("discord.js").ChatInputCommandInteraction} DiscordJs.ChatInputCommandInteraction
* @typedef {import("discord.js").GuildMember} DiscordJs.GuildMember
Expand Down

0 comments on commit 4784ef5

Please sign in to comment.