mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-09-12 14:16:04 -05:00
FIx can't delete tournaments as normal user
This commit is contained in:
@@ -25,7 +25,10 @@ import { requireUserId } from "~/features/auth/core/user.server";
|
||||
import * as CalendarRepository from "~/features/calendar/CalendarRepository.server";
|
||||
import * as ShowcaseTournaments from "~/features/front-page/core/ShowcaseTournaments.server";
|
||||
import { MapPool } from "~/features/map-list-generator/core/map-pool";
|
||||
import { clearTournamentDataCache } from "~/features/tournament-bracket/core/Tournament.server";
|
||||
import {
|
||||
clearTournamentDataCache,
|
||||
tournamentManagerData,
|
||||
} from "~/features/tournament-bracket/core/Tournament.server";
|
||||
import { useIsMounted } from "~/hooks/useIsMounted";
|
||||
import { i18next } from "~/modules/i18n/i18next.server";
|
||||
import {
|
||||
@@ -66,13 +69,20 @@ export const action: ActionFunction = async ({ params, request }) => {
|
||||
await CalendarRepository.findById({ id: parsedParams.id }),
|
||||
);
|
||||
|
||||
validate(
|
||||
canDeleteCalendarEvent({
|
||||
user,
|
||||
event,
|
||||
startTime: databaseTimestampToDate(event.startTimes[0]),
|
||||
}),
|
||||
);
|
||||
if (event.tournamentId) {
|
||||
validate(
|
||||
tournamentManagerData(event.tournamentId).stage.length === 0,
|
||||
"Tournament has already started",
|
||||
);
|
||||
} else {
|
||||
validate(
|
||||
canDeleteCalendarEvent({
|
||||
user,
|
||||
event,
|
||||
startTime: databaseTimestampToDate(event.startTimes[0]),
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
await CalendarRepository.deleteById({
|
||||
eventId: event.eventId,
|
||||
|
||||
@@ -9,8 +9,11 @@ import { getServerTournamentManager } from "./brackets-manager/manager.server";
|
||||
|
||||
const manager = getServerTournamentManager();
|
||||
|
||||
export const tournamentManagerData = (tournamentId: number) =>
|
||||
manager.get.tournamentData(tournamentId);
|
||||
|
||||
const combinedTournamentData = async (tournamentId: number) => ({
|
||||
data: manager.get.tournamentData(tournamentId),
|
||||
data: tournamentManagerData(tournamentId),
|
||||
ctx: notFoundIfFalsy(await TournamentRepository.findById(tournamentId)),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user