import { cassandra } from "@lib/cassandra";

async function createTable() {
	await cassandra.getClient().execute(`
		CREATE TABLE IF NOT EXISTS users (
			id TEXT PRIMARY KEY,
			username TEXT,
			display_name TEXT,
			email TEXT,
			password TEXT,
			avatar_url TEXT,
			is_verified BOOLEAN,
			created_at TIMESTAMP,
			updated_at TIMESTAMP
		);
	`);

	await cassandra.getClient().execute(`
		CREATE INDEX IF NOT EXISTS users_username_idx ON users (username);
	`);

	await cassandra.getClient().execute(`
		CREATE INDEX IF NOT EXISTS users_email_idx ON users (email);
	`);
}

async function dropTable() {
	await cassandra.getClient().execute(`
		DROP TABLE IF EXISTS users;
	`);

	await cassandra.getClient().execute(`
		DROP INDEX IF EXISTS users_username_idx;
	`);

	await cassandra.getClient().execute(`
		DROP INDEX IF EXISTS users_email_idx;
	`);
}

export { createTable, dropTable };