furniture-dal/src/Furniture.DAL/Adapters/IFurnitureDalGrpcContractAdapter.cs
2026-02-22 04:39:56 -06:00

39 lines
1.7 KiB
C#

using Furniture.DAL.Contracts;
using Furniture.DAL.Grpc;
namespace Furniture.DAL.Adapters;
/// <summary>
/// Defines adapter boundary for furniture dal gRPC contract translation.
/// </summary>
public interface IFurnitureDalGrpcContractAdapter
{
/// <summary>
/// Maps transport-neutral availability lookup request to gRPC contract shape.
/// </summary>
/// <param name="request">Furniture availability lookup request contract.</param>
/// <returns>gRPC availability request contract.</returns>
FurnitureAvailabilityDalGrpcContract ToGrpcAvailabilityRequest(FurnitureAvailabilityLookupRequest request);
/// <summary>
/// Maps gRPC availability contract shape to transport-neutral request.
/// </summary>
/// <param name="contract">gRPC availability request contract.</param>
/// <returns>Furniture availability lookup request contract.</returns>
FurnitureAvailabilityLookupRequest FromGrpcAvailabilityRequest(FurnitureAvailabilityDalGrpcContract contract);
/// <summary>
/// Maps transport-neutral catalog lookup request to gRPC contract shape.
/// </summary>
/// <param name="request">Catalog product lookup request contract.</param>
/// <returns>gRPC catalog request contract.</returns>
CatalogProductDalGrpcContract ToGrpcCatalogRequest(CatalogProductLookupRequest request);
/// <summary>
/// Maps gRPC catalog contract shape to transport-neutral request.
/// </summary>
/// <param name="contract">gRPC catalog request contract.</param>
/// <returns>Catalog product lookup request contract.</returns>
CatalogProductLookupRequest FromGrpcCatalogRequest(CatalogProductDalGrpcContract contract);
}