anastasis_database_lib.h (3945B)
1 /* 2 This file is part of Anastasis 3 Copyright (C) 2019-2022 Anastasis SARL 4 5 Anastasis is free software; you can redistribute it and/or modify it under the 6 terms of the GNU Affero General Public License as published by the Free Software 7 Foundation; either version 3, or (at your option) any later version. 8 9 Anastasis is distributed in the hope that it will be useful, but WITHOUT ANY 10 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. 12 13 You should have received a copy of the GNU Affero General Public License along with 14 Anastasis; see the file COPYING.GPL. If not, see <http://www.gnu.org/licenses/> 15 */ 16 /** 17 * @file include/anastasis_database_lib.h 18 * @brief Anastasis database library interface 19 * @author Dominik Meister 20 * @author Dennis Neufeld 21 * @author Christian Grothoff 22 */ 23 #ifndef ANASTASIS_DB_LIB_H 24 #define ANASTASIS_DB_LIB_H 25 26 #include "anastasis_service.h" 27 #include <gnunet/gnunet_db_lib.h> 28 #include "anastasis/anastasis-database/common.h" 29 #include "anastasis/anastasis-database/preflight.h" 30 #include "anastasis/anastasis-database/transaction.h" 31 #include "anastasis/anastasis-database/event.h" 32 #include "anastasis/anastasis-database/create_tables.h" 33 #include "anastasis/anastasis-database/drop_tables.h" 34 #include "anastasis/anastasis-database/do_gc.h" 35 #include "anastasis/anastasis-database/do_insert_recovery_document.h" 36 #include "anastasis/anastasis-database/iterate_recovery_meta_data.h" 37 #include "anastasis/anastasis-database/get_recovery_document.h" 38 #include "anastasis/anastasis-database/get_latest_recovery_document.h" 39 #include "anastasis/anastasis-database/insert_truth.h" 40 #include "anastasis/anastasis-database/get_truth.h" 41 #include "anastasis/anastasis-database/get_truth_key_share.h" 42 #include "anastasis/anastasis-database/get_account.h" 43 #include "anastasis/anastasis-database/get_recdoc_payment.h" 44 #include "anastasis/anastasis-database/get_challenge_payment.h" 45 #include "anastasis/anastasis-database/do_update_account_lifetime.h" 46 #include "anastasis/anastasis-database/do_insert_recdoc_payment.h" 47 #include "anastasis/anastasis-database/insert_truth_payment.h" 48 #include "anastasis/anastasis-database/get_truth_payment.h" 49 #include "anastasis/anastasis-database/do_verify_challenge_code.h" 50 #include "anastasis/anastasis-database/update_to_challenge_code_satisfied.h" 51 #include "anastasis/anastasis-database/update_totp_counter.h" 52 #include "anastasis/anastasis-database/get_exists_challenge_code_satisfied.h" 53 #include "anastasis/anastasis-database/insert_challenge_code.h" 54 #include "anastasis/anastasis-database/update_to_challenge_code_sent.h" 55 #include "anastasis/anastasis-database/insert_challenge_payment.h" 56 #include "anastasis/anastasis-database/update_to_challenge_payment_refunded.h" 57 #include "anastasis/anastasis-database/get_pending_challenge_payment.h" 58 #include "anastasis/anastasis-database/update_to_challenge_payment_paid.h" 59 #include "anastasis/anastasis-database/insert_auth_iban_in.h" 60 #include "anastasis/anastasis-database/iterate_auth_iban_transfers.h" 61 #include "anastasis/anastasis-database/get_last_auth_iban_in_row.h" 62 63 64 /** 65 * Initialize the Anastasis database subsystem. 66 * 67 * @param cfg configuration to use 68 * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure 69 */ 70 enum GNUNET_GenericReturnValue 71 ANASTASIS_DB_init ( 72 const struct GNUNET_CONFIGURATION_Handle *cfg); 73 74 75 /** 76 * Initialize the Anastasis database subsystem for administration. 77 * Disables the check that the database schema is current. 78 * 79 * @param cfg configuration to use 80 * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure 81 */ 82 enum GNUNET_GenericReturnValue 83 ANASTASIS_DB_init_admin ( 84 const struct GNUNET_CONFIGURATION_Handle *cfg); 85 86 87 /** 88 * Shutdown the Anastasis database subsystem. 89 */ 90 void 91 ANASTASIS_DB_fini (void); 92 93 94 #endif /* ANASTASIS_DB_LIB_H */ 95 96 /* end of anastasis_database_lib.h */