Files
phylum/client/lib/libphylum/db/sql/resources.drift
2024-11-28 00:08:59 +05:30

26 lines
823 B
Plaintext

CREATE TABLE IF NOT EXISTS resources(
id TEXT NOT NULL PRIMARY KEY,
parent TEXT REFERENCES resources (id),
name TEXT NOT NULL,
dir BOOLEAN NOT NULL CHECK ("dir" IN (0, 1)),
created DATETIME,
modified DATETIME,
deleted BOOLEAN NOT NULL DEFAULT 0 CHECK ("deleted" IN (0, 1)),
content_size INTEGER NOT NULL DEFAULT 0,
content_sha256 TEXT NOT NULL DEFAULT '',
content_type TEXT NOT NULL DEFAULT '',
permissions TEXT,
publinks TEXT,
last_refresh DATETIME
);
parents: WITH RECURSIVE parents(id, parent, name, permissions) AS (
SELECT id, parent, name, permissions
FROM resources
WHERE id = :id
UNION ALL
SELECT r.id, r.parent, r.name, r.permissions
FROM resources r
JOIN parents p
ON r.id = p.parent
) SELECT * from parents;