From 7c94a71def217618056a547ac9e8cfa4b2ea1331 Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Mon, 9 Jul 2018 10:05:59 +0200 Subject: Method to mark merchant as KYC-checked. --- src/exchangedb/plugin_exchangedb_postgres.c | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 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 9102811b5..d43132bdd 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -1298,6 +1298,7 @@ postgres_prepare (PGconn *db_conn) * 4 Put money flow event for a merchant. * 5 Delete money flow records for a fresh-checked merchant. * 6 Put a merchant. + * 7 Change KYC status flag for a merchant. */ GNUNET_PQ_make_prepare ("insert_kyc_merchant", @@ -1306,6 +1307,14 @@ postgres_prepare (PGconn *db_conn) "($1, FALSE)", 1), + GNUNET_PQ_make_prepare ("mark_kyc_merchant", + "UPDATE kyc_merchants" + " SET" + " kyc_checked=TRUE" + " WHERE" + " payto_url=$1", + 1), + /* Used in #postgres_select_deposits_missing_wire */ GNUNET_PQ_make_prepare ("deposits_get_overdue", "SELECT" @@ -6515,6 +6524,31 @@ postgres_select_deposits_missing_wire (void *cls, return qs; } +/** + * Mark a merchant as KYC-checked. + * + * @param payto_url payto:// URL indentifying the merchant + * to check. Note, different banks may have different + * policies to check their customers. + * @return database transaction status. + */ +static enum GNUNET_DB_QueryStatus +postgres_mark_kyc_merchant (void *cls, + struct TALER_EXCHANGEDB_Session *session, + const char *payto_url) +{ + + struct GNUNET_PQ_QueryParam params[] = { + GNUNET_PQ_query_param_string (payto_url), + GNUNET_PQ_query_param_end + }; + + return GNUNET_PQ_eval_prepared_non_select (session->conn, + "mark_kyc_merchant", + params); +} + + /** * Insert a merchant into the KYC monitor table. * @@ -6672,6 +6706,7 @@ libtaler_plugin_exchangedb_postgres_init (void *cls) = &postgres_select_deposits_missing_wire; plugin->insert_kyc_merchant = postgres_insert_kyc_merchant; + plugin->mark_kyc_merchant = postgres_mark_kyc_merchant; return plugin; } -- cgit v1.2.3