setup
Former-commit-id: 9072f7b9342c8edc6f1da22555d2ea8585906ff0
This commit is contained in:
2
.env
2
.env
@@ -14,4 +14,4 @@ DATABASE_PORT=5432
|
||||
DATABASE_DB=legolog
|
||||
DATABASE_DB_DEV=legolog
|
||||
DATABASE_USER=postgres
|
||||
DATABASE_PASSWORD=password
|
||||
DATABASE_PASSWORD=postgres
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
CREATE DATABASE IF NOT EXISTS `legolog`;
|
||||
USE `legolog`;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tag (
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
name VARCHAR (100)
|
||||
@@ -49,14 +52,13 @@ CREATE TABLE IF NOT EXISTS lego_brick_tag (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS lego_set_tag (
|
||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||
set_id VARCHAR (50) NOT NULL
|
||||
set_id VARCHAR (50) NOT NULL
|
||||
tag INT NOT NULL,
|
||||
FOREIGN KEY ( set_id ) REFERENCES lego_set( id ),
|
||||
FOREIGN KEY ( tag ) REFERENCES tag( id ),
|
||||
)
|
||||
|
||||
CREATE TABLE IF NOT EXISTS set_descriptor (
|
||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||
set_id VARCHAR (50) NOT NULL,
|
||||
brick_id VARCHAR (50) NOT NULL,
|
||||
amount INT,
|
||||
@@ -82,7 +84,6 @@ CREATE TABLE IF NOT EXISTS lego_set_inventory (
|
||||
FOREIGN KEY ( id ) REFERENCES lego_set( id )
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||
email text NOT NULL,
|
||||
@@ -93,3 +94,20 @@ CREATE TABLE IF NOT EXISTS users (
|
||||
date_created TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
date_updated TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS orders (
|
||||
id VARCHAR (50) NOT NULL PRIMARY KEY,
|
||||
user_id VARCHAR (50) NOT NULL,
|
||||
date_placed TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
FOREIGN KEY ( user_id ) REFERENCES users( id )
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS order_items (
|
||||
order_id VARCHAR (50) NOT NULL,
|
||||
brick_id VARCHAR (50),
|
||||
set_id VARCHAR (50),
|
||||
amount INT NOT NULL,
|
||||
FOREIGN KEY ( order_id ) REFERENCES orders( id ),
|
||||
FOREIGN KEY ( brick_id ) REFERENCES lego_brick( id )
|
||||
FOREIGN KEY ( set_id ) REFERENCES lego_set( id )
|
||||
);
|
||||
|
||||
8418
package-lock.json
generated
8418
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -5,10 +5,10 @@
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "jest src/__test client/public/__test",
|
||||
"setup": "npm i && node src/first-time-run.js",
|
||||
"start": "node src/index.js",
|
||||
"dev": "nodemon src/index.js --watch src",
|
||||
"lint": "eslint src --ext .js && eslint client --ext .js",
|
||||
"setup": "npm i"
|
||||
"lint": "eslint src --ext .js && eslint client --ext .js"
|
||||
},
|
||||
"author": "Ben Kyd <benjaminkyd@gmail.com> (https://benkyd.co.uk)",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -2,7 +2,7 @@ const Logger = require('./logger.js');
|
||||
|
||||
const dotenv = require('dotenv');
|
||||
|
||||
function load() {
|
||||
function Load() {
|
||||
Logger.Info('Loading Config...');
|
||||
const res = dotenv.config();
|
||||
Logger.Debug(`CONFIG: ${JSON.stringify(res.parsed)}`);
|
||||
@@ -21,6 +21,7 @@ function load() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
Load: load,
|
||||
Load,
|
||||
};
|
||||
|
||||
15
src/first-time-run.js
Normal file
15
src/first-time-run.js
Normal file
@@ -0,0 +1,15 @@
|
||||
// Populate databaes, create admin user, etc
|
||||
const Database = require('./database/database.js');
|
||||
|
||||
console.log('LegoLog Setting Up:tm:');
|
||||
|
||||
async main() {
|
||||
// connect to database
|
||||
const Database = new Databse.IDatabase();
|
||||
await Database.connect();
|
||||
|
||||
// run setup script to create schema
|
||||
|
||||
}
|
||||
|
||||
main();
|
||||
@@ -5,10 +5,9 @@ const API = require('./routes/api.js');
|
||||
|
||||
const Databse = require('./database/database.js');
|
||||
|
||||
// TODO: The first time running needs to populate the database with the bricks and sets.
|
||||
|
||||
async function main() {
|
||||
Config.Load();
|
||||
|
||||
await Logger.Init({
|
||||
logLevel: process.env.LOG_LEVEL,
|
||||
logToConsole: process.env.LOG_CONSOLE,
|
||||
|
||||
Reference in New Issue
Block a user