Created the PATCH /guild/:guildId route
This commit is contained in:
parent
c88519bd52
commit
de7a8ce4c1
@ -1,7 +1,10 @@
|
||||
import Router, {Response} from 'express';
|
||||
import {AuthenticatedRequest, hasRank} from "../middlewares/authenticate";
|
||||
import {Rank} from "../../models/User";
|
||||
import {getGuilds} from "../../controller/discord";
|
||||
import {canEditGuild, getGuilds} from "../../controller/discord";
|
||||
import {validateSchema} from "../../util/validate";
|
||||
import {getGuildById} from "../../controller/guild";
|
||||
import {patchGuild} from "../validations/guildValidation";
|
||||
|
||||
|
||||
const app = Router();
|
||||
@ -16,4 +19,25 @@ app.get("/", hasRank(Rank.USER), async (req: AuthenticatedRequest, res: Response
|
||||
});
|
||||
});
|
||||
|
||||
app.patch("/:guildId", hasRank(Rank.USER), async (req: AuthenticatedRequest, res: Response) => {
|
||||
const validationError = validateSchema(patchGuild, req.body);
|
||||
if (validationError) return res.status(400).json({message: validationError});
|
||||
|
||||
if (!await canEditGuild(req.user.refreshDate!, req.user.refreshToken, req.user.accessToken, req.params.guildId.toString())) {
|
||||
res.status(403).json({message: "You are not allowed to edit this guild"});
|
||||
return;
|
||||
}
|
||||
|
||||
const guild = await getGuildById(parseInt(req.params.guildId));
|
||||
|
||||
if (!guild) {
|
||||
res.status(404).json({message: "The provided guild is not registered"})
|
||||
return;
|
||||
}
|
||||
|
||||
await guild.update(req.body);
|
||||
|
||||
res.json({message: "The guild has been updated successfully"});
|
||||
});
|
||||
|
||||
module.exports = app;
|
Loading…
x
Reference in New Issue
Block a user