From 30ebc0fcf1a5d293df221f8960b5e93c5d91a7a8 Mon Sep 17 00:00:00 2001 From: Valerie Date: Thu, 28 Jul 2022 02:47:40 -0400 Subject: [PATCH] some token SQL --- .../server/public/migrations/8-sessions.sql | 25 +++++++++++++++++++ .../server/src/db/snippets/session/new.sql | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 packages/server/public/migrations/8-sessions.sql create mode 100644 packages/server/src/db/snippets/session/new.sql diff --git a/packages/server/public/migrations/8-sessions.sql b/packages/server/public/migrations/8-sessions.sql new file mode 100644 index 0000000..4a2d68d --- /dev/null +++ b/packages/server/public/migrations/8-sessions.sql @@ -0,0 +1,25 @@ + +-- add usernames, separate +-- from display name! (this is for uniqueness) +ALTER TABLE `clients` +ADD `username` varchar(256) COLLATE 'utf8mb4_general_ci' NOT NULL; + +-- set all previous accounts usernames to their uid +-- as its unique, and now powerless for authentication. +UPDATE clients +SET clients.username=clients.uid; + +-- make username unique +ALTER TABLE `clients` +ADD UNIQUE `username` (`username`); + +-- create sessions w FK to clients +CREATE TABLE `sessions` ( + `id` int NOT NULL, + `client_uid` varchar(36) NOT NULL, + `expires` bigint(20) NOT NULL, + `token` varchar(512) NOT NULL +); + +ALTER TABLE `sessions` +ADD FOREIGN KEY (`client_uid`) REFERENCES `clients` (`uid`) \ No newline at end of file diff --git a/packages/server/src/db/snippets/session/new.sql b/packages/server/src/db/snippets/session/new.sql new file mode 100644 index 0000000..75397d4 --- /dev/null +++ b/packages/server/src/db/snippets/session/new.sql @@ -0,0 +1,2 @@ +INSERT INTO sessions (client_uid, expires, token) +VALUES (?, ?, ?);