[javascript] DATABASE.JS

Viewer

copydownloadembedprintName: DATABASE.JS
  1. const sqlite3 = require('sqlite3').verbose();
  2. const db = new sqlite3.Database('./fishing_game.db');
  3.  
  4. db.serialize(() => {
  5.   db.run(`CREATE TABLE IF NOT EXISTS users (
  6.     username TEXT PRIMARY KEY,
  7.     points INTEGER,
  8.     rod INTEGER,
  9.     last_fishing_attempt INTEGER
  10.   )`);
  11. });
  12.  
  13. function getUserData(username) {
  14.   return new Promise((resolve, reject) => {
  15.     db.get(`SELECT * FROM users WHERE username = ?`, [username], (err, row) => {
  16.       if (err) {
  17.         reject(err);
  18.       } else {
  19.         resolve(row);
  20.       }
  21.     });
  22.   });
  23. }
  24.  
  25. function setUserData(username, points, rod, lastFishingAttempt) {
  26.   return new Promise((resolve, reject) => {
  27.     db.run(`INSERT OR REPLACE INTO users (username, points, rod, last_fishing_attempt) VALUES (?, ?, ?, ?)`, [username, points, rod, lastFishingAttempt], (err) => {
  28.       if (err) {
  29.         reject(err);
  30.       } else {
  31.         resolve();
  32.       }
  33.     });
  34.   });
  35. }
  36.  
  37. function updatePointsAndRod(username, points, rod) {
  38.   return new Promise((resolve, reject) => {
  39.     db.run(`UPDATE users SET points = ?, rod = ? WHERE username = ?`, [points, rod, username], (err) => {
  40.       if (err) {
  41.         reject(err);
  42.       } else {
  43.         resolve();
  44.       }
  45.     });
  46.   });
  47. }
  48.  
  49. function updateLastFishingAttempt(username, lastFishingAttempt) {
  50.   return new Promise((resolve, reject) => {
  51.     db.run(`UPDATE users SET last_fishing_attempt = ? WHERE username = ?`, [lastFishingAttempt, username], (err) => {
  52.       if (err) {
  53.         reject(err);
  54.       } else {
  55.         resolve();
  56.       }
  57.     });
  58.   });
  59. }
  60.  
  61. module.exports = {
  62.   getUserData,
  63.   setUserData,
  64.   updatePointsAndRod,
  65.   updateLastFishingAttempt,
  66. };
  67.  

Editor

You can edit this paste and save as new:


File Description
  • DATABASE.JS
  • Paste Code
  • 24 Mar-2023
  • 1.66 Kb
You can Share it: