using System.ServiceModel; using ProtoBuf; using EonaCat.gRPC.Core.Entities; namespace EonaCat.gRPC.Proto; public class User { } [ServiceContract] public interface IProtoUserService { [OperationContract] ValueTask> Create(UserCreateRequest userCreateRequest); [OperationContract] Task> GetByIdAsync(string id); [OperationContract] Task?>> GetAsync(); } [ProtoContract] public class UserResponse { [ProtoMember(1)] public string Id { get; set; } = null!; [ProtoMember(2)] public string? FirstName { get; set; } [ProtoMember(3)] public string? LastName { get; set; } [ProtoMember(4)] public string Email { get; set; } = null!; } [ProtoContract] public class UserCreateRequest { [ProtoMember(1)] public string? FirstName { get; set; } [ProtoMember(2)] public string? LastName { get; set; } [ProtoMember(3)] public string? Email { get; set; } }