public APIGatewayProxyResponse GetBooks(APIGatewayProxyRequest request, ILambdaContext context) { var dbContext = DynamoDbUtil.BuildContext(); var booksSerch = dbContext.ScanAsync <Book>(new List <ScanCondition>()).GetRemainingAsync(); var books = booksSerch.Result; return(ResponseBuilder.Http200(JsonConvert.SerializeObject(books), new Dictionary <string, string> { { "Content-Type", "application/json" } })); }
public APIGatewayProxyResponse PostBook(APIGatewayProxyRequest request, ILambdaContext context) { var book = JsonConvert.DeserializeObject <Book>(request.Body); book.Id = Guid.NewGuid().ToString(); var dbContext = DynamoDbUtil.BuildContext(); dbContext.SaveAsync(book).Wait(); var reponse = ResponseBuilder.Http200(JsonConvert.SerializeObject(book.Id)); return(reponse); }
public APIGatewayProxyResponse DeleteBook(APIGatewayProxyRequest request, ILambdaContext context) { var qryParams = request.QueryStringParameters; context.Logger.LogLine(string.Join(',', qryParams.Keys)); var dbContext = DynamoDbUtil.BuildContext(); var bookData = dbContext.LoadAsync <Book>(qryParams["bookId"]); var book = bookData.Result; dbContext.DeleteAsync(book).Wait(); return(ResponseBuilder.Http200(JsonConvert.SerializeObject(true))); }
public APIGatewayProxyResponse ResetBooks(APIGatewayProxyRequest request, ILambdaContext context) { var dbContext = DynamoDbUtil.BuildContext(); var booksSerch = dbContext.ScanAsync <Book>(new List <ScanCondition>()).GetRemainingAsync(); var books = booksSerch.Result; foreach (var book in books) { dbContext.DeleteAsync(book).Wait(); } foreach (var book in _keepList) { dbContext.SaveAsync(book).Wait(); } return(ResponseBuilder.Http200(JsonConvert.SerializeObject(true))); }
public APIGatewayProxyResponse PutBook(APIGatewayProxyRequest request, ILambdaContext context) { var qryParams = request.QueryStringParameters; context.Logger.LogLine(string.Join(',', qryParams.Values)); var dbContext = DynamoDbUtil.BuildContext(); var existingBook = dbContext.LoadAsync <Book>(qryParams["bookId"]).Result; var updateBook = JsonConvert.DeserializeObject <Book>(request.Body); existingBook.Authors = updateBook.Authors; existingBook.Genre = updateBook.Genre; existingBook.Title = updateBook.Title; existingBook.YearRead = updateBook.YearRead; existingBook.Shelf = updateBook.Shelf; existingBook.CoverImage = updateBook.CoverImage; existingBook.Format = updateBook.Format; dbContext.SaveAsync(existingBook).Wait(); return(ResponseBuilder.Http200(JsonConvert.SerializeObject(existingBook))); }