forked from simrail/simrail.pro
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { Router } from 'express';
|
|
import { msToTime } from '../../util/time.js';
|
|
import { MProfile } from '../../mongo/profile.js';
|
|
import { MBlacklist } from '../../mongo/blacklist.js';
|
|
import { SteamUtil } from '../../util/SteamUtil.js';
|
|
|
|
|
|
|
|
export class ProfilesRoute {
|
|
static load() {
|
|
const app = Router();
|
|
|
|
|
|
app.get('/:id', async (req, res) => {
|
|
if (!req.params.id) return res.redirect('/');
|
|
const player = await MProfile.findOne({ steam: req.params.id });
|
|
if (!player) return res.render('profiles/private.ejs');
|
|
const blacklist = await MBlacklist.findOne({ steam: req.params.id! });
|
|
if (blacklist && blacklist.status) return res.render('profiles/private.ejs');
|
|
const steam = await SteamUtil.getPlayer(player?.steam!);
|
|
const steamStats = await SteamUtil.getPlayerStats(player?.steam!);
|
|
|
|
res.render('profiles/index.ejs', {
|
|
player, steam, steamStats: steamStats,
|
|
msToTime
|
|
});
|
|
})
|
|
|
|
return app;
|
|
}
|
|
} |