include close details in channel basic information

This commit is contained in:
Carsten Otto
2021-11-28 16:10:07 +01:00
parent 9d3654aa26
commit 8a520895ed
8 changed files with 61 additions and 24 deletions

View File

@@ -64,7 +64,8 @@ public class ChannelController {
if (localChannel == null) {
throw new NotFoundException();
}
return new ChannelDto(localChannel);
ClosedChannelDetailsDto closeDetailsForChannel = getCloseDetailsForChannel(localChannel);
return new ChannelDto(localChannel, closeDetailsForChannel);
}
@GetMapping("/details")
@@ -135,7 +136,7 @@ public class ChannelController {
ClosedChannel closedChannel = localChannel.getAsClosedChannel();
return new ClosedChannelDetailsDto(closedChannel.getCloseInitiator(), closedChannel.getCloseHeight());
} else {
return new ClosedChannelDetailsDto("", 0);
return ClosedChannelDetailsDto.UNKNOWN;
}
}

View File

@@ -29,8 +29,7 @@ public record ChannelDetailsDto(
String remoteAlias,
BalanceInformation balanceInformation,
OnChainCostsDto onChainCosts,
PoliciesDto policies,
ClosedChannelDetailsDto closeDetails
PoliciesDto policies
) {
this(
channelDto.channelIdShort(),
@@ -48,7 +47,7 @@ public record ChannelDetailsDto(
BalanceInformationDto.createFrom(balanceInformation),
onChainCosts,
policies,
closeDetails
channelDto.closeDetails()
);
}
@@ -61,12 +60,11 @@ public record ChannelDetailsDto(
ClosedChannelDetailsDto closeDetails
) {
this(
new ChannelDto(localChannel),
new ChannelDto(localChannel, closeDetails),
remoteAlias,
balanceInformation,
onChainCosts,
policies,
closeDetails
policies
);
}
}

View File

@@ -16,9 +16,10 @@ public record ChannelDto(
String totalSent,
String totalReceived,
ChannelStatusDto status,
OpenInitiator openInitiator
OpenInitiator openInitiator,
ClosedChannelDetailsDto closeDetails
) {
public ChannelDto(LocalChannel localChannel) {
public ChannelDto(LocalChannel localChannel, ClosedChannelDetailsDto closeDetails) {
this(
String.valueOf(localChannel.getId().getShortChannelId()),
localChannel.getId().getCompactForm(),
@@ -30,7 +31,8 @@ public record ChannelDto(
String.valueOf(localChannel.getTotalSent().satoshis()),
String.valueOf(localChannel.getTotalReceived().satoshis()),
ChannelStatusDto.createFrom(localChannel.getStatus()),
localChannel.getOpenInitiator()
localChannel.getOpenInitiator(),
closeDetails
);
}
}

View File

@@ -3,6 +3,8 @@ package de.cotto.lndmanagej.controller.dto;
import de.cotto.lndmanagej.model.CloseInitiator;
public record ClosedChannelDetailsDto(String initiator, int height) {
public static final ClosedChannelDetailsDto UNKNOWN = new ClosedChannelDetailsDto("", 0);
public ClosedChannelDetailsDto(CloseInitiator initiator, int height) {
this(initiator.toString(), height);
}