API Initial commit

This commit is contained in:
Umbra Sheep
2018-09-29 17:15:40 +12:00
parent 9af388df0a
commit 3474885574
11 changed files with 10258 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
DROP DATABASE IF EXISTS `territory-walker`;
CREATE DATABASE `territory-walker`;
USE `territory-walker`;
CREATE TABLE `gameInstances` (
gameID VARCHAR(6) UNIQUE NOT NULL,
PRIMARY KEY (gameID)
);
CREATE TABLE `users` (
userID VARCHAR(6) UNIQUE NOT NULL,
nickname VARCHAR (40) NOT NULL,
PRIMARY KEY (userID)
);
CREATE TABLE `userJoinedGames` (
userID VARCHAR(6) NOT NULL,
gameID VARCHAR(6) NOT NULL,
colour VARCHAR(6) NOT NULL,
FOREIGN KEY (userID) REFERENCES users(userID),
FOREIGN KEY (gameID) REFERENCES gameInstances(gameID),
PRIMARY KEY (userID, gameID)
);
CREATE TABLE `polygonArea` (
gameID VARCHAR(6) UNIQUE NOT NULL,
polygonID VARCHAR(36) UNIQUE NOT NULL,
userID VARCHAR(6) NOT NULL,
area DOUBLE(30,4) NOT NULL,
PRIMARY KEY (polygonID),
FOREIGN KEY (gameID) REFERENCES gameInstances(gameID),
FOREIGN KEY (userID) REFERENCES users(userID)
);
CREATE TABLE `polygonPoints` (
polygonID VARCHAR(36) NOT NULL,
lat DOUBLE(11,8) NOT NULL,
lng DOUBLE(11,8) NOT NULL,
FOREIGN KEY (polygonID) REFERENCES polygonArea(polygonID)
);
INSERT INTO `gameInstances` (gameID) VALUES ("samdum");
INSERT INTO `users` (userID, nickname) VALUES ("samded", "Lesmaux");
INSERT INTO `users` (userID, nickname) VALUES ("fanded", "Umbra Sheep");
-- TODO CREATE PROCEDURE FOR GENERATING GAME ID
-- concat(substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1))