CREATE TABLE eventlog(
	user TEXT,
	realm TEXT,
	sessionid TEXT COLLATE NOCASE,
	timestamp TEXT,
	notes TEXT,
	dump TEXT,
	addr TEXT
);

CREATE TABLE sessions(
	timestamp TEXT,
	id TEXT COLLATE NOCASE,
	user TEXT,
	realm TEXT,
	password TEXT,
	machine_managed BOOLEAN,
	operation INTEGER,
	type TEXT,
	pps TEXT,
	redirect_uri TEXT,
	devinfo TEXT,
	devdetail TEXT,
	cert TEXT,
	cert_pem TEXT,
	mac_addr TEXT,
	osu_user TEXT,
	osu_password TEXT,
	eap_method TEXT,
	mobile_identifier_hash TEXT,
	test TEXT
);

CREATE index sessions_id_index ON sessions(id);

CREATE TABLE osu_config(
       realm TEXT,
       field TEXT,
       value TEXT
);

CREATE TABLE users(
	identity TEXT PRIMARY KEY,
	methods TEXT,
	password TEXT,
	machine_managed BOOLEAN,
	remediation TEXT,
	phase2 INTEGER,
	realm TEXT,
	policy TEXT,
	devinfo TEXT,
	devdetail TEXT,
	pps TEXT,
	fetch_pps INTEGER,
	osu_user TEXT,
	osu_password TEXT,
	shared INTEGER,
	cert TEXT,
	cert_pem TEXT,
	t_c_timestamp INTEGER,
	mac_addr TEXT,
	last_msk TEXT,
	polupd_done TEXT,
	subrem TEXT
);

CREATE TABLE wildcards(
	identity TEXT PRIMARY KEY,
	methods TEXT
);

CREATE TABLE authlog(
	timestamp TEXT,
	session TEXT,
	nas_ip TEXT,
	username TEXT,
	note TEXT
);

CREATE TABLE pending_tc(
	mac_addr TEXT PRIMARY KEY,
	identity TEXT
);

CREATE TABLE current_sessions(
	mac_addr TEXT PRIMARY KEY,
	identity TEXT,
	start_time TEXT,
	nas TEXT,
	hs20_t_c_filtering BOOLEAN,
	waiting_coa_ack BOOLEAN,
	coa_ack_received BOOLEAN
);

CREATE TABLE cert_enroll(
	mac_addr TEXT PRIMARY KEY,
	user TEXT,
	realm TEXT,
	serialnum TEXT
);

CREATE TABLE sim_provisioning(
	mobile_identifier_hash TEXT PRIMARY KEY,
	imsi TEXT,
	mac_addr TEXT,
	eap_method TEXT,
	timestamp TEXT
);
