63 lines
No EOL
2.3 KiB
JavaScript
63 lines
No EOL
2.3 KiB
JavaScript
const sqlite3 = require('sqlite3').verbose();
|
|
module.exports = async function(userID, lastfmUsername) {
|
|
let sendText = "";
|
|
// If the user already has a last.fm username set, just update it.
|
|
let entryExists = await new Promise((resolve, reject)=>{
|
|
const db = new sqlite3.Database('data/database.db');
|
|
db.get(
|
|
`SELECT * FROM lastfm WHERE userID = ?`,
|
|
[userID],
|
|
(error, row) => {
|
|
if (error) {
|
|
console.error(error);
|
|
reject(error);
|
|
} else {
|
|
resolve(row);
|
|
}
|
|
db.close();
|
|
}
|
|
);
|
|
});
|
|
if (!entryExists) {
|
|
|
|
sendText = await new Promise((resolve, reject)=>{
|
|
const db = new sqlite3.Database('data/database.db');
|
|
|
|
db.run(
|
|
`INSERT INTO lastfm (userID, lastfmUsername) VALUES (?, ?)`,
|
|
[userID, lastfmUsername],
|
|
function (error) {
|
|
if (error) {
|
|
console.error(error);
|
|
let sendText = "Error while adding last.fm username. Check console.";
|
|
reject(sendText);
|
|
} else {
|
|
let sendText = `Your last.fm username has been set to '${lastfmUsername}'.`;
|
|
resolve(sendText);
|
|
}
|
|
db.close();
|
|
}
|
|
);
|
|
});
|
|
}else {
|
|
sendText = await new Promise((resolve, reject)=>{
|
|
const db = new sqlite3.Database('data/database.db');
|
|
db.run(
|
|
`UPDATE lastfm SET lastfmUsername = ? WHERE userID = ?`,
|
|
[lastfmUsername, userID],
|
|
function (error) {
|
|
if (error) {
|
|
console.error(error);
|
|
let sendText = "Error while updating last.fm username. Check console.";
|
|
reject(sendText);
|
|
} else {
|
|
let sendText = `Your last.fm username has been updated to '${lastfmUsername}'.`;
|
|
resolve(sendText);
|
|
}
|
|
db.close();
|
|
}
|
|
);
|
|
});
|
|
}
|
|
return sendText;
|
|
} |