Allow streamer to set vote point values
This commit is contained in:
parent
fcd8f2b197
commit
60defb7ea6
6 changed files with 133 additions and 38 deletions
44
src/app.ts
44
src/app.ts
|
@ -285,6 +285,44 @@ app.post("/api/updateColors", async (request, response) => {
|
|||
response.send('Successfully updated colors');
|
||||
});
|
||||
|
||||
app.post("/api/updateVotePoints", async (request, response) => {
|
||||
if (request.session) await validateApiToken(request.session);
|
||||
if (!request.session || !request.session.user) {
|
||||
response.status(401);
|
||||
response.send("Session expired; please log in again");
|
||||
return;
|
||||
}
|
||||
var streamerid = await db.query(queries.getStreamerId).then((result: pg.QueryResult) => result.rows[0]['userid']);
|
||||
if (request.session.user.id != streamerid) {
|
||||
response.status(401);
|
||||
response.send("You are not the streamer");
|
||||
return;
|
||||
}
|
||||
if (!request.body.user) {
|
||||
response.status(400);
|
||||
response.send("Missing user");
|
||||
return;
|
||||
}
|
||||
if (!request.body.follower) {
|
||||
response.status(400);
|
||||
response.send("Missing follower");
|
||||
return;
|
||||
}
|
||||
if (!request.body.subscriber) {
|
||||
response.status(400);
|
||||
response.send("Missing subscriber");
|
||||
return;
|
||||
}
|
||||
var user = request.body.user as number;
|
||||
var follower = request.body.follower as number;
|
||||
var subscriber = request.body.subscriber as number;
|
||||
response.type('text/plain');
|
||||
await db.query(Object.assign(queries.updateVotePoints,{ values: [user,follower,subscriber] }))
|
||||
.catch((e: any) => errorHandler(request,response,e));
|
||||
response.status(200);
|
||||
response.send('Successfully updated page title');
|
||||
});
|
||||
|
||||
app.post("/api/deleteRequest", async (request, response) => {
|
||||
if (request.session) await validateApiToken(request.session);
|
||||
if (!request.session || !request.session.user) {
|
||||
|
@ -439,10 +477,9 @@ app.get("/", async (request, response) => {
|
|||
loggedIn: false,
|
||||
clientId: config.twitchClientId,
|
||||
urlPrefix: config.urlPrefix,
|
||||
pageTitle: streamerConfig.title,
|
||||
streamerName: streamerInfo['displayname'],
|
||||
streamerProfilePicture: streamerInfo['imageurl'],
|
||||
colors: streamerConfig.colors
|
||||
config: streamerConfig,
|
||||
});
|
||||
} else {
|
||||
var validStates = JSON.stringify((await db.query(queries.getValidStates).then((result: pg.QueryResult) => result.rows)).map((row: any) => row.state));
|
||||
|
@ -452,10 +489,9 @@ app.get("/", async (request, response) => {
|
|||
userProfilePicture: request.session.user.profile_image_url,
|
||||
validStates: validStates,
|
||||
isStreamer: streamerInfo['userid'] == request.session.user.id,
|
||||
pageTitle: streamerConfig.title,
|
||||
streamerName: streamerInfo['displayname'],
|
||||
streamerProfilePicture: streamerInfo['imageurl'],
|
||||
colors: streamerConfig.colors
|
||||
config: streamerConfig,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
@ -47,6 +47,11 @@ export const updateColors = {
|
|||
text: "UPDATE config SET colors = $1"
|
||||
}
|
||||
|
||||
export const updateVotePoints = {
|
||||
name: "updateVotePoints",
|
||||
text: "CALL update_vote_points($1,$2,$3)"
|
||||
}
|
||||
|
||||
// Request-related queries
|
||||
export const getRequests = {
|
||||
name: "getRequests",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue