mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-09-14 07:06:14 -05:00
detailed tournament backend progress
This commit is contained in:
@@ -1,14 +1,12 @@
|
||||
const { UserInputError, gql } = require("apollo-server-express")
|
||||
const Tournament = require("../mongoose-models/tournament")
|
||||
const Round = require("../mongoose-models/round")
|
||||
const DetailedTournament = require("../mongoose-models/detailedtournament")
|
||||
const DetailedSet = require("../mongoose-models/detailedset")
|
||||
|
||||
const typeDef = gql`
|
||||
extend type Query {}
|
||||
|
||||
extend type Mutation {
|
||||
addTournament(
|
||||
addDetailedTournament(
|
||||
tournament: DetailedTournamentInput!
|
||||
rounds: [DetailedRoundInput!]!
|
||||
sets: [DetailedSetInput!]!
|
||||
lanistaToken: String!
|
||||
): Boolean!
|
||||
}
|
||||
@@ -17,7 +15,15 @@ const typeDef = gql`
|
||||
name: String!
|
||||
bracket_url: String!
|
||||
date: String!
|
||||
top_3_team_names: [[String]!]!
|
||||
top_3_team_names: [String!]!
|
||||
top_3_discord_ids: [[String]!]!
|
||||
}
|
||||
|
||||
type DetailedTournament {
|
||||
name: String!
|
||||
bracket_url: String!
|
||||
date: String!
|
||||
top_3_team_names: [String!]!
|
||||
top_3_discord_ids: [[String]!]!
|
||||
}
|
||||
|
||||
@@ -27,16 +33,8 @@ const typeDef = gql`
|
||||
stage: String!
|
||||
mode: Mode!
|
||||
duration: Int!
|
||||
winners: TeamInfo!
|
||||
losers: TeamInfo!
|
||||
}
|
||||
|
||||
type DetailedTournament {
|
||||
name: String!
|
||||
bracket_url: String!
|
||||
date: String!
|
||||
top_3_team_names: [[String]!]!
|
||||
top_3_discord_ids: [[String]!]!
|
||||
winners: TeamInfoInput!
|
||||
losers: TeamInfoInput!
|
||||
}
|
||||
|
||||
type DetailedSet {
|
||||
@@ -51,6 +49,12 @@ const typeDef = gql`
|
||||
losers: TeamInfo!
|
||||
}
|
||||
|
||||
input TeamInfoInput {
|
||||
team_name: String!
|
||||
players: [DetailedPlayerInput!]!
|
||||
score: Int!
|
||||
}
|
||||
|
||||
type TeamInfo {
|
||||
team_name: String!
|
||||
players: [DetailedPlayer!]!
|
||||
@@ -58,6 +62,19 @@ const typeDef = gql`
|
||||
score: Int!
|
||||
}
|
||||
|
||||
input DetailedPlayerInput {
|
||||
discord_id: String!
|
||||
weapon: String!
|
||||
main_abilities: [Ability]!
|
||||
sub_abilities: [Ability]!
|
||||
kills: Int!
|
||||
assists: Int!
|
||||
deaths: Int!
|
||||
specials: Int!
|
||||
paint: Int!
|
||||
gear: [String]!
|
||||
}
|
||||
|
||||
type DetailedPlayer {
|
||||
discord_id: String!
|
||||
weapon: String!
|
||||
@@ -84,10 +101,21 @@ const typeDef = gql`
|
||||
`
|
||||
|
||||
const resolvers = {
|
||||
Query: {},
|
||||
Mutation: {
|
||||
addDetailedTournament: async (root, args) => {
|
||||
console.log("args", args)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
DetailedTournament: typeDef,
|
||||
detailedTournamentResolvers: resolvers,
|
||||
}
|
||||
|
||||
/*{"tournament": {"name": "Test Tournament #1", "bracket_url": "www.google.com", "date": "1585006225", "top_3_team_names": ["Team 1", "Team 2", "Team 3"] "top_3_discord_ids": [["123", "123", "123", "123"], ["123", "123", "123", "123"], ["123", "123", "123", "123"]]}, "sets": {"round_number": 1, "game_number: 1, stage: "The Reef", mode: "SZ", duration: 300, winners: {"team_name": "Cool Team", players: [{"discord_id": "123", "weapon": "Tentatek Splattershot", "main_abilities": ["ISM", "ISM", "ISM"], "sub_abilities": ["ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM"], "kills": 1, "assists": 1, "deaths": 1, "specials": 1, "paint": 1000, "gear": ["asd", "asd", "asd"]}], "score": 100}, losers: {"team_name": "Cool Team", players: [{"discord_id": "123", "weapon": "Tentatek Splattershot", "main_abilities": ["ISM", "ISM", "ISM"], "sub_abilities": ["ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM"], "kills": 1, "assists": 1, "deaths": 1, "specials": 1, "paint": 1000, "gear": ["asd", "asd", "asd"]}], "score": 100}}, "lanistaToken": "asd"}
|
||||
|
||||
|
||||
|
||||
//player
|
||||
{"team_name": "Cool Team", players: [{"discord_id": "123", "weapon": "Tentatek Splattershot", "main_abilities": ["ISM", "ISM", "ISM"], "sub_abilities": ["ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM", "ISM"], "kills": 1, "assists": 1, "deaths": 1, "specials": 1, "paint": 1000, "gear": ["asd", "asd", "asd"]}], "score": 100}*/
|
||||
|
||||
36
mongoose-models/detailedset.js
Normal file
36
mongoose-models/detailedset.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const mongoose = require("mongoose")
|
||||
|
||||
const Player = {
|
||||
discord_id: String,
|
||||
weapon: String,
|
||||
main_abilities: [String],
|
||||
sub_abilities: [String],
|
||||
kills: Number,
|
||||
assists: Number,
|
||||
deaths: Number,
|
||||
specials: Number,
|
||||
paint: Number,
|
||||
gear: [String],
|
||||
}
|
||||
|
||||
const TeamInfo = {
|
||||
team_name: String,
|
||||
players: [Player],
|
||||
score: Number,
|
||||
}
|
||||
|
||||
const detailedSetSchema = new mongoose.Schema({
|
||||
tournament_id: {
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
ref: "DetailedTournament",
|
||||
},
|
||||
round_number: Number,
|
||||
game_number: Number,
|
||||
stage: String,
|
||||
mode: String,
|
||||
duration: Number,
|
||||
winners: TeamInfo,
|
||||
losers: TeamInfo,
|
||||
})
|
||||
|
||||
module.exports = mongoose.model("DetailedSet", detailedSetSchema)
|
||||
11
mongoose-models/detailedtournament.js
Normal file
11
mongoose-models/detailedtournament.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const mongoose = require("mongoose")
|
||||
|
||||
const detailedTournamentSchema = new mongoose.Schema({
|
||||
name: String,
|
||||
bracket_url: String,
|
||||
date: Date,
|
||||
top_3_team_names: [[String]],
|
||||
top_3_discord_ids: [[String]],
|
||||
})
|
||||
|
||||
module.exports = mongoose.model("DetailedTournament", detailedTournamentSchema)
|
||||
@@ -14,6 +14,10 @@ const {
|
||||
Tournament,
|
||||
tournamentResolvers,
|
||||
} = require("./graphql-schemas/tournament")
|
||||
const {
|
||||
DetailedTournament,
|
||||
detailedTournamentResolvers,
|
||||
} = require("./graphql-schemas/detailedtournament")
|
||||
const { FAPost, faPostResolvers } = require("./graphql-schemas/fapost")
|
||||
const { Plus, plusResolvers } = require("./graphql-schemas/plus")
|
||||
const { Team, teamResolvers } = require("./graphql-schemas/team")
|
||||
@@ -46,6 +50,7 @@ const schema = makeExecutableSchema({
|
||||
Link,
|
||||
Trend,
|
||||
Tournament,
|
||||
DetailedTournament,
|
||||
FAPost,
|
||||
Plus,
|
||||
Team,
|
||||
@@ -62,6 +67,7 @@ const schema = makeExecutableSchema({
|
||||
linkResolvers,
|
||||
trendResolvers,
|
||||
tournamentResolvers,
|
||||
detailedTournamentResolvers,
|
||||
faPostResolvers,
|
||||
plusResolvers,
|
||||
teamResolvers,
|
||||
|
||||
Reference in New Issue
Block a user