channel VARCHAR NOT NULL,
ts VARCHAR NOT NULL,
sheet_title VARCHAR NOT NULL,
+ tab_name VARCHAR, -- Cache; blown away every time we see a new message.
+ tab_id VARCHAR, -- Ditto.
PRIMARY KEY (channel, ts)
);
CREATE TABLE users_nagged (
userid VARCHAR NOT NULL,
+ ts VARCHAR NOT NULL, -- Of the invitation.
last_nag TIMESTAMP WITH TIME ZONE NOT NULL,
- PRIMARY KEY (userid)
+ PRIMARY KEY (userid, ts)
);
CREATE TABLE group_membership_history (
);
CREATE INDEX gmh_lookup_idx ON group_membership_history (channel, ts, name, change_seen DESC);
+CREATE TABLE oauth_tokens (
+ token VARCHAR NOT NULL,
+ acquired TIMESTAMP WITH TIME ZONE NOT NULL,
+ expiry TIMESTAMP WITH TIME ZONE NOT NULL
+);
+CREATE INDEX oauth_tokens_exp_idx ON oauth_tokens ( expiry );
+
CREATE VIEW current_reactions AS
SELECT userid, channel, ts, reaction
FROM ( SELECT DISTINCT ON (channel, ts, userid, reaction)
GRANT SELECT,INSERT ON TABLE users_nagged TO skvidarlang;
GRANT SELECT,INSERT ON TABLE group_membership_history TO skvidarlang;
GRANT SELECT ON TABLE current_group_membership_history TO skvidarlang;
+GRANT SELECT,INSERT ON TABLE oauth_tokens TO skvidarlang;