feature/Tweak VRP consent screen to show data via GUI instead of JSON

This commit is contained in:
Marko Milić 2025-01-27 23:26:27 +01:00
parent 60a9f76a57
commit 916db10889
2 changed files with 173 additions and 13 deletions

View File

@ -57,11 +57,38 @@ class VrpConsentCreation extends MdcLoggable with RestHelper with APIMethods510
case Right(response) => {
tryo {json.parse(response).extract[ConsentRequestResponseJson]} match {
case Full(consentRequestResponseJson) =>
val jsonAst = consentRequestResponseJson.payload
"#confirm-vrp-consent-request-form-title *" #> s"Please confirm or deny the following consent request:" &
"#confirm-vrp-consent-request-response-json *" #> s"""${json.prettyRender(json.Extraction.decompose(consentRequestResponseJson.payload))}""" &
"#confirm-vrp-consent-request-confirm-submit-button" #> SHtml.onSubmitUnit(confirmConsentRequestProcess)
// "#confirm-vrp-consent-request-response-json *" #> s"""${json.prettyRender(json.Extraction.decompose(consentRequestResponseJson.payload))}""" &
"#from_bank_routing_scheme [value]" #> s"${(jsonAst \ "from_account" \ "bank_routing" \ "scheme").extract[String]}" &
"#from_bank_routing_address [value]" #> s"${(jsonAst \ "from_account" \ "bank_routing" \ "address").extract[String]}" &
"#from_branch_routing_scheme [value]" #> s"${(jsonAst \ "from_account" \ "branch_routing" \ "scheme").extract[String]}" &
"#from_branch_routing_address [value]" #> s"${(jsonAst \ "from_account" \ "branch_routing" \ "address").extract[String]}" &
"#from_routing_scheme [value]" #> s"${(jsonAst \ "from_account" \ "account_routing" \ "scheme").extract[String]}" &
"#from_routing_address [value]" #> s"${(jsonAst \ "from_account" \ "account_routing" \ "address").extract[String]}" &
"#to_bank_routing_scheme [value]" #> s"${(jsonAst \ "to_account" \ "bank_routing" \ "scheme").extract[String]}" &
"#to_bank_routing_address [value]" #> s"${(jsonAst \ "to_account" \ "bank_routing" \ "address").extract[String]}" &
"#to_branch_routing_scheme [value]" #> s"${(jsonAst \ "to_account" \ "branch_routing" \ "scheme").extract[String]}" &
"#to_branch_routing_address [value]" #> s"${(jsonAst \ "to_account" \ "branch_routing" \ "address").extract[String]}" &
"#to_routing_scheme [value]" #> s"${(jsonAst \ "to_account" \ "account_routing" \ "scheme").extract[String]}" &
"#to_routing_address [value]" #> s"${(jsonAst \ "to_account" \ "account_routing" \ "address").extract[String]}" &
"#counterparty_name [value]" #> s"${(jsonAst \ "to_account" \ "counterparty_name").extract[String]}" &
"#currency [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "currency").extract[String]}" &
"#max_single_amount [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_single_amount").extract[String]}" &
"#max_monthly_amount [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_monthly_amount").extract[String]}" &
"#max_yearly_amount [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_yearly_amount").extract[String]}" &
"#max_total_amount [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_total_amount").extract[String]}" &
"#max_number_of_monthly_transactions [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_number_of_monthly_transactions").extract[String]}" &
"#max_number_of_yearly_transactions [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_number_of_yearly_transactions").extract[String]}" &
"#max_number_of_transactions [value]" #> s"${(jsonAst \ "to_account" \ "limit" \ "max_number_of_transactions").extract[String]}" &
"#time_to_live_in_seconds [value]" #> s"${(jsonAst \ "time_to_live").extract[String]}" &
"#valid_from [value]" #> s"${(jsonAst \ "valid_from").extract[String]}" &
"#email [value]" #> s"${(jsonAst \ "email").extract[String]}" &
"#phone_number [value]" #> s"${(jsonAst \ "phone_number").extract[String]}" &
"#confirm-vrp-consent-request-confirm-submit-button" #> SHtml.onSubmitUnit(confirmConsentRequestProcess)
case _ =>
"#confirm-vrp-consent-request-form-title *" #> s"Please confirm or deny the following consent request:" &
"#confirm-vrp-consent-request-form-title *" #> s"Please confirm or deny the following consent request:" &
"#confirm-vrp-consent-request-form-title *" #> s"Please confirm or deny the following consent request:" &
"#confirm-vrp-consent-request-response-json *" #>
s"""$InvalidJsonFormat The Json body should be the $ConsentRequestResponseJson.
|Please check `Get Consent Request` endpoint separately! """.stripMargin &

View File

@ -28,23 +28,156 @@ Berlin 13359, Germany
-->
<div data-lift="surround?with=default;at=content">
<div id="confirm-vrp-consent-request-div" data-lift="VrpConsentCreation.confirmVrpConsentRequest">
<div id="confirm-vrp-consent-request-div" style="width: 90%; margin: 0 auto;" data-lift="VrpConsentCreation.confirmVrpConsentRequest">
<form method="post">
<div class="form-group">
<h3 id="confirm-vrp-consent-request-form-title">Please check the VRP Consent Request: </h3>
<h3 id="confirm-vrp-consent-request-form-title">Please check the VRP Consent Request: 1111 </h3>
</div>
<div class="wrap-text">
<h4>From Account</h4>
<div class="form-row">
<div class="form-group col-md-6">
<label for="from_bank_routing_scheme">Bank Scheme</label>
<input type="text" name="from_bank_routing_scheme" id="from_bank_routing_scheme" class="form-control">
</div>
<div class="form-group col-md-6">
<label for="from_bank_routing_address">Bank Address</label>
<input type="text" name="from_bank_routing_address" id="from_bank_routing_address" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="from_branch_routing_scheme">Branch Scheme</label>
<input type="text" name="from_branch_routing_scheme" id="from_branch_routing_scheme" class="form-control">
</div>
<div class="form-group col-md-6">
<label for="from_branch_routing_address">Branch Address</label>
<input type="text" name="from_branch_routing_address" id="from_branch_routing_address" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="from_routing_scheme">Account Scheme</label>
<input type="text" name="from_routing_scheme" id="from_routing_scheme" class="form-control">
</div>
<div class="form-group col-md-6">
<label for="from_routing_address">Account Address</label>
<input type="text" name="from_routing_address" id="from_routing_address" class="form-control">
</div>
</div>
<hr>
<h4>To Account</h4>
<div class="form-row">
<div class="form-group col-md-6">
<label for="to_bank_routing_scheme">Bank Scheme</label>
<input type="text" name="to_bank_routing_scheme" id="to_bank_routing_scheme" class="form-control" >
</div>
<div class="form-group col-md-6">
<label for="to_bank_routing_address">Bank Address</label>
<input type="text" name="to_bank_routing_address" id="to_bank_routing_address" class="form-control">
</div>
<div class="form-group col-md-6">
<label for="to_branch_routing_scheme">Branch Scheme</label>
<input type="text" name="to_branch_routing_scheme" id="to_branch_routing_scheme" class="form-control">
</div>
<div class="form-group col-md-6">
<label for="to_branch_routing_address">Branch Address</label>
<input type="text" name="to_branch_routing_address" id="to_branch_routing_address" class="form-control">
</div>
<div class="form-group col-md-6">
<label for="to_routing_scheme">Account Scheme</label>
<input type="text" name="to_routing_scheme" id="to_routing_scheme" class="form-control" >
</div>
<div class="form-group col-md-6">
<label for="to_routing_address">Account Address</label>
<input type="text" name="to_routing_address" id="to_routing_address" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="counterparty_name">Counterparty Name (For your reference.)</label>
<input type="text" name="counterparty_name" id="counterparty_name" class="form-control">
</div>
</div>
<hr>
<h4>Limits</h4>
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-12">
<label for="currency">Currency</label>
<input type="text" name="currency" id="currency" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-3">
<label for="max_single_amount">Max single amount</label>
<input type="number" min="0" value="100" name="max_single_amount" id="max_single_amount" class="form-control">
</div>
<div class="form-group col-md-3">
<label for="max_monthly_amount">Max monthly amount</label>
<input type="number" min="0" value="100" name="max_monthly_amount" id="max_monthly_amount" class="form-control">
</div>
<div class="form-group col-md-3">
<label for="max_yearly_amount">Max yearly amount</label>
<input type="number" min="0" value="1200" name="max_yearly_amount" id="max_yearly_amount" class="form-control">
</div>
<div class="form-group col-md-3">
<label for="max_total_amount">Max total amount</label>
<input type="number" min="0" value="1200" name="max_total_amount" id="max_total_amount" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="max_number_of_monthly_transactions">Max number of monthly transactions</label>
<input type="number" min="0" value="1" name="max_number_of_monthly_transactions" id="max_number_of_monthly_transactions" class="form-control">
</div>
<div class="form-group col-md-4">
<label for="max_number_of_yearly_transactions">Max number of yearly transactions</label>
<input type="number" min="0" value="12" name="max_number_of_yearly_transactions" id="max_number_of_yearly_transactions" class="form-control">
</div>
<div class="form-group col-md-4">
<label for="max_number_of_transactions">Max number of total transactions</label>
<input type="number" min="0" value="12" name="max_number_of_transactions" id="max_number_of_transactions" class="form-control">
</div>
</div>
</div>
<h4>Other</h4>
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-12">
<label for="time_to_live_in_seconds">Time to live in seconds</label>
<input type="number" min="1" value="31556926" name="time_to_live_in_seconds" id="time_to_live_in_seconds" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="valid_from">Valid from</label>
<input type="text" name="valid_from" id="valid_from" class="form-control" data-date-format="YYYY-MM-DDTHH:mm:ss">
</div>
</div>
</div>
<hr>
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-12">
<label for="email">Email</label>
<input type="text" name="email" id="email" class="form-control">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="phone_number">Phone number</label>
<input type="text" name="phone_number" id="phone_number" class="form-control">
</div>
</div>
</div>
</div>
<pre id="confirm-vrp-consent-request-response-json">
</pre>
<div class="row">
<input id="confirm-vrp-consent-request-confirm-submit-button" class="btn btn-danger pull-right" type="submit" value="Confirm"
<input id="confirm-vrp-consent-request-confirm-submit-button" class="btn btn-danger" type="submit" value="Confirm"
tabindex="0"/>
<a id="confirm-vrp-consent-request-deny-submit-button" class="btn btn-danger pull-right" href="/">Deny</span></a>
<a id="confirm-vrp-consent-request-deny-submit-button" class="btn btn-danger" href="/">Deny</span></a>
</div>
<br>
</form>
</div>
</div>