PRAGMA journal_mode=WAL;


CREATE TABLE IF NOT EXISTS customer (
    id TEXT NOT NULL PRIMARY KEY
    ,max_nkode_len INTEGER NOT NULL
    ,min_nkode_len INTEGER NOT NULL
    ,distinct_sets INTEGER NOT NULL
    ,distinct_attributes INTEGER NOT NULL
    ,lock_out INTEGER NOT NULL
    ,expiration INTEGER NOT NULL
    ,attribute_values BLOB NOT NULL
    ,set_values BLOB NOT NULL
    ,last_renew TEXT NOT NULL
    ,created_at TEXT NOT NULL
);

CREATE TABLE IF NOT EXISTS user (
    id TEXT NOT NULL PRIMARY KEY
    ,email TEXT NOT NULL
--	first_name TEXT NOT NULL
--	last_name TEXT NOT NULL
    ,renew INT NOT NULL
    ,refresh_token TEXT
    ,customer_id TEXT NOT NULL

-- Enciphered Passcode
    ,code TEXT NOT NULL
    ,mask TEXT NOT NULL

-- Keypad Dimensions
    ,attributes_per_key INT NOT NULL
    ,number_of_keys INT NOT NULL

-- User Keys
    ,alpha_key BLOB NOT NULL
    ,set_key BLOB NOT NULL
    ,pass_key BLOB NOT NULL
    ,mask_key BLOB NOT NULL
    ,salt BLOB NOT NULL
    ,max_nkode_len INT NOT NULL

-- User Interface
    ,idx_interface BLOB NOT NULL
    ,svg_id_interface BLOB NOT NULL

    ,last_login TEXT NULL
    ,created_at TEXT

    ,FOREIGN KEY (customer_id) REFERENCES customer(id)
    ,UNIQUE(customer_id, email)
);

CREATE TABLE IF NOT EXISTS svg_icon (
    id INTEGER PRIMARY KEY AUTOINCREMENT
    ,svg TEXT NOT NULL
);
