login

<     >

2023-07-26 14:47:20 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

db: add priority, is_active, project color and ticket blocks

diff --git a/data.lua b/data.lua
index 37a0300..1420b71 100644
--- a/data.lua
+++ b/data.lua
@@ -2,6 +2,12 @@ local lud = require "ludweb"
 
 local auth = require "auth"
 
+--[[
+common data representations:
+    time INTEGER - unix timestamp
+    color INTEGER - 24-bits RGB; MSB is red, LSB is blue
+    priority INTEGER - no bounds; highest number <-> highest priority
+]]
 local schema = [[
 CREATE TABLE IF NOT EXISTS User (
     id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -17,8 +23,12 @@ CREATE TABLE IF NOT EXISTS Invite (
 );
 CREATE TABLE IF NOT EXISTS Project (
     id INTEGER PRIMARY KEY AUTOINCREMENT,
+    time INTEGER NOT NULL,
     name TEXT NOT NULL UNIQUE,
-    desc TEXT
+    desc TEXT,
+    color INTEGER,
+    priority INTEGER NOT NULL,
+    is_active INTEGER NOT NULL
 );
 CREATE TABLE IF NOT EXISTS Membership (
     proj_id INTEGER REFERENCES Project(id),
@@ -37,7 +47,14 @@ CREATE TABLE IF NOT EXISTS Ticket (
     time INTEGER NOT NULL,
     code INTEGER NOT NULL,
     title TEXT NOT NULL,
-    desc TEXT
+    desc TEXT,
+    priority INTEGER NOT NULL,
+    is_active INTEGER NOT NULL
+);
+CREATE TABLE IF NOT EXISTS Block (
+    blocked INTEGER REFERENCES Ticket(id),
+    blocker INTEGER REFERENCES Ticket(id),
+    PRIMARY KEY(blocked, blocker)
 );
 CREATE TABLE IF NOT EXISTS Shift (
     id INTEGER PRIMARY KEY AUTOINCREMENT,