blob: 4e7590f17fee34ba5683cdb3b7688fa1132e7edd [file] [log] [blame]
Cleo00ccf362024-02-29 15:07:31 -05001const express = require("express");
2
3const passport = require("passport");
4
5const router = express.Router();
6
7router.get("/", async (req, res) => {
8 res.render("index", {});
9});
10router.get("/auth", async (req, res) => {
11 let auth;
12 if (req.user?.id) {
13 auth = await req.client.getUserData(req.user.id);
14
15 console.log(auth.minecraft)
16 console.log(req.query.minecraft)
17 console.log(!auth.minecraft && req.query.minecraft)
18
19 if (!auth.minecraft && req.query.minecraft) {
20 console.log("hit")
21 auth = await req.client.setMC(req.user.id, req.query.minecraft);
22
23 }
24 } else auth = null;
25
26 res.render("auth", {
27 tag: req.user ? req.user.tag : "Auth",
28 auth: auth,
29 bot: req.client,
30 user: req.user || null,
31 });
32});
33
34router.get(
35 "/login",
36 passport.authenticate("discord", {
37 failureRedirect: "/",
38 }),
39 async function (req, res) {
40 if (!req.user.id || !req.user.guilds) {
41 // failed auth page
42 res.redirect("/");
43 } else {
44 res.redirect("/auth");
45 }
46 }
47);
48
49router.get("/logout", async function (req, res, next) {
50 req.session.destroy(() => {
51 req.logout(function () {});
52 res.redirect("/");
53 });
54});
55
56module.exports = router;