1 line
2.7 KiB
JSON
1 line
2.7 KiB
JSON
{"path":"NexusReader.Application/Commands/Library/IngestEbookCommand.cs","purpose":"Defines a CQRS command DTO used to ingest a new ebook into the library, carrying ebook metadata and binary payloads (cover and EPUB) across the application boundary.","classification":{"role":"handler","layer":"application","confidence":0.9,"evidence":["Command pattern","namespace NexusReader.Application.Commands.Library indicates application-level command","Type implements ICommand<Guid> (CQRS command)","File name and folder Commands/Library imply a command for library ingestion"]},"className":"IngestEbookCommand","methods":[],"types":[{"name":"IngestEbookCommand","kind":"command","line":15,"purpose":"Represents the data required to ingest an ebook (metadata + binary payloads) and is dispatched as a command returning a Guid identifier.","fields":[{"name":"Title","type":"string","required":true,"line":16,"description":"The title of the book."},{"name":"AuthorName","type":"string","required":true,"line":17,"description":"The name of the author."},{"name":"CoverImage","type":"byte[]?","required":false,"line":18,"description":"Optional raw bytes of the cover image."},{"name":"EpubData","type":"byte[]","required":true,"line":19,"description":"Raw bytes of the EPUB file (payload to ingest)."},{"name":"Description","type":"string?","required":false,"line":20,"description":"Optional description or summary of the book."},{"name":"UserId","type":"string","required":true,"line":21,"description":"ID of the user owning the book."},{"name":"TenantId","type":"string","required":false,"line":22,"description":"Tenant ID for multi-tenant isolation; defaults to \"global\"."}]}],"serviceRegistrations":[],"startupActions":[],"dependencies":[],"patterns":["CQRS Command"],"domainConcepts":["Ebook","Library","Tenant"],"keyDetails":"Record implements ICommand<Guid>; TenantId defaults to \"global\" enabling single-tenant default behavior; carries binary payloads (CoverImage and EpubData) so consumers will perform IO/persistence when handling this command.","orchestrationMethods":[],"typedContracts":[{"name":"IngestEbookCommand","kind":"command","line":15,"fieldCount":7,"evidencePaths":["NexusReader.Application/Commands/Library/IngestEbookCommand.cs"]}],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"typed-contract","label":"IngestEbookCommand","line":15,"summary":"command with 7 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Commands/Library/IngestEbookCommand.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"508a30855af13eb089f7a90d39aa2f1072ec32a60ec09298aadc12c01b10ac47","sourceByteSize":984,"analyzedAt":"2026-05-23T16:16:42.095Z","technology":"dotnet"}} |