2024-07-23 18:49:21 -05:00
|
|
|
import type { NextApiResponse, NextApiRequest } from "next";
|
2024-08-08 17:56:40 -05:00
|
|
|
import { MongoClient } from "mongodb";
|
2024-07-23 18:49:21 -05:00
|
|
|
|
|
|
|
|
export default async function handler(
|
|
|
|
|
req: NextApiRequest,
|
2024-07-26 15:40:13 -05:00
|
|
|
res: NextApiResponse
|
2024-07-23 18:49:21 -05:00
|
|
|
) {
|
2024-08-03 09:51:45 -05:00
|
|
|
const { server } = req.query;
|
2024-07-23 18:49:21 -05:00
|
|
|
const client = new MongoClient(process.env.MONGO_DB as string);
|
|
|
|
|
|
|
|
|
|
await client.connect();
|
|
|
|
|
|
|
|
|
|
const db = client.db("mhsf");
|
|
|
|
|
const collection = db.collection("meta");
|
|
|
|
|
const find = await collection.find({ server: server }).toArray();
|
|
|
|
|
|
|
|
|
|
if (find.length != 0) {
|
|
|
|
|
const entry = find[0];
|
|
|
|
|
res.send({ result: entry.favorites });
|
|
|
|
|
} else {
|
|
|
|
|
res.send({ result: 0 });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
client.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function increaseNum(client: MongoClient, server: string) {
|
|
|
|
|
const db = client.db("mhsf");
|
|
|
|
|
const collection = db.collection("meta");
|
|
|
|
|
const find = await collection.find({ server: server }).toArray();
|
|
|
|
|
|
|
|
|
|
if (find.length == 0) {
|
2024-08-15 23:24:15 -05:00
|
|
|
collection.insertOne({ server: server, favorites: 1, date: new Date() });
|
2024-07-23 18:49:21 -05:00
|
|
|
} else {
|
|
|
|
|
const entry = find[0];
|
|
|
|
|
collection.findOneAndReplace(
|
|
|
|
|
{ server: server },
|
2024-08-15 23:24:15 -05:00
|
|
|
{ server: server, favorites: entry.favorites + 1, date: new Date() }
|
2024-07-23 18:49:21 -05:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function decreaseNum(client: MongoClient, server: string) {
|
|
|
|
|
const db = client.db("mhsf");
|
|
|
|
|
const collection = db.collection("meta");
|
|
|
|
|
const find = await collection.find({ server: server }).toArray();
|
|
|
|
|
|
|
|
|
|
if (find.length == 0) {
|
|
|
|
|
return;
|
|
|
|
|
// Physically is impossible
|
|
|
|
|
} else {
|
|
|
|
|
const entry = find[0];
|
|
|
|
|
collection.findOneAndReplace(
|
|
|
|
|
{ server: server },
|
2024-07-26 15:40:13 -05:00
|
|
|
{ server: server, favorites: entry.favorites - 1 }
|
2024-07-23 18:49:21 -05:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|