putCustomerInfo method
- PutCustomerInfoRequest request
Upload customer information to an anchor in an authenticated and idempotent fashion.
Implementation
Future<PutCustomerInfoResponse> putCustomerInfo(
PutCustomerInfoRequest request) async {
checkNotNull(request, "request cannot be null");
Uri serverURI = Uri.parse(_serviceAddress + "/customer");
_PutCustomerInfoRequestBuilder requestBuilder =
new _PutCustomerInfoRequestBuilder(httpClient, serverURI);
final Map<String, String> fields = {};
final Map<String, Uint8List> files = {};
if (request.id != null) {
fields["id"] = request.id;
}
if (request.account != null) {
fields["account"] = request.account;
}
if (request.memo != null) {
fields["memo"] = request.memo;
}
if (request.memoType != null) {
fields["memo_type"] = request.memoType;
}
if (request.type != null) {
fields["type"] = request.type;
}
if (request.kycFields != null &&
request.kycFields.naturalPersonKYCFields != null) {
fields.addAll(request.kycFields.naturalPersonKYCFields.fields());
}
if (request.kycFields != null &&
request.kycFields.organizationKYCFields != null) {
fields.addAll(request.kycFields.organizationKYCFields.fields());
}
if (request.customFields != null) {
fields.addAll(request.customFields);
}
// files always at the end.
if (request.kycFields != null &&
request.kycFields.naturalPersonKYCFields != null) {
files.addAll(request.kycFields.naturalPersonKYCFields.files());
}
if (request.kycFields != null &&
request.kycFields.organizationKYCFields != null) {
files.addAll(request.kycFields.organizationKYCFields.files());
}
if (request.customFiles != null) {
files.addAll(request.customFiles);
}
PutCustomerInfoResponse response = await requestBuilder
.forFields(fields)
.forFiles(files)
.execute(request.jwt);
return response;
}