ipaddr TEXT,
confirmed TIMESTAMP,
decided TIMESTAMP,
- msg TEXT NOT NULL);
+ msg TEXT NOT NULL,
+ unix_passwd TEXT NOT NULL,
+ paypal TEXT,
+ checkout TEXT);
CREATE SEQUENCE MemberAppSeq START 1;
bal INTEGER NOT NULL,
joined TIMESTAMP NOT NULL,
app INTEGER NOT NULL,
+ shares INTEGER NOT NULL,
+ paypal TEXT,
+ checkout TEXT
FOREIGN KEY (bal) REFERENCES Balance(id) ON DELETE CASCADE,
FOREIGN KEY (app) REFERENCES MemberApp(id) ON DELETE CASCADE);
starts DATE NOT NULL,
ends DATE NOT NULL,
votes INTEGER NOT NULL,
+ official BOOL NOT NULL,
+ ready BOOL NOT NULL,
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
CREATE SEQUENCE PollSeq START 1;
priv BOOLEAN NOT NULL,
status INTEGER NOT NULL,
stamp TIMESTAMP NOT NULL,
+ pstamp TIMESTAMP,
+ cstamp TIMESTAMP,
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE,
FOREIGN KEY (cat) REFERENCES SupCategory(id) ON DELETE CASCADE);
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE,
FOREIGN KEY (cat) REFERENCES SupCategory(id) ON DELETE CASCADE);
+CREATE TABLE WebNode(
+ id INTEGER PRIMARY KEY,
+ name TEXT NOT NULL,
+ descr TEXT NOT NULL,
+ debian TEXT NOT NULL);
+
+INSERT INTO WebNode (id, name, descr, debian)
+ VALUES (0, 'fyodor', 'old server', 'testing');
+INSERT INTO WebNode (id, name, descr, debian)
+ VALUES (1, 'deleuze', 'main server', 'stable');
+INSERT INTO WebNode (id, name, descr, debian)
+ VALUES (2, 'mire', 'member web server', 'stable');
+
CREATE TABLE Apt(
id INTEGER PRIMARY KEY,
usr INTEGER NOT NULL,
+ node INTEGER NOT NULL,
data TEXT NOT NULL,
msg TEXT NOT NULL,
status INTEGER NOT NULL,
stamp TIMESTAMP NOT NULL,
- FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
+ cstamp TIMESTAMP,
+ FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE,
+ FOREIGN KEY (node) REFERENCES WebNode(id) ON DELETE CASCADE);
CREATE SEQUENCE AptSeq START 1;
msg TEXT NOT NULL,
status INTEGER NOT NULL,
stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
CREATE SEQUENCE DomainSeq START 1;
msg TEXT NOT NULL,
status INTEGER NOT NULL,
stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
CREATE SEQUENCE MailingListSeq START 1;
FOREIGN KEY (app) REFERENCES MemberApp(id) ON DELETE CASCADE,
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
+CREATE VIEW WebUserPaying
+ AS SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
+ FROM WebUser
+ JOIN (SELECT usr FROM Membership JOIN WebGroup
+ ON grp = WebGroup.id
+ AND WebGroup.name = 'paying') AS bob
+ ON usr = WebUser.id;
+
CREATE VIEW WebUserActive
- AS SELECT id, name, rname, bal, joined, app
+ AS SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
FROM WebUser
LEFT OUTER JOIN (SELECT usr FROM Membership JOIN WebGroup
ON grp = WebGroup.id AND (WebGroup.name IN ('retired', 'phantom'))) AS mem
PRIMARY KEY (rol, usr),
FOREIGN KEY (rol) REFERENCES RollCall(id) ON DELETE CASCADE,
FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
+
+CREATE TABLE Sec(
+ id INTEGER PRIMARY KEY,
+ usr INTEGER NOT NULL,
+ node INTEGER NOT NULL,
+ data TEXT NOT NULL,
+ msg TEXT NOT NULL,
+ status INTEGER NOT NULL,
+ stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
+ FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE,
+ FOREIGN KEY (node) REFERENCES WebNode(id) ON DELETE CASCADE);
+
+CREATE SEQUENCE SecSeq START 1;
+
+CREATE TABLE Ip(
+ id INTEGER PRIMARY KEY,
+ usr INTEGER NOT NULL,
+ node INTEGER NOT NULL,
+ data TEXT NOT NULL,
+ msg TEXT NOT NULL,
+ status INTEGER NOT NULL,
+ stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
+ FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE,
+ FOREIGN KEY (node) REFERENCES WebNode(id) ON DELETE CASCADE);
+
+CREATE SEQUENCE IpSeq START 1;
+
+CREATE TABLE Cert(
+ id INTEGER PRIMARY KEY,
+ usr INTEGER NOT NULL,
+ data TEXT NOT NULL,
+ msg TEXT NOT NULL,
+ status INTEGER NOT NULL,
+ stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
+ FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
+
+CREATE SEQUENCE CertSeq START 1;
+
+CREATE TABLE Sign(
+ id INTEGER PRIMARY KEY,
+ usr INTEGER NOT NULL,
+ data TEXT NOT NULL,
+ msg TEXT NOT NULL,
+ status INTEGER NOT NULL,
+ stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
+ FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
+
+CREATE SEQUENCE SignSeq START 1;
+
+CREATE TABLE Quota(
+ id INTEGER PRIMARY KEY,
+ usr INTEGER NOT NULL,
+ data TEXT NOT NULL,
+ msg TEXT NOT NULL,
+ status INTEGER NOT NULL,
+ stamp TIMESTAMP NOT NULL,
+ cstamp TIMESTAMP,
+ FOREIGN KEY (usr) REFERENCES WebUser(id) ON DELETE CASCADE);
+
+CREATE SEQUENCE QuotaSeq START 1;