schema.sql

 1-- SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 2--
 3-- SPDX-License-Identifier: CC0-1.0
 4
 5CREATE TABLE users
 6(
 7    username   TEXT      NOT NULL PRIMARY KEY,
 8    hash       TEXT      NOT NULL,
 9    salt       TEXT      NOT NULL,
10    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
11);
12
13CREATE TABLE sessions
14(
15    token      TEXT      NOT NULL PRIMARY KEY,
16    username   TEXT      NOT NULL,
17    expires    TIMESTAMP NOT NULL,
18    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
19);
20
21CREATE TABLE projects
22(
23    url        TEXT      NOT NULL PRIMARY KEY,
24    name       TEXT      NOT NULL,
25    forge      TEXT      NOT NULL,
26    version    TEXT      NOT NULL,
27    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
28);
29
30CREATE TABLE releases
31(
32    id          TEXT      NOT NULL PRIMARY KEY,
33    project_url TEXT      NOT NULL,
34    release_url TEXT      NOT NULL,
35    tag         TEXT      NOT NULL,
36    content     TEXT      NOT NULL,
37    date        TIMESTAMP NOT NULL,
38    created_at  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
39);