public async Task <ActionResult <Player> > Post([FromBody] PlayerRoomBody body) { if (body.Username == null || body.AvatarUrl == null) { return(NotFound()); // 404 : most of api error } var roomDataProvider = new RoomDataProvider(); var playerDataProvider = new PlayerDataProvider(); var room = await roomDataProvider.Add(); var token = await new TokenDataProvider().Add(); var player = await playerDataProvider.Add(body.Username, body.AvatarUrl, true, room.Id, token.Id); // use `GetPlayer` to include `Token` and `Room` return(await playerDataProvider.GetPlayer(player.Id)); }
public async Task <ActionResult <Player> > Join(string identifier, [FromBody] PlayerRoomBody body) { if (body.Username == null || body.AvatarUrl == null) { return(NotFound()); // 404 : most of api error } var room = await new RoomDataProvider().GetRoom(identifier); if (room == null) { return(NotFound()); } var playerDataProvider = new PlayerDataProvider(); var token = await new TokenDataProvider().Add(); var player = await playerDataProvider.Add(body.Username, body.AvatarUrl, true, room.Id, token.Id); return(await playerDataProvider.GetPlayer(player.Id)); }