public async ValueTask <IReadOnlyDictionary <string, JValue> > FetchTemporaryPermissions(Participant participant) { var redisKey = GetKey(participant.ConferenceId); return(await _redisDatabase.HashGetAsync <IReadOnlyDictionary <string, JValue> >(redisKey, participant.Id) ?? ImmutableDictionary <string, JValue> .Empty); }
public async Task ParticipantJoined_RemoveAndReturnTrue() { const string participantKey = "2AFA88F3-50E3-4356-9529-F47A730B25B0"; const string participantId = "14FAA2C6-8FAC-46D1-B34C-6916F5D213D7"; const string conferenceKeyTemplate = "conference:7fa3aba5bfdb4a648294fe9fb5df40dc:*"; const string conferenceId = "50DABA18-7F83-4D0D-8FDD-B2ADE18C5FBC"; const string conferenceKey = "conference:7fa3aba5bfdb4a648294fe9fb5df40dc:" + conferenceId; const string connectionId = "7996bdfaf063485492974d74e7e3d657"; // arrange await _database.SetAsync(participantKey, conferenceId); await _database.HashSetAsync(conferenceKey, participantId, connectionId); // act var result = await Execute(participantId, participantKey, conferenceKeyTemplate, connectionId); // assert Assert.True((bool)result); var actualConferenceId = await _database.GetAsync(participantKey); Assert.Null(actualConferenceId); var actualConnectionId = await _database.HashGetAsync(conferenceKey, participantId); Assert.Null(actualConnectionId); }
public async Task RoomDoesNotExist_DoNotChangeAndReturnFalse() { const string roomMappingKey = "8D87925C-96DA-4B7A-9442-1938422B87E3"; const string roomListKey = "B9781B02-A5AA-4B10-AE7D-408CC27FC1E6"; const string participantId = "EB13BB6A-6693-4644-8578-8A47E21C2DA2"; const string newRoomId = "3189C8E6-4C85-4B8F-9C50-EEB51E09B338"; const string currentRoomId = "differentRoomId"; // arrange await _database.HashSetAsync(roomListKey, currentRoomId, "something"); await _database.HashSetAsync(roomMappingKey, participantId, currentRoomId); // act var result = await Execute(roomMappingKey, roomListKey, participantId, newRoomId); // assert Assert.False((bool)result); var actualMapping = await _database.HashGetAsync(roomMappingKey, participantId); Assert.Equal(currentRoomId, actualMapping); }
public async ValueTask <ParticipantMetadata?> GetParticipantMetadata(Participant participant) { var key = GetKey(participant.ConferenceId); return(await _database.HashGetAsync <ParticipantMetadata>(key, participant.Id)); }
public async ValueTask <string?> GetRoomOfParticipant(Participant participant) { var mappingKey = GetRoomMappingKey(participant.ConferenceId); return(await _database.HashGetAsync(mappingKey, participant.Id)); }
public ValueTask <EquipmentConnection?> GetConnection(Participant participant, string connectionId) { var key = GetKey(participant); return(_database.HashGetAsync <EquipmentConnection>(key, connectionId)); }
public async ValueTask <ActiveScene?> GetScene(string conferenceId, string roomId) { var key = GetSceneKey(conferenceId); return(await _database.HashGetAsync <ActiveScene>(key, roomId)); }
public async ValueTask <bool> IsParticipantJoined(Participant participant, string connectionId) { var conferenceToParticipantsKey = GetConferenceToParticipantsKey(participant.ConferenceId); return(await _database.HashGetAsync(conferenceToParticipantsKey, participant.Id) == connectionId); }
public async ValueTask <Poll?> GetPoll(string conferenceId, string pollId) { var pollsKey = GetPollsKey(conferenceId); return(await _database.HashGetAsync <Poll>(pollsKey, pollId)); }
public ValueTask <string?> Get(Participant participant) { var key = GetKey(participant.ConferenceId); return(_database.HashGetAsync(key, participant.Id)); }
public async ValueTask <T?> GetPermissionsValue <T>(Participant participant, string key) { var redisKey = GetPermissionsKey(participant); return(await _database.HashGetAsync <T>(redisKey, key)); }
public async ValueTask <IReadOnlyList <string>?> Get(Participant participant) { var key = GetKey(participant.ConferenceId); return(await _database.HashGetAsync <List <string> >(key, participant.Id)); }