share funxtions
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
ALTER TABLE workspaces ADD COLUMN is_private INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE pads ADD COLUMN is_private INTEGER NOT NULL DEFAULT 0;
|
||||
CREATE TABLE resource_permissions (
|
||||
resource_kind TEXT NOT NULL,
|
||||
resource_slug TEXT NOT NULL,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
permission TEXT NOT NULL CHECK(permission IN ('ro','rw')),
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY(resource_kind, resource_slug, user_id)
|
||||
);
|
||||
CREATE INDEX idx_resource_permissions_user ON resource_permissions(user_id);
|
||||
CREATE TABLE resource_share_links (
|
||||
token_hash TEXT PRIMARY KEY,
|
||||
resource_kind TEXT NOT NULL,
|
||||
resource_slug TEXT NOT NULL,
|
||||
permission TEXT NOT NULL CHECK(permission IN ('ro','rw')),
|
||||
expires_at TEXT,
|
||||
created_by INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
revoked_at TEXT
|
||||
);
|
||||
CREATE INDEX idx_resource_share_links_resource ON resource_share_links(resource_kind, resource_slug);
|
||||
Reference in New Issue
Block a user