mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-07-18 16:43:56 -05:00
compfeedevent backend routes
This commit is contained in:
parent
77bafaa575
commit
2a4dcbdba3
74
graphql-schemas/competitivefeedevent.js
Normal file
74
graphql-schemas/competitivefeedevent.js
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
const { gql, UserInputError } = require("apollo-server-express")
|
||||
const User = require("../mongoose-models/user")
|
||||
const CompetitiveFeedEvent = require("../mongoose-models/competitivefeedevent")
|
||||
|
||||
const typeDef = gql`
|
||||
extend type Mutation {
|
||||
addCompetitiveFeedEvent(
|
||||
event: CompetitiveFeedEventInput!
|
||||
lohiToken: String!
|
||||
): Boolean!
|
||||
}
|
||||
type CompetitiveFeedEvent {
|
||||
name: String!
|
||||
date: String!
|
||||
description: String!
|
||||
poster_discord_id: String!
|
||||
message_discord_id: String!
|
||||
message_url: String!
|
||||
discord_invite_url: String!
|
||||
picture_url: String
|
||||
}
|
||||
|
||||
input CompetitiveFeedEventInput {
|
||||
name: String!
|
||||
date: String!
|
||||
description: String!
|
||||
poster_discord_id: String!
|
||||
poster_username: String!
|
||||
poster_discriminator: String!
|
||||
message_discord_id: String!
|
||||
message_url: String!
|
||||
discord_invite_url: String!
|
||||
picture_url: String
|
||||
}
|
||||
`
|
||||
const resolvers = {
|
||||
Mutation: {
|
||||
addCompetitiveFeedEvent: async (root, args, ctx) => {
|
||||
console.log("args", args)
|
||||
if (args.lohiToken !== process.env.LOHI_TOKEN) {
|
||||
throw new UserInputError("Invalid token provided")
|
||||
}
|
||||
console.log("jaa")
|
||||
|
||||
const user = await User.find({ discord_id: args.poster_discord_id })
|
||||
if (!user) {
|
||||
const newUser = new User({
|
||||
discord_id: ctx.poster_discord_id,
|
||||
username: args.poster_username,
|
||||
discriminator: args.poster_discriminator,
|
||||
})
|
||||
await newUser.save()
|
||||
}
|
||||
|
||||
const compFeedEvent = await CompetitiveFeedEvent.findOne({
|
||||
name: args.event.name,
|
||||
})
|
||||
|
||||
if (!!compFeedEvent) {
|
||||
throw new UserInputError("tournament with this name already exists")
|
||||
}
|
||||
|
||||
const newCompFeedEvent = new CompetitiveFeedEvent({ ...args.event })
|
||||
await newCompFeedEvent.save()
|
||||
|
||||
return true
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
CompetitiveFeedEvent: typeDef,
|
||||
competitiveFeedEventResolvers: resolvers,
|
||||
}
|
||||
|
|
@ -11,7 +11,6 @@ const typeDef = gql`
|
|||
type Stats {
|
||||
build_count: Int!
|
||||
fa_count: Int!
|
||||
# top500_count: Int!
|
||||
user_count: Int!
|
||||
tournament_count: Int!
|
||||
}
|
||||
|
|
|
|||
23
mongoose-models/competitivefeedevent.js
Normal file
23
mongoose-models/competitivefeedevent.js
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
const mongoose = require("mongoose")
|
||||
|
||||
const competitiveFeedEventSchema = new mongoose.Schema({
|
||||
name: String,
|
||||
date: Date,
|
||||
description: String,
|
||||
poster_discord_id: String,
|
||||
message_discord_id: String,
|
||||
message_url: String,
|
||||
discord_invite_url: String,
|
||||
picture_url: String,
|
||||
})
|
||||
|
||||
competitiveFeedEventSchema.virtual("poster_discord_user", {
|
||||
ref: "User",
|
||||
localField: "poster_discord_id",
|
||||
foreignField: "discord_id",
|
||||
})
|
||||
|
||||
module.exports = mongoose.model(
|
||||
"CompetitiveFeedEvent",
|
||||
competitiveFeedEventSchema
|
||||
)
|
||||
|
|
@ -18,6 +18,10 @@ const {
|
|||
DetailedTournament,
|
||||
detailedTournamentResolvers,
|
||||
} = require("./graphql-schemas/detailedtournament")
|
||||
const {
|
||||
CompetitiveFeedEvent,
|
||||
competitiveFeedEventResolvers,
|
||||
} = require("./graphql-schemas/competitivefeedevent")
|
||||
const { FAPost, faPostResolvers } = require("./graphql-schemas/fapost")
|
||||
const { Plus, plusResolvers } = require("./graphql-schemas/plus")
|
||||
const { Team, teamResolvers } = require("./graphql-schemas/team")
|
||||
|
|
@ -51,6 +55,7 @@ const schema = makeExecutableSchema({
|
|||
Trend,
|
||||
Tournament,
|
||||
DetailedTournament,
|
||||
CompetitiveFeedEvent,
|
||||
FAPost,
|
||||
Plus,
|
||||
Team,
|
||||
|
|
@ -68,6 +73,7 @@ const schema = makeExecutableSchema({
|
|||
trendResolvers,
|
||||
tournamentResolvers,
|
||||
detailedTournamentResolvers,
|
||||
competitiveFeedEventResolvers,
|
||||
faPostResolvers,
|
||||
plusResolvers,
|
||||
teamResolvers,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user