gemcap-be-common 1.3.8 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/emails/black_feather/broker-report.html +13 -0
- package/public/emails/black_feather/daily-updates.html +10 -0
- package/public/emails/black_feather/financial-external-on-stop.html +19 -0
- package/public/emails/black_feather/financial-external-until-stop_date.html +18 -0
- package/public/emails/black_feather/financial-internal.html +13 -0
- package/public/emails/black_feather/interest-statement-only-term.html +17 -0
- package/public/emails/black_feather/interest-statement.html +16 -0
- package/public/emails/black_feather/internal-inconsistent.html +13 -0
- package/public/emails/black_feather/loan-upload.html +9 -0
- package/public/emails/black_feather/notification.html +13 -0
- package/public/emails/black_feather/password-reset.html +29 -0
- package/public/emails/black_feather/plaid-reminder.html +24 -0
- package/public/emails/black_feather/prospect-form-reminder.html +16 -0
- package/public/emails/black_feather/prospect-form.html +17 -0
- package/public/emails/black_feather/signature-financial-only.html +48 -0
- package/public/emails/black_feather/signature-financial.html +55 -0
- package/public/emails/black_feather/signature-goat.html +21 -0
- package/public/emails/black_feather/signature.html +55 -0
- package/public/emails/black_feather/simple-mail.html +9 -0
- package/public/emails/broker-report.html +13 -0
- package/public/emails/daily-updates.html +10 -0
- package/public/emails/financial-external-on-stop.html +19 -0
- package/public/emails/financial-external-until-stop_date.html +18 -0
- package/public/emails/financial-internal.html +13 -0
- package/public/emails/gemcap/broker-report.html +13 -0
- package/public/emails/gemcap/daily-updates.html +10 -0
- package/public/emails/gemcap/financial-external-on-stop.html +19 -0
- package/public/emails/gemcap/financial-external-until-stop_date.html +18 -0
- package/public/emails/gemcap/financial-internal.html +13 -0
- package/public/emails/gemcap/interest-statement-only-term.html +17 -0
- package/public/emails/gemcap/interest-statement.html +18 -0
- package/public/emails/gemcap/internal-inconsistent.html +13 -0
- package/public/emails/gemcap/loan-upload.html +9 -0
- package/public/emails/gemcap/notification.html +13 -0
- package/public/emails/gemcap/password-reset.html +29 -0
- package/public/emails/gemcap/plaid-reminder.html +24 -0
- package/public/emails/gemcap/prospect-form-reminder.html +16 -0
- package/public/emails/gemcap/prospect-form.html +17 -0
- package/public/emails/gemcap/signature-financial-only.html +74 -0
- package/public/emails/gemcap/signature-financial.html +74 -0
- package/public/emails/gemcap/signature-goat.html +18 -0
- package/public/emails/gemcap/signature.html +74 -0
- package/public/emails/gemcap/simple-mail.html +9 -0
- package/public/emails/interest-statement-only-term.html +17 -0
- package/public/emails/interest-statement.html +18 -0
- package/public/emails/internal-inconsistent.html +13 -0
- package/public/emails/loan-upload.html +9 -0
- package/public/emails/notification.html +13 -0
- package/public/emails/password-reset.html +29 -0
- package/public/emails/plaid-reminder.html +24 -0
- package/public/emails/prospect-form-reminder.html +16 -0
- package/public/emails/prospect-form.html +17 -0
- package/public/emails/signature-financial-only.html +48 -0
- package/public/emails/signature-financial.html +55 -0
- package/public/emails/signature-goat.html +21 -0
- package/public/emails/signature.html +55 -0
- package/public/emails/simple-mail.html +9 -0
- package/public/images/black_feather/gradient.png +0 -0
- package/public/images/black_feather/logo.png +0 -0
- package/public/images/gemcap/gradient.png +0 -0
- package/public/images/gemcap/logo.png +0 -0
- package/public/images/plaid-reminder-instruction.png +0 -0
- package/public/plaid/connect.html +27 -0
- package/public/plaid/connect.js +64 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
|
|
3
|
+
<table>
|
|
4
|
+
<tbody>
|
|
5
|
+
<tr>
|
|
6
|
+
<td>
|
|
7
|
+
|
|
8
|
+
<table>
|
|
9
|
+
<tbody>
|
|
10
|
+
<tr>
|
|
11
|
+
<td><span style="color: #7d7f85; font-weight: bold">The Lighter way to do Lending ™</span></td>
|
|
12
|
+
</tr>
|
|
13
|
+
</tbody>
|
|
14
|
+
</table>
|
|
15
|
+
</td>
|
|
16
|
+
<td>
|
|
17
|
+
<img src="https://black-feather-public.s3.us-east-2.amazonaws.com/logo.png" alt="My Image">
|
|
18
|
+
</td>
|
|
19
|
+
</tr>
|
|
20
|
+
</tbody>
|
|
21
|
+
</table>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
<p>Regards,</p>
|
|
3
|
+
<br>
|
|
4
|
+
|
|
5
|
+
<table>
|
|
6
|
+
<tbody>
|
|
7
|
+
<tr>
|
|
8
|
+
<td>
|
|
9
|
+
<table>
|
|
10
|
+
<tbody>
|
|
11
|
+
<tr>
|
|
12
|
+
<td><span style="color:#321900; font-weight: bold; font-size: 20.0pt">Scott Mills</span></td>
|
|
13
|
+
<td></td>
|
|
14
|
+
</tr>
|
|
15
|
+
<tr>
|
|
16
|
+
<td></td>
|
|
17
|
+
<td></td>
|
|
18
|
+
</tr>
|
|
19
|
+
<tr>
|
|
20
|
+
<td><span style="color: #321900; font-weight: bold">Chief Compliance Officer</span></td>
|
|
21
|
+
<td></td>
|
|
22
|
+
</tr>
|
|
23
|
+
</tbody>
|
|
24
|
+
</table>
|
|
25
|
+
|
|
26
|
+
<table>
|
|
27
|
+
<tbody>
|
|
28
|
+
<tr>
|
|
29
|
+
<td><span style="color: #7d7f85; font-weight: bold">t:</span></td>
|
|
30
|
+
<td> 210.660.3326</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<tr>
|
|
33
|
+
<td><span style="color: #7d7f85; font-weight: bold">e:</span></td>
|
|
34
|
+
<td> scott@blackfeatherfunding.com</td>
|
|
35
|
+
</tr>
|
|
36
|
+
</tbody>
|
|
37
|
+
</table>
|
|
38
|
+
|
|
39
|
+
<table>
|
|
40
|
+
<tbody>
|
|
41
|
+
<tr>
|
|
42
|
+
<td><span style="color: #7d7f85; font-weight: bold">The Lighter way to do Lending ™</span></td>
|
|
43
|
+
</tr>
|
|
44
|
+
<tr>
|
|
45
|
+
<td><span style="color: #7d7f85; font-weight: bold">2222 N Alamo St San Antonio, TX 78215</span></td>
|
|
46
|
+
</tr>
|
|
47
|
+
</tbody>
|
|
48
|
+
</table>
|
|
49
|
+
</td>
|
|
50
|
+
<td>
|
|
51
|
+
<img src="https://black-feather-public.s3.us-east-2.amazonaws.com/logo.png" alt="My Image">
|
|
52
|
+
</td>
|
|
53
|
+
</tr>
|
|
54
|
+
</tbody>
|
|
55
|
+
</table>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8"/>
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
7
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
8
|
+
<title>Connect your account to Plaid</title>
|
|
9
|
+
</head>
|
|
10
|
+
<body class="flex justify-center text-center">
|
|
11
|
+
<div class="flex flex-col w-96 m-6 bg-gray-200 rounded-lg m-6 p-3">
|
|
12
|
+
<a
|
|
13
|
+
class="bg-green-900 text-white rounded-lg p-5 inline-block drop-shadow-md m-3 opacity-50"
|
|
14
|
+
href="#"
|
|
15
|
+
id="startLink"
|
|
16
|
+
>Connect my bank</a>
|
|
17
|
+
<a
|
|
18
|
+
class="bg-blue-600 text-white rounded-lg p-5 inline-block drop-shadow-md m-3 hover:bg-blue-400"
|
|
19
|
+
href="#"
|
|
20
|
+
id="getBackLink"
|
|
21
|
+
>Go back</a>
|
|
22
|
+
<a class="underline hover:bg-gray-600" href="https://plaid.com/" target="_blank">About Plaid</a>
|
|
23
|
+
</div>
|
|
24
|
+
<script src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script>
|
|
25
|
+
<script src="connect.js"></script>
|
|
26
|
+
</body>
|
|
27
|
+
</html>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
let linkTokenData;
|
|
2
|
+
let keycloakToken;
|
|
3
|
+
let borrowerId;
|
|
4
|
+
let redirectLink;
|
|
5
|
+
|
|
6
|
+
const initializeLink = async () => {
|
|
7
|
+
const linkTokenResponse = await fetch('/api/plaid/create_link_token');
|
|
8
|
+
linkTokenData = await linkTokenResponse.json();
|
|
9
|
+
if (linkTokenData.error) {
|
|
10
|
+
document.querySelector("#startLink").innerHTML = linkTokenData.message;
|
|
11
|
+
document.querySelector("#startLink").classList.remove('opacity-50');
|
|
12
|
+
document.querySelector("#startLink").classList.remove('bg-green-900');
|
|
13
|
+
document.querySelector("#startLink").classList.add('bg-red-600');
|
|
14
|
+
document.querySelector("#startLink").removeEventListener('click', startLink);
|
|
15
|
+
} else {
|
|
16
|
+
document.querySelector("#startLink").classList.remove('opacity-50');
|
|
17
|
+
document.querySelector("#startLink").classList.add('hover:bg-green-700');
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const getBackLink = () => {
|
|
22
|
+
const url = new URL(window.location);
|
|
23
|
+
const searchParams = url.searchParams;
|
|
24
|
+
window.location.href = searchParams.get('redirectLink');
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const startLink = () => {
|
|
28
|
+
if (linkTokenData === undefined) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const handler = Plaid.create({
|
|
33
|
+
token: linkTokenData.link_token,
|
|
34
|
+
onSuccess: async (publicToken) => await exchangeToken(publicToken, keycloakToken, borrowerId, redirectLink),
|
|
35
|
+
onExit: (err, metadata) => {
|
|
36
|
+
},
|
|
37
|
+
onEvent: (eventName) => {
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
handler.open();
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const exchangeToken = async (publicToken, keycloakToken, borrowerId, redirectLink) => {
|
|
44
|
+
const url = new URL(window.location);
|
|
45
|
+
const searchParams = url.searchParams;
|
|
46
|
+
keycloakToken = searchParams.get('authorization');
|
|
47
|
+
borrowerId = searchParams.get('borrowerId');
|
|
48
|
+
redirectLink = searchParams.get('redirectLink');
|
|
49
|
+
|
|
50
|
+
await fetch(
|
|
51
|
+
'/api/plaid/exchange_public_token',
|
|
52
|
+
{
|
|
53
|
+
method: 'POST',
|
|
54
|
+
headers: { 'Content-type': 'application/json' },
|
|
55
|
+
body: JSON.stringify({ public_token: publicToken, keycloakToken, borrowerId }),
|
|
56
|
+
},
|
|
57
|
+
);
|
|
58
|
+
window.location.href = redirectLink;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
document.querySelector("#startLink").addEventListener('click', startLink);
|
|
62
|
+
document.querySelector("#getBackLink").addEventListener('click', getBackLink);
|
|
63
|
+
|
|
64
|
+
initializeLink().then();
|