mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-20 02:21:09 +00:00
68 lines
3.0 KiB
SQL
68 lines
3.0 KiB
SQL
-- session-sharing 0001: adopt_session_sharing
|
|
-- Generated by termix-plugin migrations. Review before committing.
|
|
-- Hand-edited: keeps the legacy foreign keys the SDK cannot declare
|
|
-- (nullable or set-null user and host links, and links between these tables).
|
|
|
|
CREATE TABLE IF NOT EXISTS `session_shares` (
|
|
`id` varchar(255) PRIMARY KEY NOT NULL,
|
|
`host_id` int NOT NULL,
|
|
`owner_user_id` varchar(255) NOT NULL,
|
|
`protocol` text NOT NULL,
|
|
`session_id` varchar(255) NOT NULL,
|
|
`tab_instance_id` text,
|
|
`share_type` text NOT NULL,
|
|
`target_user_id` varchar(255),
|
|
`link_token` varchar(255) UNIQUE,
|
|
`permission_level` text NOT NULL DEFAULT ('read-only'),
|
|
`created_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
|
`expires_at` text NOT NULL,
|
|
`revoked_at` text,
|
|
`last_joined_at` text,
|
|
`join_count` int NOT NULL DEFAULT 0,
|
|
FOREIGN KEY (`host_id`) REFERENCES `ssh_data` (`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`owner_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`target_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
|
|
);
|
|
RENAME TABLE `session_shares` TO `p_session_sharing_shares`;
|
|
CREATE TABLE IF NOT EXISTS `session_share_participants` (
|
|
`id` int AUTO_INCREMENT PRIMARY KEY,
|
|
`share_id` varchar(255) NOT NULL,
|
|
`user_id` varchar(255),
|
|
`guest_label` text,
|
|
`joined_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
|
`left_at` text,
|
|
FOREIGN KEY (`share_id`) REFERENCES `p_session_sharing_shares` (`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
|
|
);
|
|
RENAME TABLE `session_share_participants` TO `p_session_sharing_share_participants`;
|
|
CREATE TABLE IF NOT EXISTS `collab_rooms` (
|
|
`id` varchar(255) PRIMARY KEY NOT NULL,
|
|
`name` text NOT NULL,
|
|
`owner_user_id` varchar(255) NOT NULL,
|
|
`persistent` boolean NOT NULL DEFAULT false,
|
|
`presenter_user_id` varchar(255),
|
|
`stage_protocol` text,
|
|
`stage_host_id` int,
|
|
`stage_share_id` varchar(255),
|
|
`guest_link_token` varchar(255),
|
|
`created_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
|
`ended_at` text,
|
|
FOREIGN KEY (`owner_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`presenter_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
|
|
FOREIGN KEY (`stage_host_id`) REFERENCES `ssh_data` (`id`) ON DELETE SET NULL,
|
|
FOREIGN KEY (`stage_share_id`) REFERENCES `p_session_sharing_shares` (`id`) ON DELETE SET NULL
|
|
);
|
|
RENAME TABLE `collab_rooms` TO `p_session_sharing_rooms`;
|
|
CREATE TABLE IF NOT EXISTS `collab_room_members` (
|
|
`id` int AUTO_INCREMENT PRIMARY KEY,
|
|
`room_id` varchar(255) NOT NULL,
|
|
`user_id` varchar(255) NOT NULL,
|
|
`room_role` text NOT NULL DEFAULT ('member'),
|
|
`added_by` varchar(255),
|
|
`created_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
|
|
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`room_id`) REFERENCES `p_session_sharing_rooms` (`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY (`added_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
|
|
);
|
|
RENAME TABLE `collab_room_members` TO `p_session_sharing_room_members`;
|