public void EnsureCreateRoom_uses_retry_strategy() { var payload = new V2RoomAttributes(); _streamsApi.CreateRoom(payload); _apiExecutorMock.Verify(obj => obj.Execute(It.IsAny <Func <V2RoomAttributes, string, V2RoomDetail> >(), payload, "sessionToken")); }
/// <summary> /// Update the attributes of an existing chatroom. /// </summary> /// <param name="room">The room and the attributes to update.</param> /// <returns>The room.</returns> public Room UpdateRoom(Room room) { var keywords = new ObservableCollection <RoomTag>(); foreach (var keyword in room.Keywords) { keywords.Add(new RoomTag() { Key = keyword.Item1, Value = keyword.Item2 }); } var v2RoomAttributes = new V2RoomAttributes() { Name = room.Name, Keywords = keywords, Description = room.Description, MembersCanInvite = room.MembersCanInvite, Discoverable = room.Discoverable, Public = room.Public, ReadOnly = room.ReadOnly, CopyProtected = room.CopyProtected }; try { var v2RoomDetail = _apiExecutor.Execute(_roomApi.V2UpdateAsync, room.Id, v2RoomAttributes, _authTokens.SessionToken); return(RoomFactory.Create(v2RoomDetail)); } catch (Exception e) { _log?.LogError(0, e, "An error has occured while trying to update a chatroom."); throw; } }
public void EnsureUpdateRoom_uses_retry_strategy() { const string id = "id"; var payload = new V2RoomAttributes(); _streamsApi.UpdateRoom(id, payload); _apiExecutorMock.Verify(obj => obj.Execute(It.IsAny <Func <string, V2RoomAttributes, string, V2RoomDetail> >(), id, payload, "sessionToken")); }
/// <summary> /// Update the attributes of an existing chatroom. /// </summary> /// <param name="room">The room and the attributes to update.</param> /// <returns>The room.</returns> public Room UpdateRoom(Room room) { var keywords = new List <RoomTag>(); foreach (var keyword in room.Keywords) { keywords.Add(new RoomTag(keyword.Item1, keyword.Item2)); } var v2RoomAttributes = new V2RoomAttributes(room.Name, keywords, room.Description, room.MembersCanInvite, room.Discoverable, room.Public, room.ReadOnly, room.CopyProtected); var v2RoomDetail = _apiExecutor.Execute(_streamsApi.V2RoomIdUpdatePost, room.Id, v2RoomAttributes, _authTokens.SessionToken); return(RoomFactory.Create(v2RoomDetail)); }
/// <summary> /// Create a new chatroom. If no attributes are specified, the room is created as a /// private chatroom. /// </summary> /// <param name="payload">Room attributes.</param> /// <returns>The created room.</returns> public V2RoomDetail CreateRoom(V2RoomAttributes payload) { return(_apiExecutor.Execute(_streamsApi.V2RoomCreatePost, payload, _authTokens.SessionToken)); }
/// <summary> /// Update the attributes of an existing chatroom. /// </summary> /// <param name="id">Room ID.</param> /// <param name="payload">Room attributes.</param> /// <returns>The room.</returns> public V2RoomDetail UpdateRoom(string id, V2RoomAttributes payload) { return(_apiExecutor.Execute(_streamsApi.V2RoomIdUpdatePost, id, payload, _authTokens.SessionToken)); }