From 5169abcdcd2710d002721ff0d1c6fcc53b8dab54 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 30 Dec 2022 13:40:07 +0100 Subject: [PATCH] -skeleton for new DB API functions --- src/exchangedb/.gitignore | 3 ++ src/exchangedb/Makefile.am | 11 ++++++ src/exchangedb/pg_insert_aml_decision.c | 26 +++++++++++++ src/exchangedb/pg_insert_aml_decision.h | 29 ++++++++++++++ src/exchangedb/pg_insert_aml_officer.c | 26 +++++++++++++ src/exchangedb/pg_insert_aml_officer.h | 29 ++++++++++++++ src/exchangedb/pg_insert_kyc_attributes.c | 26 +++++++++++++ src/exchangedb/pg_insert_kyc_attributes.h | 29 ++++++++++++++ src/exchangedb/pg_lookup_aml_officer.c | 26 +++++++++++++ src/exchangedb/pg_lookup_aml_officer.h | 29 ++++++++++++++ src/exchangedb/pg_select_aml_history.c | 26 +++++++++++++ src/exchangedb/pg_select_aml_history.h | 29 ++++++++++++++ src/exchangedb/pg_select_aml_process.c | 26 +++++++++++++ src/exchangedb/pg_select_aml_process.h | 29 ++++++++++++++ src/exchangedb/pg_select_kyc_attributes.c | 26 +++++++++++++ src/exchangedb/pg_select_kyc_attributes.h | 29 ++++++++++++++ .../pg_select_similar_kyc_attributes.c | 26 +++++++++++++ .../pg_select_similar_kyc_attributes.h | 29 ++++++++++++++ src/exchangedb/pg_trigger_aml_process.c | 26 +++++++++++++ src/exchangedb/pg_trigger_aml_process.h | 29 ++++++++++++++ src/exchangedb/pg_update_aml_officer.c | 26 +++++++++++++ src/exchangedb/pg_update_aml_officer.h | 29 ++++++++++++++ src/exchangedb/pg_update_kyc_attributes.c | 26 +++++++++++++ src/exchangedb/pg_update_kyc_attributes.h | 29 ++++++++++++++ src/exchangedb/plugin_exchangedb_postgres.c | 38 ++++++++++++++++++- 25 files changed, 656 insertions(+), 1 deletion(-) create mode 100644 src/exchangedb/pg_insert_aml_decision.c create mode 100644 src/exchangedb/pg_insert_aml_decision.h create mode 100644 src/exchangedb/pg_insert_aml_officer.c create mode 100644 src/exchangedb/pg_insert_aml_officer.h create mode 100644 src/exchangedb/pg_insert_kyc_attributes.c create mode 100644 src/exchangedb/pg_insert_kyc_attributes.h create mode 100644 src/exchangedb/pg_lookup_aml_officer.c create mode 100644 src/exchangedb/pg_lookup_aml_officer.h create mode 100644 src/exchangedb/pg_select_aml_history.c create mode 100644 src/exchangedb/pg_select_aml_history.h create mode 100644 src/exchangedb/pg_select_aml_process.c create mode 100644 src/exchangedb/pg_select_aml_process.h create mode 100644 src/exchangedb/pg_select_kyc_attributes.c create mode 100644 src/exchangedb/pg_select_kyc_attributes.h create mode 100644 src/exchangedb/pg_select_similar_kyc_attributes.c create mode 100644 src/exchangedb/pg_select_similar_kyc_attributes.h create mode 100644 src/exchangedb/pg_trigger_aml_process.c create mode 100644 src/exchangedb/pg_trigger_aml_process.h create mode 100644 src/exchangedb/pg_update_aml_officer.c create mode 100644 src/exchangedb/pg_update_aml_officer.h create mode 100644 src/exchangedb/pg_update_kyc_attributes.c create mode 100644 src/exchangedb/pg_update_kyc_attributes.h diff --git a/src/exchangedb/.gitignore b/src/exchangedb/.gitignore index abe505527..658cba388 100644 --- a/src/exchangedb/.gitignore +++ b/src/exchangedb/.gitignore @@ -10,3 +10,6 @@ test-exchangedb-by-j-postgres perf-exchangedb-reserves-in-insert-postgres exchange-0002.sql procedures.sql +exchange-0003.sql +test-exchangedb-batch-reserves-in-insert-postgres +test-exchangedb-populate-table-postgres diff --git a/src/exchangedb/Makefile.am b/src/exchangedb/Makefile.am index c11828d0e..2f6500278 100644 --- a/src/exchangedb/Makefile.am +++ b/src/exchangedb/Makefile.am @@ -131,6 +131,17 @@ libtaler_plugin_exchangedb_postgres_la_SOURCES = \ pg_have_deposit2.h pg_have_deposit2.c \ pg_aggregate.h pg_aggregate.c \ pg_create_aggregation_transient.h pg_create_aggregation_transient.c \ + pg_insert_kyc_attributes.h pg_insert_kyc_attributes.c \ + pg_update_kyc_attributes.h pg_update_kyc_attributes.c \ + pg_select_similar_kyc_attributes.h pg_select_similar_kyc_attributes.c \ + pg_select_kyc_attributes.h pg_select_kyc_attributes.c \ + pg_insert_aml_officer.h pg_insert_aml_officer.c \ + pg_update_aml_officer.h pg_update_aml_officer.c \ + pg_lookup_aml_officer.h pg_lookup_aml_officer.c \ + pg_trigger_aml_process.h pg_trigger_aml_process.c \ + pg_select_aml_process.h pg_select_aml_process.c \ + pg_select_aml_history.h pg_select_aml_history.c \ + pg_insert_aml_decision.h pg_insert_aml_decision.c \ pg_select_aggregation_transient.h pg_select_aggregation_transient.c \ pg_find_aggregation_transient.h pg_find_aggregation_transient.c \ pg_update_aggregation_transient.h pg_update_aggregation_transient.c \ diff --git a/src/exchangedb/pg_insert_aml_decision.c b/src/exchangedb/pg_insert_aml_decision.c new file mode 100644 index 000000000..242bb748f --- /dev/null +++ b/src/exchangedb/pg_insert_aml_decision.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_insert_aml_decision.c + * @brief Implementation of the insert_aml_decision function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_insert_aml_decision.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_insert_aml_decision.h b/src/exchangedb/pg_insert_aml_decision.h new file mode 100644 index 000000000..e5123a7aa --- /dev/null +++ b/src/exchangedb/pg_insert_aml_decision.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_insert_aml_decision.h + * @brief implementation of the insert_aml_decision function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_INSERT_AML_DECISION_H +#define PG_INSERT_AML_DECISION_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_insert_aml_officer.c b/src/exchangedb/pg_insert_aml_officer.c new file mode 100644 index 000000000..73093b75a --- /dev/null +++ b/src/exchangedb/pg_insert_aml_officer.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_insert_aml_officer.c + * @brief Implementation of the insert_aml_officer function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_insert_aml_officer.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_insert_aml_officer.h b/src/exchangedb/pg_insert_aml_officer.h new file mode 100644 index 000000000..62a442ac9 --- /dev/null +++ b/src/exchangedb/pg_insert_aml_officer.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_insert_aml_officer.h + * @brief implementation of the insert_aml_officer function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_INSERT_AML_OFFICER_H +#define PG_INSERT_AML_OFFICER_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_insert_kyc_attributes.c b/src/exchangedb/pg_insert_kyc_attributes.c new file mode 100644 index 000000000..7206fc21d --- /dev/null +++ b/src/exchangedb/pg_insert_kyc_attributes.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_insert_kyc_attributes.c + * @brief Implementation of the insert_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_insert_kyc_attributes.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_insert_kyc_attributes.h b/src/exchangedb/pg_insert_kyc_attributes.h new file mode 100644 index 000000000..343fe22d3 --- /dev/null +++ b/src/exchangedb/pg_insert_kyc_attributes.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_insert_kyc_attributes.h + * @brief implementation of the insert_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_INSERT_KYC_ATTRIBUTES_H +#define PG_INSERT_KYC_ATTRIBUTES_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_lookup_aml_officer.c b/src/exchangedb/pg_lookup_aml_officer.c new file mode 100644 index 000000000..7304b0372 --- /dev/null +++ b/src/exchangedb/pg_lookup_aml_officer.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_lookup_aml_officer.c + * @brief Implementation of the lookup_aml_officer function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_lookup_aml_officer.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_lookup_aml_officer.h b/src/exchangedb/pg_lookup_aml_officer.h new file mode 100644 index 000000000..5819ef4b8 --- /dev/null +++ b/src/exchangedb/pg_lookup_aml_officer.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_lookup_aml_officer.h + * @brief implementation of the lookup_aml_officer function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_LOOKUP_AML_OFFICER_H +#define PG_LOOKUP_AML_OFFICER_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_select_aml_history.c b/src/exchangedb/pg_select_aml_history.c new file mode 100644 index 000000000..5cd8b00d9 --- /dev/null +++ b/src/exchangedb/pg_select_aml_history.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_aml_history.c + * @brief Implementation of the select_aml_history function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_select_aml_history.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_select_aml_history.h b/src/exchangedb/pg_select_aml_history.h new file mode 100644 index 000000000..db117bb0a --- /dev/null +++ b/src/exchangedb/pg_select_aml_history.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_aml_history.h + * @brief implementation of the select_aml_history function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_SELECT_AML_HISTORY_H +#define PG_SELECT_AML_HISTORY_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_select_aml_process.c b/src/exchangedb/pg_select_aml_process.c new file mode 100644 index 000000000..985942df1 --- /dev/null +++ b/src/exchangedb/pg_select_aml_process.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_aml_process.c + * @brief Implementation of the select_aml_process function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_select_aml_process.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_select_aml_process.h b/src/exchangedb/pg_select_aml_process.h new file mode 100644 index 000000000..c8655c249 --- /dev/null +++ b/src/exchangedb/pg_select_aml_process.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_aml_process.h + * @brief implementation of the select_aml_process function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_SELECT_AML_PROCESS_H +#define PG_SELECT_AML_PROCESS_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_select_kyc_attributes.c b/src/exchangedb/pg_select_kyc_attributes.c new file mode 100644 index 000000000..4e032839a --- /dev/null +++ b/src/exchangedb/pg_select_kyc_attributes.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_kyc_attributes.c + * @brief Implementation of the select_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_select_kyc_attributes.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_select_kyc_attributes.h b/src/exchangedb/pg_select_kyc_attributes.h new file mode 100644 index 000000000..09f297bf3 --- /dev/null +++ b/src/exchangedb/pg_select_kyc_attributes.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_kyc_attributes.h + * @brief implementation of the select_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_SELECT_KYC_ATTRIBUTES_H +#define PG_SELECT_KYC_ATTRIBUTES_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_select_similar_kyc_attributes.c b/src/exchangedb/pg_select_similar_kyc_attributes.c new file mode 100644 index 000000000..26a957e62 --- /dev/null +++ b/src/exchangedb/pg_select_similar_kyc_attributes.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_similar_kyc_attributes.c + * @brief Implementation of the select_similar_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_select_similar_kyc_attributes.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_select_similar_kyc_attributes.h b/src/exchangedb/pg_select_similar_kyc_attributes.h new file mode 100644 index 000000000..a264da385 --- /dev/null +++ b/src/exchangedb/pg_select_similar_kyc_attributes.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_select_similar_kyc_attributes.h + * @brief implementation of the select_similar_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_SELECT_SIMILAR_KYC_ATTRIBUTES_H +#define PG_SELECT_SIMILAR_KYC_ATTRIBUTES_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_trigger_aml_process.c b/src/exchangedb/pg_trigger_aml_process.c new file mode 100644 index 000000000..dd3a0ca75 --- /dev/null +++ b/src/exchangedb/pg_trigger_aml_process.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_trigger_aml_process.c + * @brief Implementation of the trigger_aml_process function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_trigger_aml_process.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_trigger_aml_process.h b/src/exchangedb/pg_trigger_aml_process.h new file mode 100644 index 000000000..45bc0496b --- /dev/null +++ b/src/exchangedb/pg_trigger_aml_process.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_trigger_aml_process.h + * @brief implementation of the trigger_aml_process function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_TRIGGER_AML_PROCESS_H +#define PG_TRIGGER_AML_PROCESS_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_update_aml_officer.c b/src/exchangedb/pg_update_aml_officer.c new file mode 100644 index 000000000..9f4ac5f5c --- /dev/null +++ b/src/exchangedb/pg_update_aml_officer.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_update_aml_officer.c + * @brief Implementation of the update_aml_officer function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_update_aml_officer.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_update_aml_officer.h b/src/exchangedb/pg_update_aml_officer.h new file mode 100644 index 000000000..9e53dd506 --- /dev/null +++ b/src/exchangedb/pg_update_aml_officer.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_update_aml_officer.h + * @brief implementation of the update_aml_officer function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_UPDATE_AML_OFFICER_H +#define PG_UPDATE_AML_OFFICER_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/pg_update_kyc_attributes.c b/src/exchangedb/pg_update_kyc_attributes.c new file mode 100644 index 000000000..1501476ed --- /dev/null +++ b/src/exchangedb/pg_update_kyc_attributes.c @@ -0,0 +1,26 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_update_kyc_attributes.c + * @brief Implementation of the update_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_error_codes.h" +#include "taler_dbevents.h" +#include "taler_pq_lib.h" +#include "pg_update_kyc_attributes.h" +#include "pg_helper.h" diff --git a/src/exchangedb/pg_update_kyc_attributes.h b/src/exchangedb/pg_update_kyc_attributes.h new file mode 100644 index 000000000..252d27686 --- /dev/null +++ b/src/exchangedb/pg_update_kyc_attributes.h @@ -0,0 +1,29 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see + */ +/** + * @file exchangedb/pg_update_kyc_attributes.h + * @brief implementation of the update_kyc_attributes function for Postgres + * @author Christian Grothoff + */ +#ifndef PG_UPDATE_KYC_ATTRIBUTES_H +#define PG_UPDATE_KYC_ATTRIBUTES_H + +#include "taler_util.h" +#include "taler_json_lib.h" +#include "taler_exchangedb_plugin.h" + + +#endif diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index 03c138f78..6724a947e 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -205,6 +205,19 @@ #include "pg_compute_shard.h" #include "pg_batch_reserves_in_insert.h" #include "pg_batch2_reserves_in_insert.h" +#include "pg_insert_kyc_attributes.h" +#include "pg_update_kyc_attributes.h" +#include "pg_select_similar_kyc_attributes.h" +#include "pg_select_kyc_attributes.h" +#include "pg_insert_aml_officer.h" +#include "pg_update_aml_officer.h" +#include "pg_lookup_aml_officer.h" +#include "pg_trigger_aml_process.h" +#include "pg_select_aml_process.h" +#include "pg_select_aml_history.h" +#include "pg_insert_aml_decision.h" + + /** * Set to 1 to enable Postgres auto_explain module. This will * slow down things a _lot_, but also provide extensive logging @@ -738,7 +751,30 @@ libtaler_plugin_exchangedb_postgres_init (void *cls) = &TEH_PG_batch_reserves_in_insert; plugin->batch2_reserves_in_insert = &TEH_PG_batch2_reserves_in_insert; - +#if 0 + plugin->insert_kyc_attributes + = &TEH_PG_insert_kyc_attributes; + plugin->update_kyc_attributes + = &TEH_PG_update_kyc_attributes; + plugin->select_similar_kyc_attributes + = &TEH_PG_select_similar_kyc_attributes; + plugin->select_kyc_attributes + = &TEH_PG_select_kyc_attributes; + plugin->insert_aml_officer + = &TEH_PG_insert_aml_officer; + plugin->update_aml_officer + = &TEH_PG_update_aml_officer; + plugin->lookup_aml_officer + = &TEH_PG_lookup_aml_officer; + plugin->trigger_aml_process + = &TEH_PG_trigger_aml_process; + plugin->select_aml_process + = &TEH_PG_select_aml_process; + plugin->select_aml_history + = &TEH_PG_select_aml_history; + plugin->insert_aml_decision + = &TEH_PG_insert_aml_decision; +#endif return plugin; }