This commit is contained in:
Christian Grothoff 2020-01-13 22:15:43 +01:00
parent 7b1909bc99
commit 07b799b21f
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 38 additions and 34 deletions

View File

@ -293,11 +293,11 @@ TALER_BANK_execute_wire_transfer (struct GNUNET_CURL_Context *ctx,
}
TALER_amount_ntoh (&amount,
&wp->amount);
transfer_obj = json_pack ("{s:o, s:o, s:s, s:o, s:o, s:s}",
transfer_obj = json_pack ("{s:o, s:o, s:s, s:o, s:s}",
"request_uid", GNUNET_JSON_from_data_auto (
&wp->request_uid),
"amount", TALER_JSON_from_amount (&amount),
"exchange_url", exchange_base_url,
"exchange_base_url", exchange_base_url,
"wtid", GNUNET_JSON_from_data_auto (&wp->wtid),
"credit_account", destination_account_url);
if (NULL == transfer_obj)

View File

@ -616,23 +616,23 @@ handle_admin_add_incoming (struct TALER_FAKEBANK_Handle *h,
/**
* Handle incoming HTTP request for /transaction.
* Handle incoming HTTP request for /transfer.
*
* @param h the fakebank handle
* @param connection the connection
* @param account account making the transaction
* @param account account making the transfer
* @param upload_data request data
* @param upload_data_size size of @a upload_data in bytes
* @param con_cls closure for request (a `struct Buffer *`)
* @return MHD result code
*/
static int
handle_transaction (struct TALER_FAKEBANK_Handle *h,
struct MHD_Connection *connection,
const char *account,
const char *upload_data,
size_t *upload_data_size,
void **con_cls)
handle_transfer (struct TALER_FAKEBANK_Handle *h,
struct MHD_Connection *connection,
const char *account,
const char *upload_data,
size_t *upload_data_size,
void **con_cls)
{
enum GNUNET_JSON_PostResult pr;
json_t *json;
@ -852,7 +852,7 @@ parse_history_common_args (struct MHD_Connection *connection,
/**
* Handle incoming HTTP request for /history/incoming
* Handle incoming HTTP request for /history/outgoing
*
* @param h the fakebank handle
* @param connection the connection
@ -911,8 +911,9 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h,
while ( (0 != ha.delta) &&
(NULL != pos) )
{
if (0 == strcasecmp (pos->credit_account,
account))
if ( (0 == strcasecmp (pos->credit_account,
account)) &&
(T_DEBIT == pos->type) )
{
json_t *trans;
char *credit_payto;
@ -923,12 +924,14 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h,
debit_payto = TALER_payto_xtalerbank_make (h->my_baseurl,
pos->debit_account);
trans = json_pack
("{s:I, s:o, s:o, s:s, s:s, s:o}",
("{s:I, s:o, s:o, s:s, s:s, s:s, s:o}",
"row_id", (json_int_t) pos->row_id,
"date", GNUNET_JSON_from_time_abs (pos->date),
"amount", TALER_JSON_from_amount (&pos->amount),
"credit_account", credit_payto,
"debit_account", debit_payto,
"exchange_base_url",
pos->subject.debit.exchange_base_url,
"wtid", GNUNET_JSON_from_data_auto (
&pos->subject.debit.wtid));
GNUNET_free (credit_payto);
@ -949,13 +952,13 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h,
return TALER_MHD_reply_json_pack (connection,
MHD_HTTP_OK,
"{s:o}",
"incoming_transactions",
"outgoing_transactions",
history);
}
/**
* Handle incoming HTTP request for /history/outgoing
* Handle incoming HTTP request for /history/incoming
*
* @param h the fakebank handle
* @param connection the connection
@ -1014,8 +1017,9 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h,
while ( (0 != ha.delta) &&
(NULL != pos) )
{
if (0 == strcasecmp (pos->debit_account,
account))
if ( (0 == strcasecmp (pos->debit_account,
account)) &&
(T_CREDIT == pos->type) )
{
json_t *trans;
char *credit_payto;
@ -1051,7 +1055,7 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h,
return TALER_MHD_reply_json_pack (connection,
MHD_HTTP_OK,
"{s:o}",
"outgoing_transactions",
"incoming_transactions",
history);
}
@ -1101,32 +1105,32 @@ serve (struct TALER_FAKEBANK_Handle *h,
upload_data_size,
con_cls);
if ( (0 == strcmp (url,
"/transaction")) &&
"/transfer")) &&
(NULL != account) &&
(0 == strcasecmp (method,
MHD_HTTP_METHOD_POST)) )
return handle_transaction (h,
connection,
account,
upload_data,
upload_data_size,
con_cls);
return handle_transfer (h,
connection,
account,
upload_data,
upload_data_size,
con_cls);
if ( (0 == strcmp (url,
"/history/incoming")) &&
(NULL != account) &&
(0 == strcasecmp (method,
MHD_HTTP_METHOD_GET)) )
return handle_credit_history (h,
connection,
account);
if ( (0 == strcmp (url,
"/history/outgoing")) &&
(NULL != account) &&
(0 == strcasecmp (method,
MHD_HTTP_METHOD_GET)) )
return handle_debit_history (h,
connection,
account);
if ( (0 == strcmp (url,
"/history/outgoing")) &&
(NULL != account) &&
(0 == strcasecmp (method,
MHD_HTTP_METHOD_GET)) )
return handle_credit_history (h,
connection,
account);
/* Unexpected URL path, just close the connection. */
/* we're rather impolite here, but it's a testcase. */