ENGLISH·COURSE API
    Preparing search index...

    Driven adapter: filesystem-backed BlobStore.

    Resolves a content key (e.g., advanced-intermediate-course/.../lesson.mp4) to a URL served by Next.js from /public/, AND checks whether the underlying file exists on disk.

    The constructor takes TWO separate arguments on purpose — mixing the URL prefix with the filesystem path is a footgun. baseUrl is the public URL prefix (no trailing slash), localRoot is the absolute filesystem path the content lives under. They MUST be passed explicitly; the constructor does not derive one from the other.

    Migration story: a future S3BlobStore will replace this implementation without changes to the lesson/resource adapters. The constructor shape (separating "what the URL looks like" from "where the bytes live") is the contract the S3 driver will mirror with { bucket, region, cdnUrl? }.

    Implements

    Index

    Methods