public override async Task <ListAuctionsResponse> ListAuctions(ListAuctionsRequest request, ServerCallContext context)
        {
            var auctions = await _auctionService.GetAllAuctions(request.OnlyFinished, request.OnlyActive);

            var res = new ListAuctionsResponse();

            foreach (var auction in auctions)
            {
                var auctionItem = new Auction
                {
                    Id         = auction.Id.ToString(),
                    StartedAt  = auction.StartedAt,
                    Duration   = auction.Duration,
                    FinishedAt = auction.FinishedAt
                };

                try
                {
                    var winningEntry = JsonSerializer.Deserialize <LightningAuction.Models.AuctionInvoice>(auction.WinningEntry);
                    auctionItem.WinningEntry = new AuctionEntry
                    {
                        Amount  = winningEntry.Amount,
                        Message = winningEntry.WinningMessage
                    };
                }
                catch
                {
                }

                res.Auctions.Add(auctionItem);
            }
            return(res);
        }
        public override async Task <ListAuctionsResponse> ListAuctions(ListAuctionsRequest request, ServerCallContext context)
        {
            if (!(await CheckPassword(context)))
            {
                throw new RpcException(new Status(StatusCode.PermissionDenied, "you are not authorized"));
            }
            var auctions = await _auctionService.GetAllAuctions(request.OnlyFinished, request.OnlyActive);

            var res = new ListAuctionsResponse();

            foreach (var auction in auctions)
            {
                var auctionItem = new Auction
                {
                    Id         = auction.Id.ToString(),
                    StartedAt  = auction.StartedAt,
                    Duration   = auction.Duration,
                    FinishedAt = auction.FinishedAt
                };

                try
                {
                    var winningEntry = JsonSerializer.Deserialize <LightningAuction.Models.AuctionInvoice>(auction.WinningEntry);
                    auctionItem.WinningEntry = new AuctionEntry
                    {
                        Amount  = winningEntry.Amount,
                        Message = winningEntry.WinningMessage
                    };
                }
                catch
                {
                }

                res.Auctions.Add(auctionItem);
            }
            return(res);
        }