Get page title and colors from database

See #18
This commit is contained in:
Dessa Simpson 2021-02-21 20:13:47 -07:00
parent 2e5762c029
commit 1c34b3f013
5 changed files with 67 additions and 6 deletions

View file

@ -302,7 +302,7 @@ app.get("/callback", async (request, response) => {
app.get("/", async (request, response) => {
if (request.session) await validateApiToken(request.session);
var streamerInfo = await db.query(queries.getStreamerInfo).then((result: pg.QueryResult) => result.rows[0]);
var validStates = JSON.stringify((await db.query(queries.getValidStates).then((result: pg.QueryResult) => result.rows)).map((row: any) => row.state));
var config = await db.query(queries.getConfig).then((result: pg.QueryResult) => result.rows[0]);
if (typeof streamerInfo == 'undefined') {
response.redirect(307, `https://id.twitch.tv/oauth2/authorize?client_id=${config.twitchClientId}&redirect_uri=${config.urlPrefix}/callback&response_type=code&scope=channel:read:subscriptions moderation:read`);
return;
@ -312,22 +312,34 @@ app.get("/", async (request, response) => {
loggedIn: false,
clientId: config.twitchClientId,
urlPrefix: config.urlPrefix,
pageTitle: config.title,
streamerName: streamerInfo['displayname'],
streamerProfilePicture: streamerInfo['imageurl']
});
} else {
var validStates = JSON.stringify((await db.query(queries.getValidStates).then((result: pg.QueryResult) => result.rows)).map((row: any) => row.state));
response.render('main.eta', {
loggedIn: true,
userName: request.session.user.display_name,
userProfilePicture: request.session.user.profile_image_url,
validStates: validStates,
isStreamer: streamerInfo['userid'] == request.session.user.id,
pageTitle: config.title,
streamerName: streamerInfo['displayname'],
streamerProfilePicture: streamerInfo['imageurl']
});
}
});
app.get("/colors.css", async (_request, response) => {
var streamerInfo = await db.query(queries.getStreamerInfo).then((result: pg.QueryResult) => result.rows[0]);
var colors = await db.query(queries.getConfig).then((result: pg.QueryResult) => result.rows[0]['colors']);
console.log(colors);
if (typeof streamerInfo == 'undefined') return;
response.contentType("text/css");
response.render('colors.eta', colors);
});
// Streamer Panel
//app.get("/streamer/", async (request, response) => {
//

View file

@ -26,6 +26,11 @@ export const getStreamerInfo = {
text: "SELECT userid,displayname,imageurl FROM streamer_user_vw"
}
export const getConfig = {
name: "getConfig",
text: "SELECT * FROM config"
}
export const updateStreamer = {
name: "updateStreamer",
text: "INSERT INTO streamer (userid,tokenPair) VALUES ($1,$2)\