learn-request-queue/src/queries.ts

138 lines
3.2 KiB
TypeScript

// User-related queries
export const updateUser = {
name: "updateUser",
text: "INSERT INTO users (userid,displayName,imageUrl) VALUES ($1,$2,$3)\
ON CONFLICT (userid) DO UPDATE SET displayName = $2, imageUrl = $3"
}
export const checkBan = {
name: "checkBan",
text: "SELECT userid FROM bans WHERE userid = $1"
}
// Streamer-related queries
export const getStreamerId = {
name: "getStreamerId",
text: "SELECT userid FROM streamer"
}
export const getStreamerIdToken = {
name: "getStreamerIdToken",
text: "SELECT userid,tokenpair FROM streamer"
}
export const getStreamerInfo = {
name: "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)\
ON CONFLICT (userid) DO UPDATE SET tokenPair = $2"
}
export const updatePageTitle = {
name: "updatePageTitle",
text: "UPDATE config SET title = $1"
}
export const updateColors = {
name: "updateColors",
text: "UPDATE config SET colors = $1"
}
export const updateVotePoints = {
name: "updateVotePoints",
text: "CALL update_vote_points($1,$2,$3)"
}
export const getRequestsTotal = {
name: "getRequestsTotal",
text: "SELECT COUNT(*) FROM requests_vw \
JOIN states ON requests_vw.state = states.state WHERE active"
}
export const getAllRequestsTotal = {
name: "getAllRequestsTotal",
text: "SELECT COUNT(*) FROM requests_vw"
}
export const checkRequestExists = {
name: "checkRequestExists",
text: "SELECT url,requester,state FROM requests_vw WHERE url = $1"
}
export const addRequest = {
name: "addRequest",
text: "CALL add_request($1,$2)"
}
export const checkValidState = {
name: "checkValidState",
text: "SELECT state FROM states WHERE state = $1"
}
export const updateRequestState = {
name: "updateRequestState",
text: "UPDATE requests SET state = $2 WHERE url = $1"
}
export const getRequestsWithEmptyMetadata = {
name: "getRequestsWithEmptyMetadata",
text: "SELECT url FROM requestMetadata WHERE videoTitle IS NULL"
}
export const updateRequestMetadata = {
name: "updateRequestState",
text: "UPDATE requestMetadata SET videoTitle = $2 WHERE url = $1"
}
export const updateRequestScoreModifier = {
name: "updateRequestScoreModifier",
text: "CALL update_request_score_modifier($1,$2)"
}
export const deleteRequest = {
name: "deleteRequest",
text: "DELETE FROM requests WHERE url = $1"
}
export const checkVoteExists = {
name: "checkVoteExists",
text: "SELECT userid FROM votes WHERE requesturl = $1 AND userid = $2"
}
export const getValidStates = {
name: "getValidStates",
text: "SELECT * FROM states"
}
export const getDbVersion = {
name: "getDbVersion",
text: "SELECT get_version()"
}
export const getAndLockCronJob = {
name: "getCronJob",
text: `SELECT * FROM cron
WHERE (lastSuccess + runInterval) < now()
AND jobName = $1
FOR UPDATE SKIP LOCKED`
}
export const updateCronJobLastSuccess = {
name: "updateCronJobLastSuccess",
text: "UPDATE cron SET lastSuccess = now() WHERE jobName = $1"
}
export const getRateLimitStatus = {
name: "getRateLimitStatus",
text: "SELECT * FROM ratelimit_vw WHERE userid = $1"
}