Finally finished the massive refactor... transitions still broke but it's fine for now.

This commit is contained in:
2018-10-28 11:23:51 +11:00
parent 8cf714500c
commit d5d0c7edd2
36 changed files with 397 additions and 531 deletions

View File

@ -44,17 +44,16 @@ class DatabaseConnection {
//Load queries into cache
let queries = {};
let types = fs.readdirSync(__dirname + '/' + QUERIES_DIRECTORY);
let queryDir = `${__dirname}/${QUERIES_DIRECTORY}`
let types = fs.readdirSync(queryDir);
for(let i = 0; i < types.length; i++) {
//Now Scan each file in this directory
let dir = __dirname + '/' + QUERIES_DIRECTORY + '/' + types[i];
let dir = `${queryDir}/${types[i]}`;
let dirContents = fs.readdirSync(dir);
for(let x = 0; x < dirContents.length; x++) {
//Now read each file within this dir..
let filePath = dir + '/' + dirContents[x];
console.log(filePath);
let filePath = `${dir}/${dirContents[x]}`;
let query = fs.readFileSync(filePath, 'utf8');
//Now Save our query as filename minus extension.
queries[dirContents[x].split('.')[0]] = query;
}

View File

@ -0,0 +1,5 @@
CREATE TABLE IF NOT EXISTS "Formats" (
"id" BIGSERIAL NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL,
"gameId" BIGSERIAL NOT NULL
);

View File

@ -0,0 +1,4 @@
CREATE TABLE IF NOT EXISTS "Games" (
"id" BIGSERIAL NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL UNIQUE
);

View File

@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS "Seasons" (
"id" BIGSERIAL NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL,
"formatId" BIGSERIAL NOT NULL,
"startDate" TIMESTAMP NOT NULL,
"endDate" TIMESTAMP NOT NULL
);

View File

@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS "TeamUsersSeasons" (
"teamId" BIGSERIAL NOT NULL,
"userId" BIGSERIAL NOT NULL,
"seasonId" BIGSERIAL NOT NULL,
"registered" TIMESTAMP NOT NULL,
PRIMARY KEY("teamId", "userId", "seasonId")
);

View File

@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS "Teams" (
"id" BIGSERIAL NOT NULL PRIMARY KEY,
"name" varchar(32) NOT NULL UNIQUE,
"motto" text NULL,
"image" text NULL,
"registered" TIMESTAMP NOT NULL
);

View File

@ -0,0 +1,6 @@
CREATE TABLE IF NOT EXISTS "Users" (
"id" BIGSERIAL NOT NULL PRIMARY KEY,
"discordId" text NULL UNIQUE,
"steamId" text NULL UNIQUE,
"email" text NULL UNIQUE
);

View File

@ -0,0 +1 @@
INSERT INTO "Formats" ("name", "gameId") VALUES (${name}, ${gameId}) RETURNING *;

View File

@ -0,0 +1 @@
SELECT * FROM "Formats" WHERE "gameId"=${gameId};

View File

@ -0,0 +1 @@
INSERT INTO "Games" (name) VALUES (${name}) RETURNING *;

View File

@ -0,0 +1 @@
SELECT * FROM "Games" WHERE LOWER("name") = LOWER(${name}) LIMIT 1;

View File

@ -0,0 +1 @@
SELECT * FROM "Season" WHERE id = ${id} LIMIT 1;

View File

@ -0,0 +1,5 @@
SELECT * FROM "Seasons"
WHERE
"startDate" <= ${date} AND
"endDate" >= ${date}
LIMIT 1;

View File

@ -0,0 +1,5 @@
INSERT INTO "Teams" (
"name", "motto", "image", "registered"
) VALUES (
${name}, ${motto}, ${image}, ${registered}
) RETURNING *;

View File

@ -0,0 +1,5 @@
INSERT INTO "TeamUsersSeasons" (
"teamId", "userId", "seasonId", "registered"
) VALUES (
${teamId}, ${userId}, ${seasonId}, ${registered}
) RETURNING *;

View File

@ -0,0 +1 @@
SELECT * FROM "Teams" WHERE "id"=${id} LIMIT 1;

View File

@ -0,0 +1 @@
SELECT * FROM "Teams" WHERE LOWER("name") = LOWER(${name}) LIMIT 1;

View File

@ -0,0 +1,10 @@
SELECT
*
FROM
"Teams"
INNER JOIN
"TeamUsersSeasons" ON "TeamUsersSeasons"."teamId" = "Teams"."id"
WHERE
"TeamUsersSeasons"."userId" = ${userId} AND
"TeamUsersSeasons"."seasonId" = ${seasonId}
LIMIT 1;

View File

@ -0,0 +1 @@
SELECT * FROM "TeamUsersSeasons" WHERE "teamId" = ${teamId};

View File

@ -0,0 +1,11 @@
SELECT
"Teams".*
FROM
"Teams"
INNER JOIN
"TeamUsersSeasons" ON "TeamUsersSeasons"."teamId" = "Teams"."id"
WHERE
"TeamUsersSeasons"."seasonId" = ${seasonId}
GROUP BY
"Teams"."id"
;

View File

@ -0,0 +1,9 @@
INSERT INTO "Users" (
"discordId",
"steamId",
"email"
) VALUES (
${discordId},
${steamId},
${email}
) RETURNING *;

View File

@ -0,0 +1 @@
SELECT * FROM "Users" WHERE "discordId" = ${discordId} LIMIT 1;

View File

@ -0,0 +1 @@
SELECT * FROM "Users" WHERE "id"=${id} LIMIT 1;