mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-25 11:43:07 +01:00
removed build dir
This commit is contained in:
parent
792f3c53d4
commit
83ed84c4de
2
.gitignore
vendored
2
.gitignore
vendored
@ -10,3 +10,5 @@ config.json
|
||||
|
||||
.vscode/settings.json
|
||||
api/assets/plugins/*.js
|
||||
|
||||
build
|
||||
|
@ -1,118 +0,0 @@
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var _a;
|
||||
import "dotenv/config";
|
||||
import express from "express";
|
||||
import cookieParser from "cookie-parser";
|
||||
import { initDatabase, generateToken, User, Config } from "@fosscord/util";
|
||||
import path from "path";
|
||||
import fetch from "node-fetch";
|
||||
// apparently dirname doesn't exist in modules, nice
|
||||
/* https://stackoverflow.com/a/62892482 */
|
||||
import { fileURLToPath } from "url";
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const app = express();
|
||||
app.use(cookieParser());
|
||||
const port = process.env.PORT;
|
||||
class Discord {
|
||||
}
|
||||
_a = Discord;
|
||||
Discord.getAccessToken = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const { code } = req.query;
|
||||
const body = new URLSearchParams(Object.entries({
|
||||
client_id: process.env.DISCORD_CLIENT_ID,
|
||||
client_secret: process.env.DISCORD_SECRET,
|
||||
redirect_uri: process.env.DISCORD_REDIRECT,
|
||||
code: code,
|
||||
grant_type: "authorization_code",
|
||||
})).toString();
|
||||
const resp = yield fetch("https://discord.com/api/oauth2/token", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
},
|
||||
body: body
|
||||
});
|
||||
const json = yield resp.json();
|
||||
if (json.error)
|
||||
return null;
|
||||
return {
|
||||
access_token: json.access_token,
|
||||
token_type: json.token_type,
|
||||
expires_in: json.expires_in,
|
||||
refresh_token: json.refresh_token,
|
||||
scope: json.scope,
|
||||
};
|
||||
});
|
||||
Discord.getUserDetails = (token) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const resp = yield fetch("https://discord.com/api/users/@me", {
|
||||
headers: {
|
||||
"Authorization": `Bearer ${token}`,
|
||||
}
|
||||
});
|
||||
const json = yield resp.json();
|
||||
if (!json.username || !json.email)
|
||||
return null; // eh, deal with bad code later
|
||||
return {
|
||||
id: json.id,
|
||||
email: json.email,
|
||||
username: json.username,
|
||||
};
|
||||
});
|
||||
const handlers = {
|
||||
"discord": Discord,
|
||||
};
|
||||
app.get("/oauth/:type", (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const { type } = req.params;
|
||||
if (!type)
|
||||
return res.sendStatus(400);
|
||||
const handler = handlers[type];
|
||||
if (!handler)
|
||||
return res.sendStatus(400);
|
||||
const data = yield handler.getAccessToken(req, res);
|
||||
if (!data)
|
||||
return res.sendStatus(500);
|
||||
const details = yield handler.getUserDetails(data.access_token);
|
||||
if (!details)
|
||||
return res.sendStatus(500);
|
||||
// temp dirty solution
|
||||
const whitelist = [
|
||||
"226230010132824066",
|
||||
"84022289024159744",
|
||||
"841745750576726057",
|
||||
"398941530053672962", // erkinalp
|
||||
];
|
||||
if (whitelist.indexOf(details.id) === -1)
|
||||
return res.sendStatus(403);
|
||||
let user = yield User.findOne({ where: { email: details.email } });
|
||||
if (!user) {
|
||||
user = yield User.register({
|
||||
email: details.email,
|
||||
username: details.username,
|
||||
req
|
||||
});
|
||||
}
|
||||
const token = yield generateToken(user.id);
|
||||
res.cookie("token", token);
|
||||
res.sendFile(path.join(__dirname, "../public/login.html"));
|
||||
}));
|
||||
app.get("/app", (req, res) => res.sendStatus(200));
|
||||
app.get("*", (req, res) => {
|
||||
res.sendFile(path.join(__dirname, "../public/login.html"));
|
||||
});
|
||||
(() => __awaiter(void 0, void 0, void 0, function* () {
|
||||
yield initDatabase();
|
||||
yield Config.init();
|
||||
app.listen(port, () => {
|
||||
console.log(`Listening on port ${port}`);
|
||||
});
|
||||
}))();
|
||||
//# sourceMappingURL=index.js.map
|
@ -1 +0,0 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
Loading…
Reference in New Issue
Block a user