merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

meson.build (8542B)


      1 # This build file is in the public domain
      2 
      3 install_data('merchantdb-postgres.conf', install_dir: pkgcfgdir)
      4 
      5 subdir('sql-schema')
      6 
      7 libtalermerchantdb = library(
      8     'talermerchantdb',
      9     [
     10         'pg.c',
     11         'start.c',
     12         'create_tables.c',
     13         'drop_tables.c',
     14         'event_listen.c',
     15         'event_notify.c',
     16         'preflight.c',
     17         'set_instance.c',
     18         'iterate_outdated_kyc_statuses.c',
     19         'iterate_kyc_statuses.c',
     20         'insert_kyc_failure.c',
     21         'insert_kyc_status.c',
     22         'do_insert_account.c',
     23         'get_exists_transfer.c',
     24         'delete_category.c',
     25         'delete_contract_terms.c',
     26         'delete_exchange_accounts.c',
     27         'update_to_instance_private_key_deleted.c',
     28         'delete_login_token.c',
     29         'delete_login_token_by_serial.c',
     30         'delete_order.c',
     31         'delete_otp_device.c',
     32         'delete_pending_webhook.c',
     33         'delete_product.c',
     34         'delete_template.c',
     35         'delete_token_family.c',
     36         'delete_tos_accepted_early.c',
     37         'delete_transfer.c',
     38         'delete_webhook.c',
     39         'do_expire_locks.c',
     40         'gc.c',
     41         'get_kyc_limits.c',
     42         'get_kyc_status.c',
     43         'update_to_account_inactive.c',
     44         'do_increase_refund.c',
     45         'update_money_pot_totals.c',
     46         'insert_account.c',
     47         'insert_category.c',
     48         'insert_unit.c',
     49         'insert_contract_terms.c',
     50         'insert_deposit.c',
     51         'insert_deposit_confirmation.c',
     52         'insert_deposit_to_transfer.c',
     53         'insert_exchange_account.c',
     54         'insert_exchange_keys.c',
     55         'insert_exchange_signing_key.c',
     56         'insert_instance.c',
     57         'insert_issued_token.c',
     58         'insert_login_token.c',
     59         'insert_order.c',
     60         'insert_order_lock.c',
     61         'insert_otp_device.c',
     62         'insert_pending_webhook.c',
     63         'insert_product.c',
     64         'insert_refund_proof.c',
     65         'insert_used_token.c',
     66         'insert_template.c',
     67         'insert_tos_accepted_early.c',
     68         'update_unit.c',
     69         'insert_token_family.c',
     70         'insert_token_family_key.c',
     71         'insert_transfer.c',
     72         'insert_transfer_details.c',
     73         'insert_webhook.c',
     74         'delete_unit.c',
     75         'iterate_units.c',
     76         'iterate_custom_units_by_names.c',
     77         'get_unit.c',
     78         'get_mfa_challenge.c',
     79         'do_solve_mfa_challenge.c',
     80         'update_mfa_challenge.c',
     81         'insert_mfa_challenge.c',
     82         'insert_report.c',
     83         'delete_report.c',
     84         'update_report.c',
     85         'get_report_by_token.c',
     86         'iterate_reports.c',
     87         'iterate_pending_reports.c',
     88         'update_report_status.c',
     89         'get_report.c',
     90         'insert_product_group.c',
     91         'delete_product_group.c',
     92         'update_product_group.c',
     93         'iterate_product_groups.c',
     94         'insert_unclaim_signature.c',
     95         'iterate_reconciliation_details.c',
     96         'get_expected_transfer.c',
     97         'insert_money_pot.c',
     98         'delete_money_pot.c',
     99         'update_money_pot.c',
    100         'get_missing_money_pot.c',
    101         'iterate_money_pots.c',
    102         'get_money_pot.c',
    103         'insert_inventory_lock.c',
    104         'get_account_serial.c',
    105         'iterate_all_products.c',
    106         'iterate_categories.c',
    107         'iterate_categories_by_ids.c',
    108         'get_contract_terms.c',
    109         'get_contract_terms_pos.c',
    110         'get_contract_terms_status.c',
    111         'iterate_deposits.c',
    112         'iterate_deposits_by_contract_and_coin.c',
    113         'iterate_deposits_by_order.c',
    114         'iterate_expected_transfers.c',
    115         'get_instance_auth.c',
    116         'iterate_instances.c',
    117         'iterate_inventory_products.c',
    118         'iterate_inventory_products_filtered.c',
    119         'iterate_login_tokens.c',
    120         'get_order.c',
    121         'get_order_by_fulfillment.c',
    122         'get_order_status.c',
    123         'get_order_status_by_serial.c',
    124         'get_order_summary.c',
    125         'iterate_orders.c',
    126         'iterate_otp_devices.c',
    127         'iterate_pending_deposits.c',
    128         'iterate_pending_webhooks.c',
    129         'get_product.c',
    130         'get_product_image_by_hash.c',
    131         'iterate_products.c',
    132         'get_refund_proof.c',
    133         'iterate_refunds.c',
    134         'iterate_refunds_detailed.c',
    135         'iterate_used_tokens_by_order.c',
    136         'iterate_statistic_bucket_amounts_by_range.c',
    137         'iterate_statistic_bucket_counters_by_range.c',
    138         'get_template.c',
    139         'iterate_templates.c',
    140         'iterate_token_families.c',
    141         'get_token_family.c',
    142         'get_token_family_key.c',
    143         'iterate_token_family_keys.c',
    144         'iterate_transfer_details.c',
    145         'iterate_transfer_details_by_order.c',
    146         'iterate_transfer_summaries.c',
    147         'iterate_transfers.c',
    148         'get_webhook.c',
    149         'iterate_webhooks_by_event.c',
    150         'iterate_pending_webhooks_above_serial_id.c',
    151         'iterate_webhooks.c',
    152         'get_exchange_wire_fee.c',
    153         'update_to_contract_terms_paid.c',
    154         'update_to_contract_terms_wired.c',
    155         'iterate_order_token_blinded_sigs.c',
    156         'delete_instance.c',
    157         'insert_refund_by_coin.c',
    158         'get_account.c',
    159         'get_account_by_uri.c',
    160         'iterate_accounts.c',
    161         'iterate_accounts_by_instance.c',
    162         'iterate_exchange_accounts.c',
    163         'get_category.c',
    164         'get_category_by_name.c',
    165         'get_exchange_keys.c',
    166         'iterate_exchanges.c',
    167         'get_login_token.c',
    168         'iterate_open_expected_transfers.c',
    169         'get_otp_device.c',
    170         'get_otp_device_serial.c',
    171         'iterate_wirewatch_accounts.c',
    172         'insert_exchange_wire_fee.c',
    173         'delete_inventory_lock.c',
    174         'update_account.c',
    175         'update_category.c',
    176         'update_contract_terms_session.c',
    177         'update_contract_terms.c',
    178         'update_deposit_settlement_status.c',
    179         'update_donau_instance_receipts_amount.c',
    180         'update_instance.c',
    181         'update_instance_auth.c',
    182         'update_otp_device.c',
    183         'update_pending_webhook.c',
    184         'update_product.c',
    185         'update_template.c',
    186         'update_token_family.c',
    187         'update_token_family_key_expiration.c',
    188         'update_expected_transfer_status.c',
    189         'update_to_expected_transfer_finalized.c',
    190         'delete_donau_instance.c',
    191         'insert_order_token_blinded_sig.c',
    192         'update_webhook.c',
    193         'update_account_last_bank_serial.c',
    194         'iterate_statistic_bucket_counters.c',
    195         'iterate_statistic_interval_counters.c',
    196         'iterate_statistic_bucket_amounts.c',
    197         'iterate_statistic_interval_amounts.c',
    198         'insert_donau_instance.c',
    199         'get_exists_donau_instance.c',
    200         'iterate_donau_instances.c',
    201         'iterate_all_donau_instances.c',
    202         'iterate_donau_instances_filtered.c',
    203         'get_donau_instance_by_serial.c',
    204         'get_donau_keys.c',
    205         'get_donau_instance_by_url.c',
    206         'get_tos_accepted_early.c',
    207         'insert_donau_keys.c',
    208         'update_donau_instance.c',
    209         'merchantdb_helper.c',
    210     ],
    211     soversion: solibversions['libtalermerchantdb']['soversion'],
    212     version: solibversions['libtalermerchantdb']['soversion'],
    213     install_rpath: rpath_option,
    214     dependencies: [
    215         libtalermerchantutil_dep,
    216         donau_dep,
    217         talerexchange_dep,
    218         talermhd_dep,
    219         talerpq_dep,
    220         talerjson_dep,
    221         talerutil_dep,
    222         gnunetpq_dep,
    223         gnunetjson_dep,
    224         gnunetutil_dep,
    225         pq_dep,
    226         gcrypt_dep,
    227         json_dep,
    228     ],
    229     include_directories: [incdir, configuration_inc],
    230     install: true,
    231     install_dir: get_option('libdir'),
    232 )
    233 
    234 libtalermerchantdb_dep = declare_dependency(link_with: libtalermerchantdb)
    235 pkg.generate(
    236     libtalermerchantdb,
    237     url: 'https://taler.net',
    238     description: 'GNU Taler merchant DB library',
    239 )
    240 
    241 
    242 test_merchantdb = executable(
    243     'test-merchantdb',
    244     ['test_merchantdb.c'],
    245     install_rpath: rpath_option,
    246     dependencies: [
    247         libtalermerchantdb_dep,
    248         libtalermerchantutil_dep,
    249         talerutil_dep,
    250         talerjson_dep,
    251         gnunetutil_dep,
    252         gnunetjson_dep,
    253         json_dep,
    254         pq_dep,
    255     ],
    256     include_directories: [incdir, configuration_inc],
    257     install: false,
    258 )
    259 test(
    260     'test-merchantdb',
    261     test_merchantdb,
    262     workdir: meson.current_build_dir(),
    263     suite: ['backenddb', 'installcheck'],
    264     is_parallel: false,
    265 )
    266 
    267 configure_file(
    268     input: 'test-merchantdb-postgres.conf',
    269     output: 'test-merchantdb-postgres.conf',
    270     copy: true,
    271 )