feat: added user gRPC service

This commit is contained in:
Pavel-Savely Savianok 2025-04-30 22:09:35 +03:00
parent 7f5374d433
commit bff642e687
4 changed files with 54 additions and 16 deletions

View File

@ -0,0 +1,15 @@
syntax = "proto3";
option csharp_namespace = "JOBot.Proto";
service User {
rpc Register (RegisterRequest) returns (RegisterResponse);
}
message RegisterRequest{
int64 user_id = 1;
string username = 2;
}
message RegisterResponse{
int64 user_id = 1;
}

View File

@ -1,18 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.30.2" />
<PackageReference Include="Grpc.AspNetCore" Version="2.71.0" />
<PackageReference Include="Grpc.Tools" Version="2.71.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.30.2" />
<PackageReference Include="Grpc.AspNetCore" Version="2.71.0" />
<PackageReference Include="Grpc.Tools" Version="2.71.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Protobuf Include="..\Contracts\Proto\*" GrpcServices="Server"></Protobuf>
</ItemGroup>
</Project>

View File

@ -1,6 +1,9 @@
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddGrpc();
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.MapGrpcService<UserService>();
app.Run();
app.Run();

View File

@ -0,0 +1,16 @@
using Grpc.Core;
using JOBot.Proto;
class UserService : User.UserBase
{
public override Task<RegisterResponse> Register(
RegisterRequest request,
ServerCallContext context)
{
return Task.FromResult(new RegisterResponse
{
UserId = request.UserId
});
}
}