You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.6 KiB

5 months ago
import con from "../db/dbconnection.js";
export async function getSubmissions(userID, flagID){
return new Promise((resolve, reject) => {
const query = 'SELECT * FROM Submissions WHERE UserID = ? AND FlagID = ?';
con.query(query, [userID, flagID], (err, result) => {
if(err) reject(err);
else resolve(result);
});
});
}
export async function insertSubmission(userID, flagID, isCorrect, attempts){
return new Promise((resolve, reject) => {
const query = 'INSERT INTO Submissions (UserID, FlagID, IsCorrect, Attempts) VALUES (?, ?, ?, ?)';
con.query(query, [userID, flagID, isCorrect, attempts], (err, result) => {
if(err) reject(err);
5 months ago
else resolve(result);
5 months ago
});
});
}
export async function updateSubmissionCorrect(userID, flagID){
return new Promise((resolve, reject) => {
const query = 'UPDATE Submissions SET IsCorrect = 1 WHERE UserID = ? AND FlagID = ?';
con.query(query, [userID, flagID], (err, result) => {
if(err) reject(err);
else resolve();
});
});
}
export async function updateSubmissionAttempts(userID, flagID){
return new Promise((resolve, reject) => {
const query = 'UPDATE Submissions SET Attempts = Attempts + 1 WHERE UserID = ? AND FlagID = ?';
con.query(query, [userID, flagID], (err, result) => {
if(err) reject(err);
else resolve();
});
});
}
// get all of the submissions
export async function getAllSubs() {
return new Promise((resolve,reject) => {
const query = 'SELECT * FROM Submissions';
con.query(query,[],(err,rows) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(rows);
})
});
}