From 109a4a5aa1393da6241e479d13bce6d8c37b3275 Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Tue, 10 Jul 2018 13:08:53 +0200 Subject: KYC DB methods: store a wire transfer. --- src/exchangedb/plugin_exchangedb_postgres.c | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/exchangedb/plugin_exchangedb_postgres.c') diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index 790805b67..fef35d53c 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -6576,6 +6576,39 @@ postgres_unmark_kyc_merchant params); } +/** + * Record timestamp where a particular merchant performed + * a wire transfer. + * + * @param cls closure. + * @param session db session. + * @param merchant_serial_id serial id of the merchant who + * performed the wire transfer. + * @param amount amount of the wire transfer being monitored. + * @return database transaction status. + */ +static enum GNUNET_DB_QueryStatus +postgres_insert_kyc_event + (void *cls, + struct TALER_EXCHANGEDB_Session *session, + uint64_t merchant_serial_id, + struct TALER_Amount *amount) +{ + struct GNUNET_TIME_Absolute now; + + now = GNUNET_TIME_absolute_get (); + struct GNUNET_PQ_QueryParam params[] = { + GNUNET_PQ_query_param_uint64 (&merchant_serial_id), + TALER_PQ_query_param_amount (amount), + GNUNET_PQ_query_param_absolute_time (&now), + GNUNET_PQ_query_param_end + }; + + return GNUNET_PQ_eval_prepared_non_select (session->conn, + "insert_kyc_event", + params); +} + /** * Mark a merchant as KYC-checked. * @@ -6814,6 +6847,7 @@ libtaler_plugin_exchangedb_postgres_init (void *cls) plugin->mark_kyc_merchant = postgres_mark_kyc_merchant; plugin->unmark_kyc_merchant = postgres_unmark_kyc_merchant; plugin->get_kyc_status = postgres_get_kyc_status; + plugin->insert_kyc_event = postgres_insert_kyc_event; return plugin; } -- cgit v1.2.3