summaryrefslogtreecommitdiff
path: root/src/exchangedb/plugin_exchangedb_postgres.c
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2018-07-09 10:05:59 +0200
committerMarcello Stanisci <stanisci.m@gmail.com>2018-07-09 10:05:59 +0200
commit7c94a71def217618056a547ac9e8cfa4b2ea1331 (patch)
tree23fbb0c13e7e7b5efb2c928401b17a90e71c53e2 /src/exchangedb/plugin_exchangedb_postgres.c
parentc13973626bed030c03748e05e6e15c07a79b3421 (diff)
downloadexchange-7c94a71def217618056a547ac9e8cfa4b2ea1331.tar.gz
exchange-7c94a71def217618056a547ac9e8cfa4b2ea1331.tar.bz2
exchange-7c94a71def217618056a547ac9e8cfa4b2ea1331.zip
Method to mark merchant as KYC-checked.
Diffstat (limited to 'src/exchangedb/plugin_exchangedb_postgres.c')
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index 9102811b..d43132bd 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"
@@ -6516,6 +6525,31 @@ postgres_select_deposits_missing_wire (void *cls,
}
/**
+ * 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.
*
* @param payto_url payto:// URL indentifying the merchant
@@ -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;
}