Files
phylum/client/lib/libphylum/db/resources.drift
T
2024-11-03 07:37:42 +05:30

25 lines
872 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" INTEGER NOT NULL DEFAULT 0,
"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;