# IEpubReader

- File ID: file:1mo9e25:iepubreader-cs
- Path: NexusReader.Application/Abstractions/Services/IEpubReader.cs
- Role: service
- Layer: application

## Purpose

Defines the application service contract for reading and parsing EPUB content for a specific ebook and chapter (async, tenant-aware).

## Key Details

Single-method interface; method is async, returns FluentResults-wrapped ReaderPageViewModel, accepts optional userId for tenant isolation and CancellationToken for cancellation.

## Symbols

- IEpubReader: Defines the application service contract for reading and parsing EPUB content for a specific ebook and chapter (async, tenant-aware).
- GetEpubContentAsync(): Asynchronously retrieves parsed EPUB content blocks (a ReaderPageViewModel) for the specified ebook and zero-based chapter index, optionally scoped to a user and cancellable.
- IEpubReader: Service contract that exposes EPUB reading/parsing behavior for ebooks and chapters.

## Dependencies

- No resolved dependencies.

## Calls

- No resolved calls.

## Unresolved References

- dependency-target: NexusReader.Application.Queries.Reader (ReaderPageViewModel referenced)
- dependency-target: FluentResults (Result<T> usage)

## Coverage

- Symbols: 3
- Executable symbols: 1
- Executable symbols with control flow: 1
- Grounded edges: 3
- Unresolved references: 2
- Control-flow fragments: 1
- Unresolved jumps: 0
- Unsupported constructs: 0
- Control-flow coverage: 100%
- Required diagrams: 2
- Generated diagrams: 2

## Control Flow Fragments

- GetEpubContentAsync: 6 nodes, 5 edges, 0 jumps, 0 unsupported constructs

## Diagrams

### IEpubReader Neighborhood

```mermaid
flowchart LR
    class_euc6fx_iepubreader("IEpubReader")
    file_1mo9e25_iepubreader_cs("IEpubReader")
    method_121clyd_getepubcontentasync[["GetEpubContentAsync()"]]
    type_1yqx104_iepubreader[/"IEpubReader"/]
```

### IEpubReader Execution Overview

```mermaid
flowchart TD
    class_euc6fx_iepubreader("IEpubReader")
    method_121clyd_getepubcontentasync[["GetEpubContentAsync()"]]
    class_euc6fx_iepubreader -->|contains| method_121clyd_getepubcontentasync
```

## Diagram Validation

- Status: pass
