add /status/all-channels/pubkeys endpoint

This commit is contained in:
Carsten Otto
2021-11-25 19:56:12 +01:00
parent ee05325407
commit a649067d55
3 changed files with 44 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import com.codahale.metrics.MetricRegistry;
import de.cotto.lndmanagej.controller.dto.ObjectMapperConfiguration;
import de.cotto.lndmanagej.controller.dto.PubkeysDto;
import de.cotto.lndmanagej.metrics.Metrics;
import de.cotto.lndmanagej.model.LocalChannel;
import de.cotto.lndmanagej.model.LocalOpenChannel;
import de.cotto.lndmanagej.model.Pubkey;
import de.cotto.lndmanagej.service.ChannelService;
@@ -47,6 +48,17 @@ public class StatusController {
return new PubkeysDto(pubkeys);
}
@GetMapping("/all-channels/pubkeys")
public PubkeysDto getPubkeysForAllChannels() {
mark("getPubkeysForAllChannels");
List<Pubkey> pubkeys = channelService.getAllLocalChannels()
.map(LocalChannel::getRemotePubkey)
.sorted()
.distinct()
.collect(Collectors.toList());
return new PubkeysDto(pubkeys);
}
private void mark(String name) {
metrics.mark(MetricRegistry.name(getClass(), name));
}