🐛 Fix some issues in moving realm service
This commit is contained in:
@@ -32,8 +32,12 @@ message RealmMember {
|
||||
service RealmService {
|
||||
// Get realm by id or slug
|
||||
rpc GetRealm(GetRealmRequest) returns (Realm) {}
|
||||
// Get realm batch by ids
|
||||
rpc GetRealmBatch(GetRealmBatchRequest) returns (GetRealmBatchResponse) {}
|
||||
// Get realms for a user
|
||||
rpc GetUserRealms(GetUserRealmsRequest) returns (GetUserRealmsResponse) {}
|
||||
// Get public realms
|
||||
rpc GetPublicRealms(google.protobuf.Empty) returns (GetPublicRealmsResponse) {}
|
||||
// Send invitation notification
|
||||
rpc SendInviteNotify(SendInviteNotifyRequest) returns (google.protobuf.Empty) {}
|
||||
// Check if member has required role
|
||||
@@ -57,10 +61,22 @@ message GetUserRealmsRequest {
|
||||
string account_id = 1;
|
||||
}
|
||||
|
||||
message GetRealmBatchRequest {
|
||||
repeated string ids = 1;
|
||||
}
|
||||
|
||||
message GetRealmBatchResponse {
|
||||
repeated Realm realms = 1;
|
||||
}
|
||||
|
||||
message GetUserRealmsResponse {
|
||||
repeated string realm_ids = 1;
|
||||
}
|
||||
|
||||
message GetPublicRealmsResponse {
|
||||
repeated Realm realms = 1;
|
||||
}
|
||||
|
||||
message SendInviteNotifyRequest {
|
||||
RealmMember member = 1;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using DysonNetwork.Shared.Models;
|
||||
using DysonNetwork.Shared.Proto;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
namespace DysonNetwork.Shared.Registry;
|
||||
|
||||
@@ -26,6 +27,20 @@ public class RemoteRealmService(RealmService.RealmServiceClient realms)
|
||||
return response.RealmIds.Select(Guid.Parse).ToList();
|
||||
}
|
||||
|
||||
public async Task<List<SnRealm>> GetPublicRealms()
|
||||
{
|
||||
var response = await realms.GetPublicRealmsAsync(new Empty());
|
||||
return response.Realms.Select(SnRealm.FromProtoValue).ToList();
|
||||
}
|
||||
|
||||
public async Task<List<SnRealm>> GetRealmBatch(List<string> ids)
|
||||
{
|
||||
var request = new GetRealmBatchRequest();
|
||||
request.Ids.AddRange(ids);
|
||||
var response = await realms.GetRealmBatchAsync(request);
|
||||
return response.Realms.Select(SnRealm.FromProtoValue).ToList();
|
||||
}
|
||||
|
||||
public async Task SendInviteNotify(SnRealmMember member)
|
||||
{
|
||||
var protoMember = member.ToProtoValue();
|
||||
|
||||
Reference in New Issue
Block a user