Attempting server startup.
* Created basic client * Many bug fixes
This commit is contained in:
51
db-old/createDatabase.sql
Normal file
51
db-old/createDatabase.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
CREATE DATABASE IF NOT EXISTS market;
|
||||
USE market;
|
||||
CREATE TABLE IF NOT EXISTS users(
|
||||
sqlId INT PRIMARY KEY AUTO_INCREMENT,
|
||||
userId VARCHAR(36) UNIQUE NOT NULL,
|
||||
userName VARCHAR(64) UNIQUE NOT NULL,
|
||||
passwordHash VARCHAR(64) NOT NULL,
|
||||
email VARCHAR(64) UNIQUE NOT NULL,
|
||||
balance FLOAT NOT NULL DEFAULT 0,
|
||||
publicKey VARCHAR(128) NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS buy_orders(
|
||||
sqlId INT PRIMARY KEY AUTO_INCREMENT,
|
||||
buyOrderId VARCHAR(36) UNIQUE NOT NULL,
|
||||
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
|
||||
expires DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP() + INTERVAL 3 DAY,
|
||||
pageId INT NOT NULL,
|
||||
price FLOAT NOT NULL,
|
||||
volume INT NOT NULL,
|
||||
fee FLOAT NOT NULL DEFAULT 0,
|
||||
sold INT NOT NULL DEFAULT 0,
|
||||
FOREIGN KEY (userId) REFERENCES users(userId)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS sell_orders(
|
||||
sqlId INT PRIMARY KEY AUTO_INCREMENT,
|
||||
sellOrderId VARCHAR(36) UNIQUE NOT NULL,
|
||||
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
|
||||
expires DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP() + INTERVAL 3 DAY,
|
||||
price FLOAT NOT NULL,
|
||||
fee FLOAT NOT NULL,
|
||||
FOREIGN KEY (userId) REFERENCES users(userId)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS sell_orders_items(
|
||||
sqlId INT PRIMARY KEY AUTO_INCREMENT,
|
||||
cardId VARCHAR(36) NOT NULL,
|
||||
FOREIGN KEY (sellOrderId) REFERENCES sell_orders(sellOrderId) NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS transactions(
|
||||
sqlId INT PRIMARY KEY AUTO_INCREMENT,
|
||||
transactionId VARCHAR(36) UNIQUE NOT NULL,
|
||||
isPending BOOLEAN NOT NULL DEFAULT true,
|
||||
isAbandoned BOOLEAN NOT NULL DEFAULT false,
|
||||
FOREIGN KEY (buyOrderId) REFERENCES buy_orders(buyOrderId) NOT NULL,
|
||||
FOREIGN KEY (sellOrderItemSqlId) REFERENCES sell_order_items(sqlId) NOT NULL
|
||||
);
|
||||
CREATE USER IF NOT EXISTS '${MARKET_DB_USER}'@'%' IDENTIFIED BY '${MARKET_DB_PASSWORD}';
|
||||
CREATE USER IF NOT EXISTS '${ORDER_MATCHER_DB_USER}'@'%' IDENTIFIED BY '${ORDER_MATCHER_DB_PASSWORD}';
|
||||
CREATE USER IF NOT EXISTS '${STATUS_CHECKER_DB_USER}'@'%' IDENTIFIED BY '${STATUS_CHECKER_DB_PASSWORD}';
|
||||
GRANT ALL PRIVILEGES ON market.* TO '${MARKET_DB_USER}'@'%';
|
||||
GRANT ALL PRIVILEGES ON market.* TO '${ORDER_MATCHER_DB_USER}'@'%';
|
||||
GRANT ALL PRIVILEGES ON market.* TO '${STATUS_CHECKER_DB_USER}'@'%';
|
||||
12
db-old/getBuyOrders.sql
Normal file
12
db-old/getBuyOrders.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
SELECT buy_order_id
|
||||
FROM buy_orders
|
||||
JOIN cards
|
||||
ON buy_orders.title = cards.title
|
||||
WHERE title == desired_title
|
||||
AND price >= desired_price
|
||||
AND volume > (
|
||||
SELECT count(*)
|
||||
FROM transactions
|
||||
WHERE buy_order_id == buy_order_id;
|
||||
)
|
||||
ORDER BY price DESC;
|
||||
10
db-old/getDeck.sql
Normal file
10
db-old/getDeck.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
SELECT cardId, pageId, transactionId
|
||||
FROM (
|
||||
SELECT cardId, pageId, transactionId, ROW_NUMBER() OVER (
|
||||
PARTITION BY cardId ORDER BY timestamp DESC
|
||||
) AS rowNumber
|
||||
FROM transactions
|
||||
JOIN cards
|
||||
WHERE receiver == {userId}
|
||||
) AS subquery
|
||||
WHERE rowNumber == 0;
|
||||
0
db-old/getLastTransactionForCard.sql
Normal file
0
db-old/getLastTransactionForCard.sql
Normal file
11
db-old/getSellOrders.sql
Normal file
11
db-old/getSellOrders.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
SELECT sell_orders.sell_order_id, sell_order_items.card_id
|
||||
FROM sell_orders
|
||||
JOIN sell_order_items
|
||||
ON sell_orders.sell_order_id = sell_order_items.sell_order_id
|
||||
WHERE price <= desired_price
|
||||
AND sell_order_items.card_id NOT IN (
|
||||
SELECT card_id
|
||||
FROM transactions
|
||||
WHERE sell_order_id == sell_order_id;
|
||||
)
|
||||
ORDER BY price ASC;
|
||||
Reference in New Issue
Block a user