diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2023-01-21 09:08:22 -0500 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2023-01-21 09:08:22 -0500 |
commit | a50ccedcaa774b6ad9a4a7d657329b03bd6b3f7f (patch) | |
tree | 21e46d7f0dd4c44605746b4d39b1b00e81c49adc /src | |
parent | more shit (diff) | |
download | xssbook-a50ccedcaa774b6ad9a4a7d657329b03bd6b3f7f.tar.gz xssbook-a50ccedcaa774b6ad9a4a7d657329b03bd6b3f7f.tar.bz2 xssbook-a50ccedcaa774b6ad9a4a7d657329b03bd6b3f7f.zip |
start backend
Diffstat (limited to 'src')
-rw-r--r-- | src/api.js | 9 | ||||
-rw-r--r-- | src/database.js | 74 |
2 files changed, 83 insertions, 0 deletions
diff --git a/src/api.js b/src/api.js new file mode 100644 index 0000000..7d13a07 --- /dev/null +++ b/src/api.js @@ -0,0 +1,9 @@ +const express = require('express') +const router = express.Router() +const database = require('./database.js') + +router.get('/', (req, res) => { + res.status(200).send( {msg: 'xssbook api'} ) +}) + +module.exports = router;
\ No newline at end of file diff --git a/src/database.js b/src/database.js new file mode 100644 index 0000000..3ca57ab --- /dev/null +++ b/src/database.js @@ -0,0 +1,74 @@ +const sqlite3 = require('sqlite3') +const path = require('path').resolve(__dirname, '../xssbook.db') + +let db = new sqlite3.Database(path, sqlite3.OPEN_READWRITE, (err) => { + if (err && err.code == "SQLITE_CANTOPEN") { + createDatabase(); + return; + } else if (err) { + console.log(err); + } + addUser('John','Doe','johndoe@gmail.com','password','lettuce',0,'jan',0,69) +}) + +function createDatabase() { + db = new sqlite3.Database(path, (err) => { + if (err) { + console.log(err); + } + createTables(); + }); +} + +function createTables() { + db.exec(` + CREATE TABLE users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + first VARCHAR(20) NOT NULL, + last VARCHAR(20) NOT NULL, + email VARCHAR(50) NOT NULL, + password VARCHAR(50) NOT NULL, + gender VARCHAR(20) NOT NULL, + date INTEGER NOT NULL, + month VARCHAR(3) NOT NULL, + day INTEGER NOT NULL, + year INTEGER NOT NULL + ); + + CREATE TABLE posts ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user INTEGER NOT NULL, + content TEXT NOT NULL, + likes TEXT NOT NULL, + comments TEXT NOT NULL, + date INTEGER NOT NULL, + FOREIGN KEY(user) REFERENCES users(id) + ); + + CREATE TABLE avatars ( + id INTEGER PRIMARY KEY NOT NULL, + avatar BLOB, + banner BLOB, + FOREIGN KEY(id) REFERENCES users(id) + ); + `, (err) => { + if(err) { + console.log(err) + } + }) +} + +function addUser(first, last, email, password, gender, date, month, day, year) { + db.exec(` + INSERT INTO users (first, last, email, password, gender, date, month, day, year) VALUES (?,?,?,?,?,?,?,?,?); + `, [first, last, email, password, gender, date, month, day, year] , (err) => { + if(err) { + console.log(err) + return false + } else { + return true + } + }) +} + + |