if table "user" doesn't exist, db is created
This commit is contained in:
parent
a176f856d8
commit
390f4dc76e
146
db.py
146
db.py
|
@ -14,82 +14,84 @@ class DB(object):
|
||||||
dbfile = ':memory:'
|
dbfile = ':memory:'
|
||||||
self.conn = sqlite3.connect(dbfile)
|
self.conn = sqlite3.connect(dbfile)
|
||||||
self.cur = self.conn.cursor()
|
self.cur = self.conn.cursor()
|
||||||
self.secret = urandom(32)
|
self.cur.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='user';")
|
||||||
|
if self.cur.fetchone()[0] != 'user':
|
||||||
self.create()
|
self.create()
|
||||||
|
self.secret = urandom(32)
|
||||||
|
|
||||||
def create(self):
|
def create(self):
|
||||||
# init db
|
# init db
|
||||||
self.cur.executescript('''
|
self.cur.executescript('\
|
||||||
CREATE TABLE "user" (
|
CREATE TABLE "user" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`email` TEXT,
|
`email` TEXT,\
|
||||||
`passhash` TEXT,
|
`passhash` TEXT,\
|
||||||
`enabled` INTEGER DEFAULT 1
|
`enabled` INTEGER DEFAULT 1\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "twitter_request_tokens" (
|
CREATE TABLE "twitter_request_tokens" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`request_token` TEXT,
|
`request_token` TEXT,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "twitter_accounts" (
|
CREATE TABLE "twitter_accounts" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`client_id` TEXT,
|
`client_id` TEXT,\
|
||||||
`client_secret` TEXT,
|
`client_secret` TEXT,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "trigger_good" (
|
CREATE TABLE "trigger_good" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`words` TEXT,
|
`words` TEXT,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "trigger_bad" (
|
CREATE TABLE "trigger_bad" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`words` TEXT,
|
`words` TEXT,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "mastodon_instances" (
|
CREATE TABLE "mastodon_instances" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`instance` TEXT,
|
`instance` TEXT,\
|
||||||
`client_id` TEXT,
|
`client_id` TEXT,\
|
||||||
`client_secret` TEXT
|
`client_secret` TEXT\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "mastodon_accounts" (
|
CREATE TABLE "mastodon_accounts" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`access_token` TEXT,
|
`access_token` TEXT,\
|
||||||
`instance_id` TEXT,
|
`instance_id` TEXT,\
|
||||||
`active` INTEGER,
|
`active` INTEGER,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` ),
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` ),\
|
||||||
FOREIGN KEY(`instance_id`) REFERENCES `mastodon_instances` ( `id` )
|
FOREIGN KEY(`instance_id`) REFERENCES `mastodon_instances` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "seen_toots" (
|
CREATE TABLE "seen_toots" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`mastodon_accounts_id` INTEGER,
|
`mastodon_accounts_id` INTEGER,\
|
||||||
`toot_id` TEXT,
|
`toot_id` TEXT,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` ),
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` ),\
|
||||||
FOREIGN KEY(`mastodon_accounts_id`) REFERENCES `mastodon_accounts` ( `id` )
|
FOREIGN KEY(`mastodon_accounts_id`) REFERENCES `mastodon_accounts` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "mail" (
|
CREATE TABLE "mail" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`email` TEXT,
|
`email` TEXT,\
|
||||||
`active` INTEGER,
|
`active` INTEGER,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )\
|
||||||
);
|
);\
|
||||||
CREATE TABLE "seen_tweets" (
|
CREATE TABLE "seen_tweets" (\
|
||||||
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,\
|
||||||
`user_id` INTEGER,
|
`user_id` INTEGER,\
|
||||||
`twitter_accounts_id` INTEGER,
|
`twitter_accounts_id` INTEGER,\
|
||||||
`tweet_id` TEXT,
|
`tweet_id` TEXT,\
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )
|
FOREIGN KEY(`user_id`) REFERENCES `user` ( `id` )\
|
||||||
FOREIGN KEY(`twitter_accounts_id`) REFERENCES `twitter_accounts` ( `id` )
|
FOREIGN KEY(`twitter_accounts_id`) REFERENCES `twitter_accounts` ( `id` )\
|
||||||
);
|
);\
|
||||||
''')
|
')
|
||||||
|
|
||||||
def token(self, email, password):
|
def token(self, email, password):
|
||||||
return jwt.encode({
|
return jwt.encode({
|
||||||
|
|
Loading…
Reference in a new issue