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

@ -3,8 +3,9 @@ from django.urls import path
from . import views
urlpatterns = [
path("me/", views.me),
path("projects/", views.projects),
path("projects/<int:pk>/", views.project),
path("projects/<int:pk>/scene/", views.scene),
path("projects/<int:pk>/otio/", views.otio),
path("projects/<int:pk>/revisions/", views.revisions),
]