Skip to content

Commit 9ffdc54

Browse files
fixes, code added
1 parent cbe24d8 commit 9ffdc54

File tree

4 files changed

+247
-32
lines changed

4 files changed

+247
-32
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
CREATE TABLE ibexa_collaboration
2+
(
3+
id INT AUTO_INCREMENT NOT NULL,
4+
owner_id INT NOT NULL,
5+
token VARCHAR(160) NOT NULL,
6+
discriminator VARCHAR(190) NOT NULL,
7+
is_active TINYINT(1) NOT NULL,
8+
has_public_link TINYINT(1) NOT NULL,
9+
created_at DATETIME NOT NULL COMMENT '(DC2Type:datetimetz_immutable)',
10+
updated_at DATETIME NOT NULL COMMENT '(DC2Type:datetimetz_immutable)',
11+
UNIQUE INDEX ibexa_collaboration_token_idx (token),
12+
INDEX ibexa_collaboration_owner_idx (owner_id),
13+
UNIQUE INDEX ibexa_collaboration_token_uc (token),
14+
PRIMARY KEY (id)
15+
) DEFAULT CHARACTER SET utf8mb4
16+
COLLATE `utf8mb4_unicode_520_ci`
17+
ENGINE = InnoDB;
18+
CREATE TABLE ibexa_collaboration_participant
19+
(
20+
id INT AUTO_INCREMENT NOT NULL,
21+
session_id INT NOT NULL,
22+
discriminator VARCHAR(190) NOT NULL,
23+
scope VARCHAR(255) DEFAULT NULL,
24+
token VARCHAR(255) DEFAULT NULL,
25+
created_at DATETIME NOT NULL COMMENT '(DC2Type:datetimetz_immutable)',
26+
updated_at DATETIME NOT NULL COMMENT '(DC2Type:datetimetz_immutable)',
27+
INDEX IDX_9C5C6401613FECDF (session_id),
28+
UNIQUE INDEX ibexa_collaboration_participant_token_idx (token),
29+
PRIMARY KEY (id)
30+
) DEFAULT CHARACTER SET utf8mb4
31+
COLLATE `utf8mb4_unicode_520_ci`
32+
ENGINE = InnoDB;
33+
CREATE TABLE ibexa_collaboration_participant_internal
34+
(
35+
id INT NOT NULL,
36+
user_id INT NOT NULL,
37+
INDEX IDX_E838B79AA76ED395 (user_id),
38+
PRIMARY KEY (id)
39+
) DEFAULT CHARACTER SET utf8mb4
40+
COLLATE `utf8mb4_unicode_520_ci`
41+
ENGINE = InnoDB;
42+
CREATE TABLE ibexa_collaboration_participant_external
43+
(
44+
id INT NOT NULL,
45+
email VARCHAR(255) NOT NULL,
46+
PRIMARY KEY (id)
47+
) DEFAULT CHARACTER SET utf8mb4
48+
COLLATE `utf8mb4_unicode_520_ci`
49+
ENGINE = InnoDB;
50+
CREATE TABLE ibexa_collaboration_invitation
51+
(
52+
id INT AUTO_INCREMENT NOT NULL,
53+
session_id INT NOT NULL,
54+
participant_id INT NOT NULL,
55+
sender_id INT NOT NULL,
56+
status VARCHAR(64) NOT NULL,
57+
context LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json)',
58+
created_at DATETIME NOT NULL COMMENT '(DC2Type:datetimetz_immutable)',
59+
updated_at DATETIME NOT NULL COMMENT '(DC2Type:datetimetz_immutable)',
60+
INDEX IDX_36C63687613FECDF (session_id),
61+
INDEX IDX_36C636879D1C3019 (participant_id),
62+
INDEX IDX_36C63687F624B39D (sender_id),
63+
PRIMARY KEY (id)
64+
) DEFAULT CHARACTER SET utf8mb4
65+
COLLATE `utf8mb4_unicode_520_ci`
66+
ENGINE = InnoDB;
67+
ALTER TABLE ibexa_collaboration
68+
ADD CONSTRAINT ibexa_collaboration_owner_id_fk FOREIGN KEY (owner_id) REFERENCES ezuser (contentobject_id) ON DELETE RESTRICT;
69+
ALTER TABLE ibexa_collaboration_participant
70+
ADD CONSTRAINT ibexa_collaboration_participant_session_id_fk FOREIGN KEY (session_id) REFERENCES ibexa_collaboration (id) ON UPDATE CASCADE ON DELETE CASCADE;
71+
ALTER TABLE ibexa_collaboration_participant_internal
72+
ADD CONSTRAINT ibexa_collaboration_participant_internal_pk FOREIGN KEY (id) REFERENCES ibexa_collaboration_participant (id) ON UPDATE CASCADE ON DELETE CASCADE;
73+
ALTER TABLE ibexa_collaboration_participant_internal
74+
ADD CONSTRAINT ibexa_collaboration_participant_internal_user_id_fk FOREIGN KEY (user_id) REFERENCES ezuser (contentobject_id) ON DELETE RESTRICT;
75+
ALTER TABLE ibexa_collaboration_participant_external
76+
ADD CONSTRAINT ibexa_collaboration_participant_external_pk FOREIGN KEY (id) REFERENCES ibexa_collaboration_participant (id) ON UPDATE CASCADE ON DELETE CASCADE;
77+
ALTER TABLE ibexa_collaboration_invitation
78+
ADD CONSTRAINT ibexa_collaboration_invitation_session_id_fk FOREIGN KEY (session_id) REFERENCES ibexa_collaboration (id) ON UPDATE CASCADE ON DELETE CASCADE;
79+
ALTER TABLE ibexa_collaboration_invitation
80+
ADD CONSTRAINT ibexa_collaboration_invitation_participant_id_fk FOREIGN KEY (participant_id) REFERENCES ibexa_collaboration_participant (id) ON UPDATE CASCADE ON DELETE CASCADE;
81+
ALTER TABLE ibexa_collaboration_invitation
82+
ADD CONSTRAINT ibexa_collaboration_invitation_sender_id_fk FOREIGN KEY (sender_id) REFERENCES ezuser (contentobject_id) ON DELETE RESTRICT;
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
CREATE TABLE ibexa_collaboration
2+
(
3+
id SERIAL NOT NULL,
4+
owner_id INT NOT NULL,
5+
token VARCHAR(160) NOT NULL,
6+
discriminator VARCHAR(190) NOT NULL,
7+
is_active BOOLEAN NOT NULL,
8+
has_public_link BOOLEAN NOT NULL,
9+
created_at TIMESTAMP(0) WITH TIME ZONE NOT NULL,
10+
updated_at TIMESTAMP(0) WITH TIME ZONE NOT NULL,
11+
PRIMARY KEY (id)
12+
);
13+
CREATE UNIQUE INDEX ibexa_collaboration_token_idx ON ibexa_collaboration (token);
14+
CREATE INDEX ibexa_collaboration_owner_idx ON ibexa_collaboration (owner_id);
15+
CREATE UNIQUE INDEX ibexa_collaboration_token_uc ON ibexa_collaboration (token);
16+
COMMENT
17+
ON COLUMN ibexa_collaboration.created_at IS '(DC2Type:datetimetz_immutable)';
18+
COMMENT
19+
ON COLUMN ibexa_collaboration.updated_at IS '(DC2Type:datetimetz_immutable)';
20+
CREATE TABLE ibexa_collaboration_participant
21+
(
22+
id SERIAL NOT NULL,
23+
session_id INT NOT NULL,
24+
discriminator VARCHAR(190) NOT NULL,
25+
scope VARCHAR(255) DEFAULT NULL,
26+
token VARCHAR(255) DEFAULT NULL,
27+
created_at TIMESTAMP(0) WITH TIME ZONE NOT NULL,
28+
updated_at TIMESTAMP(0) WITH TIME ZONE NOT NULL,
29+
PRIMARY KEY (id)
30+
);
31+
CREATE INDEX ibexa_collaboration_participant_idx ON ibexa_collaboration_participant (session_id);
32+
CREATE UNIQUE INDEX ibexa_collaboration_participant_token_idx ON ibexa_collaboration_participant (token);
33+
COMMENT
34+
ON COLUMN ibexa_collaboration_participant.created_at IS '(DC2Type:datetimetz_immutable)';
35+
COMMENT
36+
ON COLUMN ibexa_collaboration_participant.updated_at IS '(DC2Type:datetimetz_immutable)';
37+
CREATE TABLE ibexa_collaboration_participant_internal
38+
(
39+
id INT NOT NULL,
40+
user_id INT NOT NULL,
41+
PRIMARY KEY (id)
42+
);
43+
CREATE INDEX ibexa_collaboration_participant_internal_idx ON ibexa_collaboration_participant_internal (user_id);
44+
CREATE TABLE ibexa_collaboration_participant_external
45+
(
46+
id INT NOT NULL,
47+
email VARCHAR(255) NOT NULL,
48+
PRIMARY KEY (id)
49+
);
50+
CREATE TABLE ibexa_collaboration_invitation
51+
(
52+
id SERIAL NOT NULL,
53+
session_id INT NOT NULL,
54+
participant_id INT NOT NULL,
55+
sender_id INT NOT NULL,
56+
status VARCHAR(64) NOT NULL,
57+
context JSON DEFAULT NULL,
58+
created_at TIMESTAMP(0) WITH TIME ZONE NOT NULL,
59+
updated_at TIMESTAMP(0) WITH TIME ZONE NOT NULL,
60+
PRIMARY KEY (id)
61+
);
62+
CREATE INDEX ibexa_collaboration_invitation_idx ON ibexa_collaboration_invitation (session_id);
63+
CREATE INDEX ibexa_collaboration_invitation_idx ON ibexa_collaboration_invitation (participant_id);
64+
CREATE INDEX ibexa_collaboration_invitation_idx ON ibexa_collaboration_invitation (sender_id);
65+
COMMENT
66+
ON COLUMN ibexa_collaboration_invitation.created_at IS '(DC2Type:datetimetz_immutable)';
67+
COMMENT
68+
ON COLUMN ibexa_collaboration_invitation.updated_at IS '(DC2Type:datetimetz_immutable)';
69+
ALTER TABLE ibexa_collaboration
70+
ADD CONSTRAINT ibexa_collaboration_owner_id_fk FOREIGN KEY (owner_id) REFERENCES ezuser (contentobject_id) ON DELETE RESTRICT NOT DEFERRABLE INITIALLY IMMEDIATE;
71+
ALTER TABLE ibexa_collaboration_participant
72+
ADD CONSTRAINT ibexa_collaboration_participant_session_id_fk FOREIGN KEY (session_id) REFERENCES ibexa_collaboration (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE;
73+
ALTER TABLE ibexa_collaboration_participant_internal
74+
ADD CONSTRAINT ibexa_collaboration_participant_internal_pk FOREIGN KEY (id) REFERENCES ibexa_collaboration_participant (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE;
75+
ALTER TABLE ibexa_collaboration_participant_internal
76+
ADD CONSTRAINT ibexa_collaboration_participant_internal_user_id_fk FOREIGN KEY (user_id) REFERENCES ezuser (contentobject_id) ON DELETE RESTRICT NOT DEFERRABLE INITIALLY IMMEDIATE;
77+
ALTER TABLE ibexa_collaboration_participant_external
78+
ADD CONSTRAINT ibexa_collaboration_participant_external_pk FOREIGN KEY (id) REFERENCES ibexa_collaboration_participant (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE;
79+
ALTER TABLE ibexa_collaboration_invitation
80+
ADD CONSTRAINT ibexa_collaboration_invitation_session_id_fk FOREIGN KEY (session_id) REFERENCES ibexa_collaboration (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE;
81+
ALTER TABLE ibexa_collaboration_invitation
82+
ADD CONSTRAINT ibexa_collaboration_invitation_participant_id_fk FOREIGN KEY (participant_id) REFERENCES ibexa_collaboration_participant (id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE;
83+
ALTER TABLE ibexa_collaboration_invitation
84+
ADD CONSTRAINT ibexa_collaboration_invitation_sender_id_fk FOREIGN KEY (sender_id) REFERENCES ezuser (contentobject_id) ON DELETE RESTRICT NOT DEFERRABLE INITIALLY IMMEDIATE;

0 commit comments

Comments
 (0)