AfRApay.FTM: Press B to query balance

This commit is contained in:
embr 2023-02-08 15:35:21 +01:00
parent 950b0d3db9
commit 4e480a05d5

View file

@ -41,7 +41,8 @@ rootCommand.SetHandler((listReaders, webAddr) => {
Console.Error.WriteLine("AfRApay.Web: {0}", httpClient.BaseAddress);
Console.Error.WriteLine();
Console.Error.WriteLine("Hotkeys (case insensitive):");
Console.Error.WriteLine(" [L] Link Card, instead of debiting it");
Console.Error.WriteLine(" [L] Link card (initiate from web UI)");
Console.Error.WriteLine(" [B] Balance query");
Console.Error.WriteLine(" [Esc] Cancel, return to default state");
Console.Error.WriteLine();
Console.Error.WriteLine("----------------------------------------");
@ -76,6 +77,10 @@ rootCommand.SetHandler((listReaders, webAddr) => {
state = TerminalState.Link;
Console.Error.WriteLine("=> Mode: Link");
break;
case ConsoleKey.B:
state = TerminalState.Balance;
Console.Error.WriteLine("=> Mode: Balance Query");
break;
case ConsoleKey.Escape:
state = TerminalState.Default;
Console.Error.WriteLine("\b => Mode: Default"); // Hack: the \b eats the escape character.
@ -115,6 +120,9 @@ static async void HandleTap(IsoReader reader, HttpClient httpClient, TerminalSta
case TerminalState.Link:
await CallGet(httpClient, String.Format("/api/card/link?card={0}", Convert.ToHexString(uid)));
break;
case TerminalState.Balance:
await CallGet(httpClient, String.Format("/api/card/balance?card={0}", Convert.ToHexString(uid)));
break;
default:
Console.Error.WriteLine("UNKNOWN TERMINAL STATE: {0}", state);
break;
@ -137,4 +145,5 @@ static async Task<string> CallGet(HttpClient client, string path) {
enum TerminalState {
Default,
Link,
Balance,
};