2022-08-30 15:42:25 +02:00
|
|
|
|
using Serilog;
|
|
|
|
|
using TINK.Repository.Request;
|
2021-05-13 20:03:07 +02:00
|
|
|
|
|
|
|
|
|
namespace TINK.ViewModel.CopriWebView
|
|
|
|
|
{
|
2022-09-06 16:08:19 +02:00
|
|
|
|
/// <summary> Manages the copri web view for password forgotton use case. </summary>
|
|
|
|
|
public class PasswordForgottonViewModel
|
|
|
|
|
{
|
|
|
|
|
/// <summary> Holds the merchant id.</summary>
|
|
|
|
|
private string MerchantId { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary> Holds the name of the host.</summary>
|
|
|
|
|
private string HostName { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Holds the current ui two letter ISO language name.
|
|
|
|
|
/// </summary>
|
|
|
|
|
private string UiIsoLanguageName { get; }
|
|
|
|
|
|
|
|
|
|
/// <param name="uiIsoLangugageName">Two letter ISO language name.</param>
|
|
|
|
|
public PasswordForgottonViewModel(
|
|
|
|
|
string merchantId,
|
|
|
|
|
string uiIsoLangugageName,
|
|
|
|
|
string hostName)
|
|
|
|
|
{
|
|
|
|
|
MerchantId = merchantId;
|
|
|
|
|
UiIsoLanguageName = uiIsoLangugageName;
|
|
|
|
|
HostName = hostName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary> Get Uri of web view providing password forgotton functionality. </summary>
|
|
|
|
|
public string Uri
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var sessionIdQueryElement = QueryBuilderHelper.GetSessionIdQueryElement("?", MerchantId);
|
|
|
|
|
|
|
|
|
|
string GetUriText()
|
|
|
|
|
=> !string.IsNullOrEmpty(sessionIdQueryElement)
|
|
|
|
|
? $"https://{HostName}/app/Account{sessionIdQueryElement}{QueryBuilderHelper.GetLanguageQueryElement("&", UiIsoLanguageName)}"
|
|
|
|
|
: $"https://{HostName}/app/Account";
|
|
|
|
|
|
|
|
|
|
Log.ForContext<PasswordForgottonViewModel>().Debug($"Request to open url {GetUriText()} to get privacy info.");
|
|
|
|
|
|
|
|
|
|
return GetUriText();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-05-13 20:03:07 +02:00
|
|
|
|
}
|