Asset Service Application Layer
Implementation
Application is a folder/namespace in the web project. AssetCommands coordinates aggregate writes, tenant/actor context, repository access, audit/timeline ports, workflow calls, and unit-of-work save. DocumentCommands coordinates document gateway operations and evidence. AssetQueries implements read projections over IQueryable repository access. AssetCompatService adapts legacy-shaped requests and responses.
Endpoint delegates call these concrete services directly. A lightweight Result type expresses validation, not-found, conflict, and forbidden outcomes; EndpointResults maps them to HTTP responses. DTOs are C# records and mappings are explicit extension methods. DbContext SaveChanges forms the transaction boundary and converts queued domain events into outbox records.
MediatR, FluentValidation, AutoMapper, a command-bus pipeline, separate handler classes, and a generic application service framework are absent. Some observability endpoints query DbContext directly, so API-to-Application separation is not absolute.
Requires confirmation
Production ownership, authorization governance, operational policy, and future architecture require confirmation where the source does not enforce them.
Source References
microservices/src/asset-service/Application/Commands/AssetCommands.csmicroservices/src/asset-service/Application/Queries/AssetQueries.csmicroservices/src/asset-service/Application/Common/Abstractions.csmicroservices/src/asset-service/Application/Mappings.cs