: GayTube operates as a "platform," meaning it hosts both professionally produced content and amateur "prosumer" uploads.
As society continues to evolve, the conversation around sexual orientation and identity becomes more inclusive and accepting. Education plays a critical role in this process, helping to dispel myths and foster understanding. By engaging in open and honest discussions, we can create environments that celebrate diversity and promote acceptance. gaytybe
-- Follows (users follow users or repos) CREATE TABLE follows ( follower_id UUID REFERENCES users(id) ON DELETE CASCADE, followee_id UUID REFERENCES users(id) ON DELETE CASCADE, repo_id UUID REFERENCES repositories(id) ON DELETE CASCADE, created_at TIMESTAMPTZ DEFAULT now(), PRIMARY KEY (follower_id, followee_id, repo_id) ); : GayTube operates as a "platform," meaning it
-- Comments (issues & PRs share same table) CREATE TABLE comments ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), parent_type TEXT NOT NULL CHECK (parent_type IN ('issue','pr')), parent_id UUID NOT NULL, author_id UUID REFERENCES users(id) ON DELETE SET NULL, body TEXT NOT NULL, safe_flag BOOLEAN NOT NULL DEFAULT FALSE, created_at TIMESTAMPTZ DEFAULT now(), updated_at TIMESTAMPTZ DEFAULT now() ); By engaging in open and honest discussions, we
-- Repositories CREATE TABLE repositories ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), owner_id UUID REFERENCES users(id) ON DELETE CASCADE, name TEXT NOT NULL, description TEXT, is_private BOOLEAN NOT NULL DEFAULT FALSE, license TEXT, tags TEXT[] DEFAULT '{}', -- e.g., ['pride-project'] created_at TIMESTAMPTZ DEFAULT now(), updated_at TIMESTAMPTZ DEFAULT now(), UNIQUE(owner_id, name) );
Despite our best intentions, there are often obstacles that can get in the way of self-care. Here are some common obstacles and strategies for overcoming them: