summaryrefslogtreecommitdiffstats
path: root/schema
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2017-04-27 09:24:11 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2017-04-30 16:47:13 +0200
commita8ac2004d3f25877d9e7b4fa58f10009c39f8acf (patch)
tree968cb95c2e7617608f15ccece4823ea4006c59cf /schema
parent6892ec7791bf04361ac2973b38d0025b50fa4727 (diff)
downloadaur-a8ac2004d3f25877d9e7b4fa58f10009c39f8acf.tar.gz
aur-a8ac2004d3f25877d9e7b4fa58f10009c39f8acf.tar.xz
Add support for Terms of Service documents
This allows for adding Terms of Service documents to the database that registered users need to accept before using the AUR. A revision field can be used to indicate whether a document was updated. If it is increased, all users are again asked to accept the new terms. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'schema')
-rw-r--r--schema/aur-schema.sql20
1 files changed, 20 insertions, 0 deletions
diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql
index e5841652..45272bbe 100644
--- a/schema/aur-schema.sql
+++ b/schema/aur-schema.sql
@@ -379,3 +379,23 @@ CREATE TABLE Bans (
BanTS TIMESTAMP NOT NULL,
PRIMARY KEY (IPAddress)
) ENGINE = InnoDB;
+
+-- Terms and Conditions
+--
+CREATE TABLE Terms (
+ ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ Description VARCHAR(255) NOT NULL,
+ URL VARCHAR(8000) NOT NULL,
+ Revision INTEGER UNSIGNED NOT NULL DEFAULT 1,
+ PRIMARY KEY (ID)
+) ENGINE = InnoDB;
+
+-- Terms and Conditions accepted by users
+--
+CREATE TABLE AcceptedTerms (
+ UsersID INTEGER UNSIGNED NOT NULL,
+ TermsID INTEGER UNSIGNED NOT NULL,
+ Revision INTEGER UNSIGNED NOT NULL DEFAULT 0,
+ FOREIGN KEY (UsersID) REFERENCES Users(ID) ON DELETE CASCADE,
+ FOREIGN KEY (TermsID) REFERENCES Terms(ID) ON DELETE CASCADE
+) ENGINE = InnoDB;