public async ValueTask <IReadOnlyList <Participant> > GetParticipantsOfRoom(string conferenceId, string roomId) { var key = GetRoomMappingKey(conferenceId); var hashValues = await _database.HashGetAllAsync(key); return(hashValues.Where(x => x.Value == roomId).Select(x => new Participant(conferenceId, x.Key)).ToList()); }
public async ValueTask <IReadOnlyDictionary <string, PollAnswerWithKey> > DeletePollAnswers(string conferenceId, string pollId) { var key = GetPollAnswersKey(conferenceId, pollId); using var transaction = _database.CreateTransaction(); var answersTask = _database.HashGetAllAsync <PollAnswerWithKey>(key); _ = transaction.KeyDeleteAsync(key); await transaction.ExecuteAsync(); return((await answersTask)!); }
public ValueTask <IReadOnlyDictionary <string, ParticipantMetadata> > GetParticipantsOfConference( string conferenceId) { var key = GetKey(conferenceId); return(_database.HashGetAllAsync <ParticipantMetadata>(key) !); }
public async ValueTask <Dictionary <string, JValue> > GetPermissions(Participant participant) { var redisKey = GetPermissionsKey(participant); var dictionary = await _database.HashGetAllAsync(redisKey); return(dictionary.ToDictionary(x => x.Key, x => (JValue)JToken.Parse(x.Value))); }
public async ValueTask <IEnumerable <Participant> > GetParticipantsOfConference(string conferenceId) { var conferenceToParticipantsKey = DatabaseKeyBuilder.ForProperty(CONFERENCE_TO_PARTICIPANTS_KEY) .ForConference(conferenceId).ToString(); return((await _database.HashGetAllAsync(conferenceToParticipantsKey)).Keys.Select(participantId => new Participant(conferenceId, participantId))); }
FetchConferenceTemporaryPermissions(string conferenceId) { var redisKey = GetKey(conferenceId); return((await _redisDatabase.HashGetAllAsync <IReadOnlyDictionary <string, JValue> >(redisKey)) !); }
public async ValueTask <IReadOnlyDictionary <string, EquipmentConnection> > GetConnections(Participant participant) { var key = GetKey(participant); return((await _database.HashGetAllAsync <EquipmentConnection>(key)) !); }
public async ValueTask <IReadOnlyDictionary <string, IReadOnlyList <string>?> > GetOfConference(string conferenceId) { var key = GetKey(conferenceId); return(await _database.HashGetAllAsync <IReadOnlyList <string> >(key)); }