diff --git a/README.md b/README.md index 4730332..8daa959 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ room_id # => "8878cd13-99a6-40d6-8d7e-8da23d803dab" # Add peer -{:ok, %Jellyfish.Peer{id: peer_id}} = Jellyfish.Room.add_peer(client, room_id, "webrtc") +{:ok, %Jellyfish.Peer{id: peer_id}, token} = Jellyfish.Room.add_peer(client, room_id, "webrtc") # Delete peer :ok = Jellyfish.Room.delete_peer(client, room_id, peer_id) diff --git a/lib/jellyfish/room.ex b/lib/jellyfish/room.ex index 24f3d37..25263f8 100644 --- a/lib/jellyfish/room.ex +++ b/lib/jellyfish/room.ex @@ -13,9 +13,10 @@ defmodule Jellyfish.Room do peers: [] }} - iex> {:ok, peer} = Jellyfish.Room.add_peer(client, room.id, "webrtc") + iex> {:ok, peer, token} = Jellyfish.Room.add_peer(client, room.id, "webrtc") {:ok, - %Jellyfish.Peer{id: "5a731f2e-f49f-4d58-8f64-16a5c09b520e", type: "webrtc"}} + %Jellyfish.Peer{id: "5a731f2e-f49f-4d58-8f64-16a5c09b520e", type: "webrtc"}, + "3LTQ3ZDEtYTRjNy0yZDQyZjU1MDAxY2FkAAdyb29tX2lkbQAAACQ0M"} iex> :ok = Jellyfish.Room.delete(client, room.id) :ok @@ -129,9 +130,9 @@ defmodule Jellyfish.Room do "/room/#{room_id}/peer", %{"type" => type} ), - {:ok, data} <- Map.fetch(body, "data"), - result <- Peer.from_json(data) do - {:ok, result} + {:ok, %{"peer" => peer, "token" => token}} <- Map.fetch(body, "data"), + result <- Peer.from_json(peer) do + {:ok, result, token} else :error -> raise ResponseStructureError error -> handle_response_error(error) diff --git a/test/jellyfish/room_test.exs b/test/jellyfish/room_test.exs index a5eb07b..0b3bed6 100644 --- a/test/jellyfish/room_test.exs +++ b/test/jellyfish/room_test.exs @@ -247,7 +247,7 @@ defmodule Jellyfish.RoomTest do end test "when request is valid", %{client: client} do - assert {:ok, peer} = Room.add_peer(client, @room_id, @peer_type) + assert {:ok, peer, _token} = Room.add_peer(client, @room_id, @peer_type) assert peer == build_peer() end @@ -317,6 +317,6 @@ defmodule Jellyfish.RoomTest do end defp build_peer_json() do - %{"id" => @peer_id, "type" => @peer_type} + %{peer: %{"id" => @peer_id, "type" => @peer_type}, token: "token"} end end