Compare commits

..

No commits in common. "c4251d9f51efa53b3a91532afbe303c4d2fa7210" and "590e7d8265a6f02e4096d8ba7c3875453885346e" have entirely different histories.

7 changed files with 54 additions and 216 deletions

View file

@ -10,7 +10,7 @@
"version": "0.0.0" "version": "0.0.0"
}, },
"paths": { "paths": {
"/api/boot/config": { "/api/config/boot": {
"get": { "get": {
"tags": ["Guild configs"], "tags": ["Guild configs"],
"summary": "Find a guild's config by ID", "summary": "Find a guild's config by ID",
@ -41,7 +41,7 @@
] ]
} }
}, },
"/api/{guildId}/config": { "/api/config/{guildId}": {
"get": { "get": {
"tags": ["Guild configs"], "tags": ["Guild configs"],
"summary": "Find a guild's config by ID", "summary": "Find a guild's config by ID",
@ -118,7 +118,7 @@
] ]
} }
}, },
"/api/{guildId}/tp_messages": { "/api/tp_messages/{guildId}": {
"get": { "get": {
"tags": ["Time planning messages"], "tags": ["Time planning messages"],
"summary": "Find the tp_messages of guild by ID", "summary": "Find the tp_messages of guild by ID",
@ -208,56 +208,7 @@
] ]
} }
}, },
"/api/{guildId}/matches": { "/api/match/{guildId}/{channelId}": {
"get": {
"tags": ["Matches"],
"summary": "Find all matches of guild by ID",
"description": "Returns tp_messages for a guild",
"operationId": "getMatchesOfGuildById",
"parameters": [
{
"name": "guildId",
"in": "path",
"description": "ID of guild's tp_messages to return",
"required": true,
"schema": {
"type": "string",
"format": "varchar(20)"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/tp_messages"
}
}
}
}
},
"204": {
"description": "Time planning not enabled for this guild"
},
"400": {
"description": "Invalid ID supplied"
},
"404": {
"description": "Guild not found"
}
},
"security": [
{
"api_key": []
}
]
}
},
"/api/{guildId}/matches/{channelId}": {
"post": { "post": {
"tags": ["Matches"], "tags": ["Matches"],
"summary": "Save a new created match in channel of guild by IDs", "summary": "Save a new created match in channel of guild by IDs",
@ -313,7 +264,7 @@
] ]
} }
}, },
"/api/{guildId}/matches/{channelId}/{matchMessageId}": { "/api/match/{guildId}/{channelId}/{matchMessageId}": {
"put": { "put": {
"tags": ["Matches"], "tags": ["Matches"],
"summary": "Set state for match of guild by IDs", "summary": "Set state for match of guild by IDs",
@ -378,6 +329,55 @@
} }
] ]
} }
},
"/api/match/{guildId}": {
"get": {
"tags": ["Matches"],
"summary": "Find all matches of guild by ID",
"description": "Returns tp_messages for a guild",
"operationId": "getMatchesOfGuildById",
"parameters": [
{
"name": "guildId",
"in": "path",
"description": "ID of guild's tp_messages to return",
"required": true,
"schema": {
"type": "string",
"format": "varchar(20)"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/tp_messages"
}
}
}
}
},
"204": {
"description": "Time planning not enabled for this guild"
},
"400": {
"description": "Invalid ID supplied"
},
"404": {
"description": "Guild not found"
}
},
"security": [
{
"api_key": []
}
]
}
} }
}, },
"components": { "components": {

View file

@ -1,48 +0,0 @@
import { APIEvent } from "@solidjs/start/server/types";
import { eq } from "drizzle-orm";
import db from "~/drizzle";
import { guilds } from "~/drizzle/schema";
export const GET = async ({ params }: APIEvent) => {
const guild = await db.query.guilds
.findFirst({
where: eq(guilds.id, params.guildId),
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
if (!guild)
return new Response(JSON.stringify({ error: "No such guild found." }), {
status: 404,
});
return guild;
};
export const DELETE = async ({ params }: APIEvent) => {
const guildQuery = await db.query.guilds
.findFirst({
where: eq(guilds.id, params.guildId),
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
if (!guildQuery)
return new Response(JSON.stringify({ error: "No such guild found." }), {
status: 404,
});
const guild = await db
.delete(guilds)
.where(eq(guilds.id, params.guildId))
.returning()
.execute();
return guild;
};

View file

@ -1,24 +0,0 @@
import { APIEvent } from "@solidjs/start/server/types";
import { eq } from "drizzle-orm";
import db from "~/drizzle";
import { guilds } from "~/drizzle/schema";
export const PUT = async ({ params }: APIEvent) => {
const guild = await db.query.guilds
.findFirst({
where: eq(guilds.id, params.guildId),
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
if (!guild)
return new Response(JSON.stringify({ error: "No such guild found." }), {
status: 404,
});
return "TODO";
// return guild.timePlanning;
};

View file

@ -1,24 +0,0 @@
import { APIEvent } from "@solidjs/start/server/types";
import { eq } from "drizzle-orm";
import db from "~/drizzle";
import { guilds } from "~/drizzle/schema";
export const POST = async ({ params }: APIEvent) => {
const guild = await db.query.guilds
.findFirst({
where: eq(guilds.id, params.guildId),
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
if (!guild)
return new Response(JSON.stringify({ error: "No such guild found." }), {
status: 404,
});
return "TODO";
// return guild.timePlanning;
};

View file

@ -1,24 +0,0 @@
import { APIEvent } from "@solidjs/start/server/types";
import { eq } from "drizzle-orm";
import db from "~/drizzle";
import { guilds } from "~/drizzle/schema";
export const GET = async ({ params }: APIEvent) => {
const guild = await db.query.guilds
.findFirst({
where: eq(guilds.id, params.guildId),
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
if (!guild)
return new Response(JSON.stringify({ error: "No such guild found." }), {
status: 404,
});
return "TODO";
// return guild.timePlanning;
};

View file

@ -1,28 +0,0 @@
import { APIEvent } from "@solidjs/start/server/types";
import { eq } from "drizzle-orm";
import db from "~/drizzle";
import { guilds } from "~/drizzle/schema";
export const GET = async ({ params }: APIEvent) => {
const guild = await db.query.guilds
.findFirst({
where: eq(guilds.id, params.guildId),
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
if (!guild)
return new Response(JSON.stringify({ error: "No such guild found." }), {
status: 404,
});
return "TODO";
// return guild.timePlanning;
};
export const PUT = async () => {
return "TODO";
};

View file

@ -1,14 +0,0 @@
import db from "~/drizzle";
export const GET = async () => {
const guilds = await db.query.guilds
.findMany({
with: {
timePlanning: { with: { messages: true } },
matches: true,
},
})
.execute();
return { guilds };
};