public async Task <IActionResult> ReturnBook(BookRentDto Book)
        {
            var parsed = ObjectId.TryParse(Book.BookId, out ObjectId parsedId);

            if (!parsed)
            {
                return(BadRequest());
            }

            var result = await _rentalService.ReturnRentedBook(ObjectId.Parse((string)Request.Headers["user_id"]), parsedId);

            if (result is null)
            {
                return(BadRequest(new { message = "Book already returned" }));
            }

            else if (!result.Value)
            {
                return(BadRequest(new { message = "could not process request" }));
            }
            return(Ok(new { message = "request completed" }));
        }
        public async Task <IActionResult> RentBook(BookRentDto Book)
        {
            var parsed = ObjectId.TryParse(Book.BookId, out ObjectId parsedId);

            if (!parsed)
            {
                return(BadRequest());
            }

            var result = await _rentalService.RentBook(ObjectId.Parse((string)Request.Headers["user_id"]), parsedId);

            if (result is null)
            {
                return(BadRequest(new { message = "You can't borrow this book as you haven't returned the previous copy you borrowed" }));
            }

            if (!result.Value)
            {
                return(BadRequest(new { message = "could not process request" }));
            }
            return(Ok(new { message = "request completed" }));
        }