add user type to kyc-check
This commit is contained in:
parent
9c1f1c76be
commit
2c4bd1e1d0
@ -1217,7 +1217,7 @@ handle_mhd_request (void *cls,
|
|||||||
.url = "kyc-check",
|
.url = "kyc-check",
|
||||||
.method = MHD_HTTP_METHOD_GET,
|
.method = MHD_HTTP_METHOD_GET,
|
||||||
.handler.get = &TEH_handler_kyc_check,
|
.handler.get = &TEH_handler_kyc_check,
|
||||||
.nargs = 2
|
.nargs = 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.url = "kyc-proof",
|
.url = "kyc-proof",
|
||||||
|
@ -107,6 +107,11 @@ struct KycPoller
|
|||||||
*/
|
*/
|
||||||
enum TALER_ErrorCode ec;
|
enum TALER_ErrorCode ec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* What kind of entity is doing the KYC check?
|
||||||
|
*/
|
||||||
|
enum TALER_KYCLOGIC_KycUserType ut;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* True if we are still suspended.
|
* True if we are still suspended.
|
||||||
*/
|
*/
|
||||||
@ -401,7 +406,7 @@ db_event_cb (void *cls,
|
|||||||
MHD_RESULT
|
MHD_RESULT
|
||||||
TEH_handler_kyc_check (
|
TEH_handler_kyc_check (
|
||||||
struct TEH_RequestContext *rc,
|
struct TEH_RequestContext *rc,
|
||||||
const char *const args[2])
|
const char *const args[3])
|
||||||
{
|
{
|
||||||
struct KycPoller *kyp = rc->rh_ctx;
|
struct KycPoller *kyp = rc->rh_ctx;
|
||||||
MHD_RESULT res;
|
MHD_RESULT res;
|
||||||
@ -447,6 +452,17 @@ TEH_handler_kyc_check (
|
|||||||
"h_payto");
|
"h_payto");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GNUNET_OK !=
|
||||||
|
TALER_KYCLOGIC_kyc_user_type_from_string (args[2],
|
||||||
|
&kyp->ut))
|
||||||
|
{
|
||||||
|
GNUNET_break_op (0);
|
||||||
|
return TALER_MHD_reply_with_error (rc->connection,
|
||||||
|
MHD_HTTP_BAD_REQUEST,
|
||||||
|
TALER_EC_GENERIC_PARAMETER_MALFORMED,
|
||||||
|
"usertype");
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
const char *ts;
|
const char *ts;
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include <jansson.h>
|
#include <jansson.h>
|
||||||
#include "taler_util.h"
|
#include "taler_util.h"
|
||||||
#include "taler_error_codes.h"
|
#include "taler_error_codes.h"
|
||||||
|
#include "taler_kyclogic_lib.h"
|
||||||
#include <gnunet/gnunet_curl_lib.h>
|
#include <gnunet/gnunet_curl_lib.h>
|
||||||
|
|
||||||
|
|
||||||
@ -3425,6 +3426,7 @@ typedef void
|
|||||||
* @param eh exchange handle to use
|
* @param eh exchange handle to use
|
||||||
* @param legitimization_uuid number identifying the legitimization process
|
* @param legitimization_uuid number identifying the legitimization process
|
||||||
* @param h_payto hash of the payto:// URI at @a payment_target
|
* @param h_payto hash of the payto:// URI at @a payment_target
|
||||||
|
* @param ut type of the entity performing the KYC check
|
||||||
* @param timeout how long to wait for a positive KYC status
|
* @param timeout how long to wait for a positive KYC status
|
||||||
* @param cb function to call with the result
|
* @param cb function to call with the result
|
||||||
* @param cb_cls closure for @a cb
|
* @param cb_cls closure for @a cb
|
||||||
@ -3434,6 +3436,7 @@ struct TALER_EXCHANGE_KycCheckHandle *
|
|||||||
TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *eh,
|
TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *eh,
|
||||||
uint64_t legitimization_uuid,
|
uint64_t legitimization_uuid,
|
||||||
const struct TALER_PaytoHashP *h_payto,
|
const struct TALER_PaytoHashP *h_payto,
|
||||||
|
enum TALER_KYCLOGIC_KycUserType ut,
|
||||||
struct GNUNET_TIME_Relative timeout,
|
struct GNUNET_TIME_Relative timeout,
|
||||||
TALER_EXCHANGE_KycStatusCallback cb,
|
TALER_EXCHANGE_KycStatusCallback cb,
|
||||||
void *cb_cls);
|
void *cb_cls);
|
||||||
|
@ -226,7 +226,7 @@ TALER_KYCLOGIC_kyc_user_type_from_string (const char *ut_s,
|
|||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
const char *in;
|
const char *in;
|
||||||
enum TALER_KYCLOGIC_KycTriggerEvent out;
|
enum TALER_KYCLOGIC_KycUserType out;
|
||||||
} map [] = {
|
} map [] = {
|
||||||
{ "individual", TALER_KYCLOGIC_KYC_UT_INDIVIDUAL },
|
{ "individual", TALER_KYCLOGIC_KYC_UT_INDIVIDUAL },
|
||||||
{ "business", TALER_KYCLOGIC_KYC_UT_BUSINESS },
|
{ "business", TALER_KYCLOGIC_KYC_UT_BUSINESS },
|
||||||
|
@ -70,6 +70,7 @@ libtalerexchange_la_SOURCES = \
|
|||||||
libtalerexchange_la_LIBADD = \
|
libtalerexchange_la_LIBADD = \
|
||||||
libtalerauditor.la \
|
libtalerauditor.la \
|
||||||
$(top_builddir)/src/json/libtalerjson.la \
|
$(top_builddir)/src/json/libtalerjson.la \
|
||||||
|
$(top_builddir)/src/kyclogic/libtalerkyclogic.la \
|
||||||
$(top_builddir)/src/curl/libtalercurl.la \
|
$(top_builddir)/src/curl/libtalercurl.la \
|
||||||
$(top_builddir)/src/util/libtalerutil.la \
|
$(top_builddir)/src/util/libtalerutil.la \
|
||||||
$(top_builddir)/src/extensions/libtalerextensions.la \
|
$(top_builddir)/src/extensions/libtalerextensions.la \
|
||||||
|
@ -65,6 +65,7 @@ struct TALER_EXCHANGE_KycCheckHandle
|
|||||||
* Hash of the payto:// URL that is being KYC'ed.
|
* Hash of the payto:// URL that is being KYC'ed.
|
||||||
*/
|
*/
|
||||||
struct TALER_PaytoHashP h_payto;
|
struct TALER_PaytoHashP h_payto;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -209,6 +210,7 @@ struct TALER_EXCHANGE_KycCheckHandle *
|
|||||||
TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *exchange,
|
TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *exchange,
|
||||||
uint64_t legitimization_uuid,
|
uint64_t legitimization_uuid,
|
||||||
const struct TALER_PaytoHashP *h_payto,
|
const struct TALER_PaytoHashP *h_payto,
|
||||||
|
enum TALER_KYCLOGIC_KycUserType ut,
|
||||||
struct GNUNET_TIME_Relative timeout,
|
struct GNUNET_TIME_Relative timeout,
|
||||||
TALER_EXCHANGE_KycStatusCallback cb,
|
TALER_EXCHANGE_KycStatusCallback cb,
|
||||||
void *cb_cls)
|
void *cb_cls)
|
||||||
@ -238,9 +240,10 @@ TALER_EXCHANGE_kyc_check (struct TALER_EXCHANGE_Handle *exchange,
|
|||||||
timeout_ms = timeout.rel_value_us
|
timeout_ms = timeout.rel_value_us
|
||||||
/ GNUNET_TIME_UNIT_MILLISECONDS.rel_value_us;
|
/ GNUNET_TIME_UNIT_MILLISECONDS.rel_value_us;
|
||||||
GNUNET_asprintf (&arg_str,
|
GNUNET_asprintf (&arg_str,
|
||||||
"/kyc-check/%llu/%s?timeout_ms=%llu",
|
"/kyc-check/%llu/%s/%s?timeout_ms=%llu",
|
||||||
(unsigned long long) legitimization_uuid,
|
(unsigned long long) legitimization_uuid,
|
||||||
payto_str,
|
payto_str,
|
||||||
|
TALER_KYCLOGIC_kyc_user_type2s (ut),
|
||||||
timeout_ms);
|
timeout_ms);
|
||||||
}
|
}
|
||||||
kch = GNUNET_new (struct TALER_EXCHANGE_KycCheckHandle);
|
kch = GNUNET_new (struct TALER_EXCHANGE_KycCheckHandle);
|
||||||
|
@ -165,6 +165,7 @@ check_kyc_run (void *cls,
|
|||||||
kcg->kwh = TALER_EXCHANGE_kyc_check (is->exchange,
|
kcg->kwh = TALER_EXCHANGE_kyc_check (is->exchange,
|
||||||
*payment_target,
|
*payment_target,
|
||||||
&h_payto,
|
&h_payto,
|
||||||
|
TALER_KYCLOGIC_KYC_UT_INDIVIDUAL,
|
||||||
GNUNET_TIME_UNIT_SECONDS,
|
GNUNET_TIME_UNIT_SECONDS,
|
||||||
&check_kyc_cb,
|
&check_kyc_cb,
|
||||||
kcg);
|
kcg);
|
||||||
|
Loading…
Reference in New Issue
Block a user