public async Task <APIGatewayProxyResponse> AddRoomHandler(APIGatewayProxyRequest request, ILambdaContext context) { try { var connectionId = request.RequestContext.ConnectionId; var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true, }; AddRoomRequest doc = JsonSerializer.Deserialize <AddRoomRequest>(request.Body, options); doc.OtherUsers.Add(doc.UserId); string roomId = await DDBUtils.AddCustomRoom(doc.OtherUsers, doc.RoomName, connectionId); roomId = "room-" + roomId; AddRoomResponse responseMsg = new AddRoomResponse() { Success = true, RoomId = roomId, RoomName = doc.RoomName }; return(new APIGatewayProxyResponse { StatusCode = 200, Body = JsonSerializer.Serialize(responseMsg) }); } catch (Exception e) { context.Logger.LogLine("Error adding room: " + e.Message); context.Logger.LogLine(e.StackTrace); AddRoomResponse responseMsg = new AddRoomResponse() { Success = false }; return(new APIGatewayProxyResponse { StatusCode = 500, Body = JsonSerializer.Serialize(responseMsg) }); } }
public AddRoomResponse Add(AddRoomRequest request) { try { var response = new AddRoomResponse(); var bc = new RoomComponent(); response.Result = bc.Add(request.Room); return(response); } catch (Exception ex) { var httpError = new HttpResponseMessage() { StatusCode = (HttpStatusCode)422, ReasonPhrase = ex.Message }; throw new HttpResponseException(httpError); } }