1 line
4.3 KiB
JSON
1 line
4.3 KiB
JSON
{"path":"NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs","purpose":"Query handler that responds to GetReaderPageQuery by delegating to an IEpubReader to fetch a ReaderPageViewModel for a given ebook/chapter and user.","classification":{"role":"handler","layer":"application","confidence":0.9,"evidence":["Implements IQueryHandler<GetReaderPageQuery, ReaderPageViewModel>","Namespace NexusReader.Application.Queries.Reader","Delegates to IEpubReader to produce a ReaderPageViewModel"]},"className":"GetReaderPageQueryHandler","methods":[{"name":"Handle","line":16,"endLine":19,"signature":"(request: GetReaderPageQuery, cancellationToken: CancellationToken) -> Task<Result<ReaderPageViewModel>>","purpose":"Handles GetReaderPageQuery by calling the epub reader to fetch the requested page content and returns the Result-wrapped ReaderPageViewModel.","calls":[{"targetFile":"unknown","targetMethod":"GetEpubContentAsync","callLine":18,"paramSummary":"request.EbookId, request.ChapterIndex, request.UserId, cancellationToken"}],"actions":[{"id":"external-call_18","kind":"external-call","label":"Delegate to epub reader","line":18,"detail":"_epubReader.GetEpubContentAsync(request.EbookId, request.ChapterIndex, request.UserId, cancellationToken)","visibility":"detail-only","confidence":0.7},{"id":"return_18","kind":"return","label":"Return epub reader result","line":18,"detail":"Returns the Task<Result<ReaderPageViewModel>> produced by IEpubReader without additional mapping","visibility":"detail-only","confidence":0.7},{"id":"handle_return_18_0","kind":"return","label":"Returns result","line":18,"detail":"return _epubReader.GetEpubContentAsync(request.EbookId, request.ChapterIndex, request.UserId, cancellationToken);","visibility":"detail-only","confidence":0.7}]}],"types":[{"name":"GetReaderPageQueryHandler","kind":"model","line":7,"purpose":"Internal query handler class that coordinates fetching reader page content via IEpubReader.","fields":[{"name":"_epubReader","type":"IEpubReader","required":true,"line":9,"description":"Injected service used to get EPUB content"}]}],"serviceRegistrations":[],"startupActions":[],"dependencies":["NexusReader.Application.Abstractions.Messaging","NexusReader.Application.Abstractions.Services","FluentResults"],"patterns":["CQRS Handler","Dependency Injection (constructor injection)"],"domainConcepts":["Reader","Ebook","Chapter","ReaderPage","Epub"],"keyDetails":"Very thin handler: no validation, mapping, retries, or logging — it simply delegates to IEpubReader.GetEpubContentAsync and returns its Result<Task<ReaderPageViewModel>>.","orchestrationMethods":[{"name":"Handle","line":16,"confidence":0.65,"reason":"Contains 1 architectural actions relevant to business execution.","actionKinds":["external-call","return"],"evidencePaths":["NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs","unknown"]}],"typedContracts":[{"name":"GetReaderPageQueryHandler","kind":"model","line":7,"fieldCount":1,"evidencePaths":["NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs"]}],"persistenceInteractions":[],"externalInteractions":[{"methodName":"Handle","line":18,"kind":"external-call","detail":"_epubReader.GetEpubContentAsync(request.EbookId, request.ChapterIndex, request.UserId, cancellationToken)","evidencePaths":["NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs"]}],"evidenceAnchors":[{"kind":"orchestration-method","label":"Handle","line":16,"summary":"Contains 1 architectural actions relevant to business execution.","confidence":0.65,"evidencePaths":["NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs","unknown"]},{"kind":"typed-contract","label":"GetReaderPageQueryHandler","line":7,"summary":"model with 1 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs"]},{"kind":"external-call","label":"Handle","line":18,"summary":"_epubReader.GetEpubContentAsync(request.EbookId, request.ChapterIndex, request.UserId, cancellationToken)","confidence":0.8,"evidencePaths":["NexusReader.Application/Queries/Reader/GetReaderPageQueryHandler.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"9b485391416c21e402fd7fd61905399f9bb7e4ac6525beb753388551774f6440","sourceByteSize":715,"analyzedAt":"2026-05-23T16:17:57.261Z","technology":"dotnet"}} |