Project create/list API, clip uploads, CORS, public read

- Project gains a clip FileField; POST /api/projects/ creates one from an
  uploaded otio + clip (<=100 MB), owned by the requester
- add /api/me/ and project-detail; scene GET is public (view without login),
  PUT stays owner/collaborator-only
- serve media in DEBUG (range requests for video seek); CORS for the cljs dev
  origin with credentials
- seed_demo now builds the Challengers project from the bundled otio + 480p clip

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Your Name 2026-06-29 01:39:54 -04:00
parent 60fb4df795
commit 94475da936
9 changed files with 114 additions and 41 deletions

View file

@ -0,0 +1,18 @@
# Generated by Django 6.0.6 on 2026-06-29 05:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('scenes', '0003_project_collaborators'),
]
operations = [
migrations.AddField(
model_name='project',
name='clip',
field=models.FileField(blank=True, null=True, upload_to='clips/'),
),
]