Files
itsc/pages/api/time/ranges/[id].js
2022-03-31 12:25:54 +08:00

62 lines
1.3 KiB
JavaScript

import {
deleteTimeRange,
getLimit,
authenticate,
updateUsernameWithLimit,
} from "../../../../libs/db";
export default function handler(req, res) {
// check if id is valid
const { id } = req.query;
if (id === undefined) {
res.status(400).json({
error: `缺少参数 id`,
});
return;
}
// delete method
if (req.method === "DELETE") {
// authenticate
const { token } = req.body;
if (!authenticate(token)) {
console.log("[DELETE] Authentication failed");
res.status(401).json({
error: `token ${token} 验证失败`,
});
return;
}
deleteTimeRange.run(id);
// update username
} else if (req.method === "PUT") {
// check if id is valid
// check if username is valid
const { username } = req.body;
if (username === undefined) {
res.status(400).json({
error: `缺少参数 username`,
});
return;
}
try {
const limit = getLimit();
updateUsernameWithLimit(username, id, limit);
} catch (err) {
res.status(400).json({
error: err.message,
});
return;
}
// not allow
} else {
res.status(405).send({ error: "方法" + req.method + "不被允许" });
}
res.status(200).json({
success: true,
});
}