45 lines
No EOL
882 B
JavaScript
45 lines
No EOL
882 B
JavaScript
import { initDb } from './db.js';
|
|
import fetch from 'node-fetch';
|
|
|
|
let getToken = async (token) => {
|
|
let db = await initDb();
|
|
|
|
let id = '!nobody';
|
|
|
|
let username = await fetch("https://nbg.dervland.net/auth.php",
|
|
{
|
|
"method": "get",
|
|
"headers": {
|
|
"cookie": `token=${token}`
|
|
}
|
|
}
|
|
);
|
|
|
|
username = await username.text();
|
|
|
|
try {
|
|
username = (username.length > 1) ? username : '';
|
|
|
|
if (username) id = username;
|
|
} catch (err) {
|
|
id = '!nobody';
|
|
}
|
|
|
|
let userExists = await db.all('SELECT * FROM user WHERE username = ?', [
|
|
id
|
|
]);
|
|
|
|
if (userExists.length < 1) {
|
|
await db.run('INSERT INTO user (username, roles, nickname) VALUES (?,?,?)', [
|
|
id,
|
|
0,
|
|
id
|
|
]);
|
|
}
|
|
|
|
return id;
|
|
}
|
|
|
|
export {
|
|
getToken
|
|
}; |