
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview
Add organizational support with two new models: Organization and OrganizationRole. These models enable organizations to own/manage channels and define user roles (with permissions and invitation workflow).
Complexity: Medium
Target branch: feature_organization_model
The Change
-
Add Organization model with metadata (name, description, tagline, website, email, thumbnail, public, deleted), FK to Channel, FK to OrganizationRole, JSON settings, and timestamps. Organization is a ForeignKey on the Channel model creating a many-to-one relationship: many channels can belong to one organization for ownership and management.
-
Add OrganizationRole as the through model linking User and Organization, storing role name, status (active/pending/etc.), joined_at, invitation_accepted_at, invited_by
Acceptance Criteria
AI usage
Used AI to generate models but they were carefully reviewed
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Overview
Add organizational support with two new models: Organization and OrganizationRole. These models enable organizations to own/manage channels and define user roles (with permissions and invitation workflow).
Complexity: Medium
Target branch: feature_organization_model
The Change
Add Organization model with metadata (name, description, tagline, website, email, thumbnail, public, deleted), FK to Channel, FK to OrganizationRole, JSON settings, and timestamps. Organization is a ForeignKey on the Channel model creating a many-to-one relationship: many channels can belong to one organization for ownership and management.
Add OrganizationRole as the through model linking User and Organization, storing role name, status (active/pending/etc.), joined_at, invitation_accepted_at, invited_by
Acceptance Criteria
Organization and OrganizationRole implemented in contentcuration/models.py
Unique constraint enforced: one role per (user, organization)
PR description updated and linked to this issue
AI usage
Used AI to generate models but they were carefully reviewed