mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-11 05:05:07 -05:00
fixes #76
This commit is contained in:
parent
5213a55108
commit
e6ac7047dc
|
|
@ -308,7 +308,12 @@ const resolvers = {
|
|||
},
|
||||
searchForDraftCup: async (_, args) => {
|
||||
const tournament = await DetailedTournament.findOne({
|
||||
name: { $regex: new RegExp(args.name, "i") },
|
||||
name: {
|
||||
$regex: new RegExp(
|
||||
args.name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
}).populate("top_3_discord_users")
|
||||
|
||||
if (!tournament) throw new UserInputError("no draft cup with that name")
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ const resolvers = {
|
|||
const placements = await Placement.find({ weapon: args.weapon })
|
||||
.sort({ x_power: "desc" })
|
||||
.select({ weapon: 0 })
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -85,7 +85,7 @@ const resolvers = {
|
|||
throw new UserInputError("no id or twitter provided", {
|
||||
invalidArgs: args,
|
||||
})
|
||||
const player = await Player.findOne(searchCriteria).catch(e => {
|
||||
const player = await Player.findOne(searchCriteria).catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -97,7 +97,7 @@ const resolvers = {
|
|||
|
||||
const placements = await Placement.find({ unique_id: player.unique_id })
|
||||
.sort({ year: "desc", month: "desc" })
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -112,19 +112,24 @@ const resolvers = {
|
|||
.sort({ x_power: "desc" })
|
||||
.limit(100)
|
||||
.select({ name: 1, weapon: 1, x_power: 1, unique_id: 1 })
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
})
|
||||
} else {
|
||||
placements = await Placement.find({
|
||||
name: { $regex: args.name, $options: "i" },
|
||||
name: {
|
||||
$regex: new RegExp(
|
||||
args.name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
.sort({ x_power: "desc" })
|
||||
.limit(100)
|
||||
.select({ name: 1, weapon: 1, x_power: 1, unique_id: 1 })
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -133,7 +138,7 @@ const resolvers = {
|
|||
|
||||
let uids = []
|
||||
|
||||
return placements.filter(p => {
|
||||
return placements.filter((p) => {
|
||||
if (uids.length === 21) {
|
||||
return false
|
||||
}
|
||||
|
|
@ -151,7 +156,12 @@ const resolvers = {
|
|||
const searchCriteria = {}
|
||||
|
||||
if (args.name)
|
||||
searchCriteria.name = { $regex: new RegExp(args.name, "i") }
|
||||
searchCriteria.name = {
|
||||
$regex: new RegExp(
|
||||
args.name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
}
|
||||
if (args.weapon) searchCriteria.weapon = args.weapon
|
||||
if (args.mode) searchCriteria.mode = args.mode
|
||||
if (args.unique_id) searchCriteria.unique_id = args.unique_id
|
||||
|
|
@ -160,7 +170,7 @@ const resolvers = {
|
|||
|
||||
const placementCount = await Placement.countDocuments(
|
||||
searchCriteria
|
||||
).catch(e => {
|
||||
).catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -180,7 +190,7 @@ const resolvers = {
|
|||
.limit(perPage)
|
||||
.sort({ x_power: "desc" })
|
||||
.populate("player")
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -81,13 +81,13 @@ const resolvers = {
|
|||
if (!args.id.match(/^[0-9a-fA-F]{24}$/)) return null
|
||||
const rounds = await Round.find({ tournament_id: args.id })
|
||||
.sort({ round_number: "asc", game_number: "asc" })
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
})
|
||||
|
||||
const tournament = await Tournament.findById(args.id).catch(e => {
|
||||
const tournament = await Tournament.findById(args.id).catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -99,7 +99,8 @@ const resolvers = {
|
|||
},
|
||||
searchForTournaments: async (root, args) => {
|
||||
Object.keys(args).forEach(
|
||||
key => (args[key] == null || args[key].length === 0) && delete args[key]
|
||||
(key) =>
|
||||
(args[key] == null || args[key].length === 0) && delete args[key]
|
||||
)
|
||||
|
||||
const tournamentsPerPage = 18
|
||||
|
|
@ -112,14 +113,18 @@ const resolvers = {
|
|||
if (args.team_name) {
|
||||
roundSearchCriteria.$or.push({
|
||||
winning_team_name: {
|
||||
$regex: args.team_name,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.team_name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
roundSearchCriteria.$or.push({
|
||||
losing_team_name: {
|
||||
$regex: args.team_name,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.team_name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
@ -127,14 +132,18 @@ const resolvers = {
|
|||
if (args.player_name) {
|
||||
roundSearchCriteria.$or.push({
|
||||
winning_team_players: {
|
||||
$regex: args.player_name,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.player_name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
roundSearchCriteria.$or.push({
|
||||
losing_team_players: {
|
||||
$regex: args.player_name,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.player_name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
@ -142,14 +151,18 @@ const resolvers = {
|
|||
if (args.unique_id) {
|
||||
roundSearchCriteria.$or.push({
|
||||
winning_team_unique_ids: {
|
||||
$regex: args.unique_id,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.unique_id.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
roundSearchCriteria.$or.push({
|
||||
losing_team_unique_ids: {
|
||||
$regex: args.unique_id,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.unique_id.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
@ -206,13 +219,15 @@ const resolvers = {
|
|||
|
||||
if (args.tournament_name)
|
||||
tournamentSearchCriteria.name = {
|
||||
$regex: args.tournament_name,
|
||||
$options: "i",
|
||||
$regex: new RegExp(
|
||||
args.tournament_name.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"),
|
||||
"i"
|
||||
),
|
||||
}
|
||||
|
||||
const tournamentCount = await Tournament.countDocuments(
|
||||
tournamentSearchCriteria
|
||||
).catch(e => {
|
||||
).catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
@ -231,7 +246,7 @@ const resolvers = {
|
|||
.skip(tournamentsPerPage * currentPage)
|
||||
.limit(tournamentsPerPage)
|
||||
.sort({ date: "desc" })
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
throw new UserInputError(e.message, {
|
||||
invalidArgs: args,
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user