mirror of
https://codeberg.org/vlw/vlw.se.git
synced 2025-09-13 21:13:40 +02:00
Replacing all GET update params with a single update endpoint that calls POST on all endpoints that trigger runtime stats Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/35
98 lines
3.1 KiB
SQL
98 lines
3.1 KiB
SQL
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
|
START TRANSACTION;
|
|
SET time_zone = "+00:00";
|
|
|
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
/*!40101 SET NAMES utf8mb4 */;
|
|
|
|
|
|
CREATE TABLE `acl` (
|
|
`ref_group` varchar(255) DEFAULT NULL,
|
|
`ref_endpoint` varchar(255) NOT NULL,
|
|
`method` enum('GET','POST','PUT','PATCH','DELETE') NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `endpoints` (
|
|
`id` varchar(255) NOT NULL,
|
|
`active` tinyint(1) UNSIGNED NOT NULL DEFAULT 1
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
INSERT INTO `endpoints` (`id`, `active`) VALUES
|
|
('about/languages', 1),
|
|
('coffee', 1),
|
|
('coffee/stats', 1),
|
|
('messages', 1),
|
|
('notes', 1),
|
|
('playground/coffee', 1),
|
|
('search', 1),
|
|
('update', 1),
|
|
('work', 1),
|
|
('work/actions', 1),
|
|
('work/tags', 1),
|
|
('work/timeline', 1);
|
|
|
|
CREATE TABLE `groups` (
|
|
`id` varchar(255) NOT NULL,
|
|
`active` tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
|
|
`date_created` int(32) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `keys` (
|
|
`id` varchar(255) NOT NULL,
|
|
`active` tinyint(1) NOT NULL DEFAULT 1,
|
|
`ref_user` varchar(255) DEFAULT NULL,
|
|
`expires` int(32) DEFAULT NULL,
|
|
`created` int(32) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `rel_users_groups` (
|
|
`ref_user` varchar(255) NOT NULL,
|
|
`ref_group` varchar(255) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `users` (
|
|
`id` varchar(255) NOT NULL,
|
|
`active` tinyint(1) NOT NULL DEFAULT 1,
|
|
`created` int(32) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
|
|
ALTER TABLE `acl`
|
|
ADD KEY `endpoint` (`ref_endpoint`),
|
|
ADD KEY `ref_group` (`ref_group`);
|
|
|
|
ALTER TABLE `endpoints`
|
|
ADD PRIMARY KEY (`id`);
|
|
|
|
ALTER TABLE `groups`
|
|
ADD PRIMARY KEY (`id`);
|
|
|
|
ALTER TABLE `keys`
|
|
ADD PRIMARY KEY (`id`),
|
|
ADD KEY `ref_user` (`ref_user`);
|
|
|
|
ALTER TABLE `rel_users_groups`
|
|
ADD KEY `ref_user` (`ref_user`),
|
|
ADD KEY `ref_group` (`ref_group`);
|
|
|
|
ALTER TABLE `users`
|
|
ADD PRIMARY KEY (`id`);
|
|
|
|
|
|
ALTER TABLE `acl`
|
|
ADD CONSTRAINT `acl_ibfk_1` FOREIGN KEY (`ref_endpoint`) REFERENCES `endpoints` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `acl_ibfk_2` FOREIGN KEY (`ref_group`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `keys`
|
|
ADD CONSTRAINT `keys_ibfk_1` FOREIGN KEY (`ref_user`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE `rel_users_groups`
|
|
ADD CONSTRAINT `rel_users_groups_ibfk_1` FOREIGN KEY (`ref_user`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `rel_users_groups_ibfk_2` FOREIGN KEY (`ref_group`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
COMMIT;
|
|
|
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|