summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-12-30 20:34:57 +0100
committerChristian Grothoff <christian@grothoff.org>2022-12-30 20:34:57 +0100
commit5754adc414eaca8dcc2de47b6fcc12e9d1979c12 (patch)
tree681ea4afe8e95ff4a21c3cbddcfc95c0feb0eaa0 /src
parentc5773ce206d8ac53811060f9bd792fad6c9daaff (diff)
downloadexchange-5754adc414eaca8dcc2de47b6fcc12e9d1979c12.tar.gz
exchange-5754adc414eaca8dcc2de47b6fcc12e9d1979c12.tar.bz2
exchange-5754adc414eaca8dcc2de47b6fcc12e9d1979c12.zip
-implement lookup aml staff
Diffstat (limited to 'src')
-rw-r--r--src/exchangedb/pg_insert_aml_decision.c2
-rw-r--r--src/exchangedb/pg_lookup_aml_officer.c35
-rw-r--r--src/exchangedb/pg_update_aml_officer.c2
3 files changed, 35 insertions, 4 deletions
diff --git a/src/exchangedb/pg_insert_aml_decision.c b/src/exchangedb/pg_insert_aml_decision.c
index 94f30275a..d046c87f9 100644
--- a/src/exchangedb/pg_insert_aml_decision.c
+++ b/src/exchangedb/pg_insert_aml_decision.c
@@ -43,7 +43,7 @@ TEH_PG_insert_aml_decision (
GNUNET_PQ_query_param_auto_from_type (h_payto),
TALER_PQ_query_param_amount (new_threshold),
GNUNET_PQ_query_param_uint32 (&ns),
- GNUNET_PQ_query_param_timestamp (&decision_time),
+ GNUNET_PQ_query_param_absolute_time (&decision_time),
GNUNET_PQ_query_param_string (justification),
GNUNET_PQ_query_param_auto_from_type (decider_pub),
GNUNET_PQ_query_param_auto_from_type (decider_sig),
diff --git a/src/exchangedb/pg_lookup_aml_officer.c b/src/exchangedb/pg_lookup_aml_officer.c
index 245a870e8..c18e47eaf 100644
--- a/src/exchangedb/pg_lookup_aml_officer.c
+++ b/src/exchangedb/pg_lookup_aml_officer.c
@@ -35,6 +35,37 @@ TEH_PG_lookup_aml_officer (
bool *read_only,
struct GNUNET_TIME_Absolute *last_change)
{
- GNUNET_break (0); // FIXME: not implemeted!
- return GNUNET_DB_STATUS_HARD_ERROR;
+ struct PostgresClosure *pg = cls;
+ struct GNUNET_PQ_QueryParam params[] = {
+ GNUNET_PQ_query_param_auto_from_type (decider_pub),
+ GNUNET_PQ_query_param_end
+ };
+ struct GNUNET_PQ_ResultSpec rs[] = {
+ GNUNET_PQ_result_spec_auto_from_type ("master_sig",
+ master_sig),
+ GNUNET_PQ_result_spec_string ("decider_name",
+ decider_name),
+ GNUNET_PQ_result_spec_bool ("is_active",
+ is_active),
+ GNUNET_PQ_result_spec_bool ("read_only",
+ read_only),
+ GNUNET_PQ_result_spec_absolute_time ("last_change",
+ last_change),
+ GNUNET_PQ_result_spec_end
+ };
+
+ PREPARE (pg,
+ "lookup_aml_officer",
+ "SELECT "
+ " master_sig"
+ ",decider_name"
+ ",is_active"
+ ",read_only"
+ ",last_change"
+ " FROM aml_staff"
+ " WHERE decider_pub=$1;");
+ return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
+ "lookup_aml_officer",
+ params,
+ rs);
}
diff --git a/src/exchangedb/pg_update_aml_officer.c b/src/exchangedb/pg_update_aml_officer.c
index f756e6e2c..2f5b0ff90 100644
--- a/src/exchangedb/pg_update_aml_officer.c
+++ b/src/exchangedb/pg_update_aml_officer.c
@@ -43,7 +43,7 @@ TEH_PG_update_aml_officer (
GNUNET_PQ_query_param_string (decider_name),
GNUNET_PQ_query_param_bool (is_active),
GNUNET_PQ_query_param_bool (read_only),
- GNUNET_PQ_query_param_timestamp (&last_change),
+ GNUNET_PQ_query_param_absolute_time (&last_change),
GNUNET_PQ_query_param_end
};