create table users(
    id integer primary key autoincrement not null,
    name string unique not null
);

-- for development only, replace with properly hashed passwords later
create table challenges_plain_password(
    user_id integer primary key not null,
    password string not null
);

create table rooms(
    id integer primary key autoincrement not null,
    name string unique not null,
    topic string not null,
    message_count integer not null default 0
);

create table messages(
    room_id integer not null,
    id integer not null,  -- unique per room, sequential in one room
    content string not null,
    primary key (room_id, id)
);

create table memberships(
    user_id integer not null,
    room_id integer not null,
    status integer not null, -- 0 for not-joined, 1 for joined, 2 for banned
    primary key (user_id, room_id)
);
