- WHY: align catalog contracts with protocol-agnostic integration boundaries - WHAT: add contract conventions, grpc adapter surfaces, and blueprint descriptor consumption - RULE: enforce building-block to blueprint dependency direction
26 lines
974 B
C#
26 lines
974 B
C#
using BuildingBlock.Catalog.Contracts.Grpc;
|
|
using BuildingBlock.Catalog.Contracts.Products;
|
|
using BuildingBlock.Catalog.Contracts.Responses;
|
|
|
|
namespace BuildingBlock.Catalog.Contracts.Adapters;
|
|
|
|
/// <summary>
|
|
/// Defines adapter boundary for catalog gRPC contract translation.
|
|
/// </summary>
|
|
public interface ICatalogGrpcContractAdapter
|
|
{
|
|
/// <summary>
|
|
/// Maps transport-neutral product contract into gRPC shape.
|
|
/// </summary>
|
|
/// <param name="contract">Transport-neutral product contract.</param>
|
|
/// <returns>gRPC product contract shape.</returns>
|
|
CatalogProductGrpcContract ToGrpcProduct(ProductContract contract);
|
|
|
|
/// <summary>
|
|
/// Maps gRPC product contract into transport-neutral response.
|
|
/// </summary>
|
|
/// <param name="contract">gRPC product contract shape.</param>
|
|
/// <returns>Transport-neutral product response contract.</returns>
|
|
ProductContractResponse FromGrpcProduct(CatalogProductGrpcContract contract);
|
|
}
|