diff --git a/docs/MYP (1).sql b/docs/MYP (1).sql new file mode 100644 index 0000000..9c0e3fb --- /dev/null +++ b/docs/MYP (1).sql @@ -0,0 +1,57 @@ +CREATE TABLE `Printer` ( + `id` int UNIQUE PRIMARY KEY, + `name` text, + `description` text, + `status` int COMMENT '0: OPERATIONAL +1: OUT_OF_ORDER', + `created_at` timestamp, + `updated_at` timestamp +); + +CREATE TABLE `PrintJob` ( + `id` int UNIQUE PRIMARY KEY, + `printer_id` int, + `user_id` int, + `start_at` timestamp, + `duration_in_minutes` int, + `comments` text, + `aborted` boolean DEFAULT false, + `abort_reason` text COMMENT 'Error code displayed on printer' +); + +CREATE TABLE `Account` ( + `id` text UNIQUE PRIMARY KEY, + `userId` text, + `type` text, + `provider` text, + `providerAccountId` text, + `refresh_token` text, + `access_token` text, + `expires_at` int, + `token_type` text, + `scope` text, + `id_token` text, + `session_state` text +); + +CREATE TABLE `Session` ( + `id` text UNIQUE PRIMARY KEY, + `sessionToken` text UNIQUE, + `userId` text, + `expires` datetime +); + +CREATE TABLE `User` ( + `id` text PRIMARY KEY, + `name` text, + `email` text UNIQUE, + `role` text COMMENT 'ADMIN,USER,GUEST' +); + +ALTER TABLE `User` ADD FOREIGN KEY (`id`) REFERENCES `PrintJob` (`user_id`); + +ALTER TABLE `User` ADD FOREIGN KEY (`id`) REFERENCES `Account` (`userId`); + +ALTER TABLE `User` ADD FOREIGN KEY (`id`) REFERENCES `Session` (`userId`); + +ALTER TABLE `Printer` ADD FOREIGN KEY (`id`) REFERENCES `PrintJob` (`printer_id`); diff --git a/docs/MYP.png b/docs/MYP.png new file mode 100644 index 0000000..5d7a218 Binary files /dev/null and b/docs/MYP.png differ