Implement file sharing functionality with public share links and associated API endpoints
This commit is contained in:
17
go_cloud/migrations/0007_file_share_links.sql
Normal file
17
go_cloud/migrations/0007_file_share_links.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- Create file_share_links table
|
||||
|
||||
CREATE TABLE file_share_links (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
token TEXT NOT NULL UNIQUE,
|
||||
file_id UUID NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
||||
org_id UUID NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
created_by_user_id UUID NOT NULL REFERENCES users(id),
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
expires_at TIMESTAMP WITH TIME ZONE,
|
||||
is_revoked BOOLEAN DEFAULT FALSE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_file_share_links_token ON file_share_links(token);
|
||||
CREATE INDEX idx_file_share_links_file_id ON file_share_links(file_id);
|
||||
CREATE INDEX idx_file_share_links_org_id ON file_share_links(org_id);
|
||||
10
go_cloud/migrations/0007_file_share_links_down.sql
Normal file
10
go_cloud/migrations/0007_file_share_links_down.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Drop file_share_links table
|
||||
|
||||
DROP TABLE IF EXISTS file_share_links;
|
||||
expires_at TIMESTAMP WITH TIME ZONE,
|
||||
is_revoked BOOLEAN DEFAULT FALSE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_file_share_links_token ON file_share_links(token);
|
||||
CREATE INDEX idx_file_share_links_file_id ON file_share_links(file_id);
|
||||
CREATE INDEX idx_file_share_links_org_id ON file_share_links(org_id);
|
||||
3
go_cloud/migrations/0007_file_share_links_down.sql.bak
Normal file
3
go_cloud/migrations/0007_file_share_links_down.sql.bak
Normal file
@@ -0,0 +1,3 @@
|
||||
-- Drop file_share_links table
|
||||
|
||||
DROP TABLE IF EXISTS file_share_links;
|
||||
Reference in New Issue
Block a user