aboutsummaryrefslogtreecommitdiffstats
path: root/sql
diff options
context:
space:
mode:
authorAlex Vitkov <alexvitkov98@gmail.com>2021-02-14 11:58:20 +0200
committerAlex Vitkov <alexvitkov98@gmail.com>2021-02-14 11:58:20 +0200
commit67a6b658b4ed300743292e99bb8d2a955ced24b3 (patch)
tree17697e7cb261c7dcc10e1dc37d912e3d4492e379 /sql
parent5498ae0a8f7130369a3d0471822a376ce8324a22 (diff)
downloadfileup-67a6b658b4ed300743292e99bb8d2a955ced24b3.tar.gz
Documentation
Diffstat (limited to 'sql')
-rw-r--r--sql/fileshare.sql110
1 files changed, 0 insertions, 110 deletions
diff --git a/sql/fileshare.sql b/sql/fileshare.sql
deleted file mode 100644
index 1a0672a..0000000
--- a/sql/fileshare.sql
+++ /dev/null
@@ -1,110 +0,0 @@
-/*BEWARE!*/
-drop table if exists node_access;
-drop table if exists users;
-drop table if exists node_links;
-drop table if exists trash;
-drop table if exists super_trash;
-drop table if exists shared_nodes;
-drop table if exists nodes;
-
-
-
-drop trigger if exists delete_on_zero_links;
-drop trigger if exists delete_links;
-drop trigger if exists del_node;
-drop trigger if exists supper_del_node;
-
-
-
-
-
-create table nodes (
- node_id int not null auto_increment,
- is_directory boolean default false,
- relative_path varchar(500) not null,
- type varchar(20) not null default 'data',
- code varchar(100) not null default "error",
- primary key (node_id)
-);
-
-/*base user information*/
-create table users (
- user_id int not null auto_increment,
- username varchar(50) not null unique,
- password varchar(255) not null,
- email varchar(50),
- home_directory int not null,
- primary key (user_id),
- foreign key (home_directory) references nodes(node_id) on delete cascade
-);
-
-create table node_access (
- node_id int not null,
- user_id int not null,
-
- can_view boolean not null default true,
- can_edit boolean not null default false,
- foreign key (node_id) references nodes(node_id) on delete cascade,
- foreign key (user_id) references users(user_id) on delete cascade
-);
-/*we can name a node in many different ways */
-create table node_links (
- directory_id int not null,
- node_id int not null,
- name varchar(100) not null default 'no name',
- note varchar(200) not null default "",
- foreign key (directory_id) references nodes(node_id) on delete cascade,
- foreign key (node_id) references nodes(node_id) on delete cascade
-);
-
-/*we store passwords for the shared links here, it doesn't really have anything to do with the filesystem*/
-create table shared_nodes (
- node_id int not null,
- passcode varchar(100) default "",
- code varchar(100) default "",
- foreign key (node_id) references nodes(node_id) on delete cascade
-);
-
-create table trash (
- node_id int not null
-);
-create table super_trash (
- node_id int not null
-);
-
-
-create trigger delete_on_zero_links
- after delete
- on node_links
- for each row
- insert into trash
- select nodes.node_id
- from nodes
- where nodes.node_id not in (select node_id from node_links) and
- (nodes.node_id=old.node_id );
-
-create trigger del_node
- after delete
- on trash
- for each row
- insert into super_trash(node_id)
- select node_id
- from nodes
- where nodes.node_id=old.node_id;
-
-
-create trigger supper_del_node
- after delete
- on super_trash
- for each row
- insert into trash
- select node_id
- from nodes
- where nodes.node_id=old.node_id;
-
-create trigger delete_links
- before delete
- on super_trash
- for each row
- delete from node_links
- where directory_id=old.node_id;