[ {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"Name","value":"create_user"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":"\n "}, {"type":"Operator","value":"("}, {"type":"KeywordType","value":"unit"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-\u003e."}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"unit"}, {"type":"Operator","value":")"}, {"type":"Text","value":"\n "}, {"type":"Operator","value":"@@"}, {"type":"Text","value":" "}, {"type":"LiteralStringAffix","value":"{eos|"}, {"type":"LiteralString","value":"\n CREATE TABLE IF NOT EXISTS user (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL CHECK (LENGTH(name) \u003c= 256),\n password_hash TEXT NOT NULL,\n created_unix INTEGER NOT NULL DEFAULT (unixepoch()),\n\n UNIQUE (name COLLATE NOCASE)\n ) STRICT\n "}, {"type":"LiteralStringAffix","value":"|eos}"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"Name","value":"create_group"}, {"type":"Text","value":" "}, {"type":"Operator","value":"="}, {"type":"Text","value":"\n "}, {"type":"Operator","value":"("}, {"type":"KeywordType","value":"unit"}, {"type":"Text","value":" "}, {"type":"Operator","value":"-\u003e."}, {"type":"Text","value":" "}, {"type":"KeywordType","value":"unit"}, {"type":"Operator","value":")"}, {"type":"Text","value":"\n "}, {"type":"Operator","value":"@@"}, {"type":"Text","value":" "}, {"type":"LiteralStringAffix","value":"{|"}, {"type":"LiteralString","value":"\n CREATE TABLE IF NOT EXISTS `group` (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL CHECK (LENGTH(name) \u003c= 256),\n description TEXT CHECK (description IS NULL OR LENGTH(description) \u003c= 1024),\n user_id INTEGER NOT NULL, -- Controls the group\n created_unix INTEGER NOT NULL DEFAULT (unixepoch()),\n\n FOREIGN KEY (user_id) REFERENCES user(id),\n UNIQUE (name COLLATE NOCASE)\n ) STRICT\n "}, {"type":"LiteralStringAffix","value":"|}"}, {"type":"Text","value":"\n"} ]