feature: apps management
This commit is contained in:
@@ -15,6 +15,7 @@ func OpenAliasDB(path string) (*AliasDB, error) {
|
||||
return nil, err
|
||||
}
|
||||
if _, err := db.Exec(`
|
||||
PRAGMA foreign_keys=ON;
|
||||
CREATE TABLE IF NOT EXISTS aliases (
|
||||
alias_email TEXT PRIMARY KEY,
|
||||
username TEXT NOT NULL,
|
||||
@@ -22,6 +23,19 @@ CREATE TABLE IF NOT EXISTS aliases (
|
||||
updated_at INTEGER NOT NULL DEFAULT (strftime('%s','now'))
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_aliases_username ON aliases(username);
|
||||
CREATE TABLE IF NOT EXISTS apps (
|
||||
app_id TEXT PRIMARY KEY,
|
||||
secret_hash TEXT NOT NULL,
|
||||
enabled INTEGER NOT NULL DEFAULT 1,
|
||||
created_at INTEGER NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS app_from (
|
||||
app_id TEXT NOT NULL,
|
||||
from_addr TEXT NOT NULL,
|
||||
enabled INTEGER NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (app_id, from_addr),
|
||||
FOREIGN KEY (app_id) REFERENCES apps(app_id) ON DELETE CASCADE
|
||||
);
|
||||
`); err != nil {
|
||||
_ = db.Close()
|
||||
return nil, fmt.Errorf("init schema: %w", err)
|
||||
|
||||
Reference in New Issue
Block a user