Add logging interceptor and implement basic user transfer

This commit is contained in:
BillyCool
2026-03-18 20:50:20 +11:00
parent f68d410d9f
commit 98d5b1ea1e
7 changed files with 182 additions and 4 deletions

View File

@@ -8,9 +8,10 @@ using MariesWonderland.Proto.User;
namespace MariesWonderland.Services;
public class UserService(UserDataStore store) : MariesWonderland.Proto.User.UserService.UserServiceBase
public class UserService(UserDataStore store, UserDataSeeder seeder) : MariesWonderland.Proto.User.UserService.UserServiceBase
{
private readonly UserDataStore _store = store;
private readonly UserDataSeeder _seeder = seeder;
public override Task<GetAndroidArgsResponse> GetAndroidArgs(GetAndroidArgsRequest request, ServerCallContext context)
{
@@ -183,7 +184,15 @@ public class UserService(UserDataStore store) : MariesWonderland.Proto.User.User
public override Task<TransferUserResponse> TransferUser(TransferUserRequest request, ServerCallContext context)
{
return Task.FromResult(new TransferUserResponse());
DarkUserMemoryDatabase seededDb = _seeder.LoadFromFiles();
long userId = _store.SeedUserFromDatabase(request.Uuid, seededDb);
TransferUserResponse response = new()
{
UserId = userId,
Signature = $"sig_{userId}_{DateTimeOffset.UtcNow.ToUnixTimeSeconds()}"
};
return Task.FromResult(response);
}
public override Task<TransferUserByAppleResponse> TransferUserByApple(TransferUserByAppleRequest request, ServerCallContext context)