routes.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. const api = require("express").Router();
  2. const { Collection } = require("discord.js");
  3. const { join } = require("path");
  4. let config;
  5. try {
  6. //Config for testing
  7. config = require("../dev-config");
  8. } catch {
  9. //Config for production
  10. config = require("../config");
  11. }
  12. const Auth = require("./Middlewares/Auth");
  13. const fs = require("fs");
  14. let CommandsDir = join(__dirname, "..", "commands");
  15. let Commands = [];
  16. fs.readdir(CommandsDir, (err, files) => {
  17. if (err) this.log(err);
  18. else
  19. files.forEach((file) => {
  20. let cmd = require(CommandsDir + "/" + file);
  21. if (!cmd.name || !cmd.description || !cmd.run) return;
  22. Commands.push({
  23. name: cmd.name,
  24. aliases: cmd.aliases,
  25. usage: cmd.usage,
  26. description: cmd.description,
  27. });
  28. });
  29. });
  30. api.get("/", (req, res) => {
  31. res.sendFile(join(__dirname, "..", "views", "index.html"));
  32. });
  33. api.get("/dashboard", Auth, (req, res) => {
  34. res.sendFile(join(__dirname, "..", "views", "dashboard.html"));
  35. });
  36. api.get("/servers", Auth, (req, res) => {
  37. res.sendFile(join(__dirname, "..", "views", "servers.html"));
  38. });
  39. api.get("/servers/:id", Auth, (req, res) => {
  40. if (!req.user.guilds.find((x) => x.id == req.params.id))
  41. return res.redirect("/servers");
  42. res.sendFile(join(__dirname, "..", "views", "server.html"));
  43. });
  44. api.get("/api/info", (req, res) => {
  45. res.send({
  46. ClientID: config.ClientID,
  47. Permissions: config.Permissions,
  48. Scopes: config.Scopes,
  49. Website: config.Website,
  50. CallbackURL: config.CallbackURL,
  51. });
  52. });
  53. api.get("/api/commands", (req, res) => {
  54. res.send({ commands: Commands });
  55. });
  56. api.get("/logout", (req, res) => {
  57. if (req.user) req.logout();
  58. res.redirect("/");
  59. });
  60. module.exports = api;