Example #1
0
        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)
                });
            }
        }
Example #2
0
 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);
     }
 }