HiddenPhox/src/lib/userData.js

65 lines
1.3 KiB
JavaScript

hf.database.run(
"CREATE TABLE IF NOT EXISTS user_data (key TEXT PRIMARY KEY, value TEXT NOT NULL) WITHOUT ROWID"
);
function setUserData(id, key, value) {
return new Promise((resolve, reject) => {
hf.database.run(
"REPLACE INTO user_data VALUES ($key,$value)",
{
$value: value,
$key: `${id}[${key}]`,
},
(err) => {
if (err == null) {
resolve(true);
} else {
reject(err);
}
}
);
});
}
function getUserData(id, key, fallback = null) {
return new Promise((resolve, reject) => {
hf.database.get(
"SELECT value FROM user_data WHERE key = $key",
{
$key: `${id}[${key}]`,
},
(err, row) => {
if (err == null) {
resolve(row?.value || fallback);
} else {
reject(err);
}
}
);
});
}
function deleteUserData(id, key) {
return new Promise((resolve, reject) => {
hf.database.run(
"DELETE FROM user_data WHERE key = $key",
{
$key: `${id}[${key}]`,
},
(err) => {
if (err == null) {
resolve(true);
} else {
reject(err);
}
}
);
});
}
module.exports = {
setUserData,
getUserData,
deleteUserData,
};