building-block-catalog/src/BuildingBlock.Catalog.Contracts/Adapters/ICatalogGrpcContractAdapter.cs
José René White Enciso c149695569 feat(contracts): add transport-neutral catalog contracts
- 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
2026-02-22 03:28:32 -06:00

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);
}