7f1ba6222d
Includes Microsoft->Minecraft OAuth, simple server adding and invite generation, and invite acceptance/RCON whitelisting.
47 lines
1.2 KiB
SQL
47 lines
1.2 KiB
SQL
-- noinspection SqlNoDataSourceInspectionForFile
|
|
|
|
CREATE TABLE `invites` (
|
|
`token` TEXT NOT NULL,
|
|
`creator` TEXT NOT NULL,
|
|
`server` TEXT NOT NULL,
|
|
`uses` INT NOT NULL,
|
|
`unlimited` INTEGER NOT NULL,
|
|
PRIMARY KEY (`token`),
|
|
FOREIGN KEY (`server`) REFERENCES servers(`id`),
|
|
FOREIGN KEY (`creator`) REFERENCES users(`id`)
|
|
) STRICT;
|
|
|
|
CREATE TABLE `servers` (
|
|
`id` TEXT NOT NULL,
|
|
`name` TEXT NOT NULL,
|
|
`address` TEXT NOT NULL,
|
|
`rcon_address` TEXT NOT NULL,
|
|
`rcon_password` TEXT NOT NULL,
|
|
`owner` TEXT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) STRICT;
|
|
|
|
CREATE TABLE `users` (
|
|
`id` TEXT NOT NULL,
|
|
`token` TEXT NOT NULL,
|
|
`display_name` TEXT NOT NULL,
|
|
`refresh_token` TEXT NOT NULL,
|
|
`token_expiry` TEXT NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) STRICT;
|
|
|
|
CREATE TABLE `sessions` (
|
|
`token` TEXT NOT NULL,
|
|
`uid` TEXT NOT NULL,
|
|
`expiry` TEXT NOT NULL,
|
|
PRIMARY KEY (`token`),
|
|
FOREIGN KEY (`uid`) REFERENCES users(`id`)
|
|
) STRICT;
|
|
|
|
CREATE TABLE `invite_log` (
|
|
`entry_id` TEXT NOT NULL,
|
|
`invite` TEXT NOT NULL,
|
|
`user` TEXT NOT NULL,
|
|
PRIMARY KEY (`entry_id`),
|
|
FOREIGN KEY (`invite`) REFERENCES invites(`token`)
|
|
) |