Compare commits

..

8 Commits

Author SHA1 Message Date
bdd7419d3d 1.0.17 2022-02-19 13:53:13 +01:00
0d99ee51d5 fix(core): update 2022-02-19 13:53:12 +01:00
0f80623111 1.0.16 2022-02-19 13:47:41 +01:00
6c02861a79 fix(core): update 2022-02-19 13:47:40 +01:00
a25e758faf 1.0.15 2022-02-19 13:46:05 +01:00
14f2ba0692 fix(core): update 2022-02-19 13:46:05 +01:00
0c391c1fd1 1.0.14 2022-02-19 13:32:57 +01:00
0c9decce3e fix(core): update 2022-02-19 13:32:57 +01:00
6 changed files with 18 additions and 16 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@mojoio/tink",
"version": "1.0.13",
"version": "1.0.17",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@mojoio/tink",
"version": "1.0.13",
"version": "1.0.17",
"license": "MIT",
"dependencies": {
"@pushrocks/smartrequest": "^1.1.56"

View File

@ -1,6 +1,6 @@
{
"name": "@mojoio/tink",
"version": "1.0.13",
"version": "1.0.17",
"private": false,
"description": "an unofficial api abstraction for tink.com",
"main": "dist_ts/index.js",

View File

@ -33,7 +33,7 @@ Use TypeScript for best inclass intellisense
import * as tink from '@mojoio/tink';
const tinkAccount = new TinkAccount('<clientId>', '<clientSecret>');
const tinkUser = await tinkAccount.createTinkUser('<YourOwnUniqueUserId>');
const tinkUser = await tinkAccount.createTinkUser('<YourOwnUniqueUserId/externalUserId>');
const tinkLinkUrl = await tinkUser.getTinkLink('<marketCode like DE>');
// present the link to your user to connect their bank accounts to the tink platform.
@ -47,6 +47,9 @@ for (const providerConsent of tinkProviderConsents) {
}
}
// additional stuff
const existingTinkUser = await tinkAccount.getUser('<YourOwnUniqueUserId/externalUserId>')
await existingTinkuser.delete(); // delete the user on the tink platform
```

View File

@ -1,2 +1,3 @@
export * from './tink.classes.tinkaccount';
export * from './tink.classes.tinkuser';
export * from './tink.classes.tinkuser';
export * from './tink.classes.tinkproviderconsent';

View File

@ -4,13 +4,13 @@ import { TinkUser } from './tink.classes.tinkuser';
export class TinkAccount {
public clientId: string;
private clientSecret: string;
private _clientSecret: string;
private apiBaseUrl: string = 'https://api.tink.com';
private _apiBaseUrl: string = 'https://api.tink.com';
constructor(clientIdArg: string, clientSecretArg: string) {
this.clientId = clientIdArg;
this.clientSecret = clientSecretArg;
this._clientSecret = clientSecretArg;
}
public async getTinkHealthyBoolean(): Promise<boolean> {
@ -26,7 +26,7 @@ export class TinkAccount {
public async getClientAccessTokenForScope(scopeArg: string): Promise<string> {
// lets get an accessToken for the request
const response = await plugins.smartrequest.postFormDataUrlEncoded(
`${this.apiBaseUrl}/api/v1/oauth/token`,
`${this._apiBaseUrl}/api/v1/oauth/token`,
{
keepAlive: false,
},
@ -37,7 +37,7 @@ export class TinkAccount {
},
{
key: 'client_secret',
content: this.clientSecret,
content: this._clientSecret,
},
{
key: 'grant_type',
@ -65,7 +65,7 @@ export class TinkAccount {
) {
const accessToken = await this.getClientAccessTokenForScope('authorization:grant');
const response = await plugins.smartrequest.postFormDataUrlEncoded(
`${this.apiBaseUrl}/api/v1/oauth/authorization-grant/delegate`,
`${this._apiBaseUrl}/api/v1/oauth/authorization-grant/delegate`,
{
keepAlive: false,
headers: {
@ -107,7 +107,7 @@ export class TinkAccount {
public async getUserAccessToken(authorizationCode: string): Promise<string> {
const accessToken = await this.getClientAccessTokenForScope('authorization:grant');
const response = await plugins.smartrequest.postFormDataUrlEncoded(
`${this.apiBaseUrl}/api/v1/oauth/token`,
`${this._apiBaseUrl}/api/v1/oauth/token`,
{
keepAlive: false,
},
@ -122,7 +122,7 @@ export class TinkAccount {
},
{
key: 'client_secret',
content: this.clientSecret,
content: this._clientSecret,
},
{
key: 'grant_type',
@ -153,7 +153,7 @@ export class TinkAccount {
} else {
console.log('tink is healthy, continuing...');
}
const response = await plugins.smartrequest.request(`${this.apiBaseUrl}${optionsArg.urlArg}`, {
const response = await plugins.smartrequest.request(`${this._apiBaseUrl}${optionsArg.urlArg}`, {
keepAlive: false,
headers: {
Authorization: `Bearer ${optionsArg.accessToken}`,

View File

@ -80,8 +80,6 @@ export class TinkUser {
public tinkUserId: string;
public externalUserIdArg: string;
public authorizationToken: string;
constructor(tinkAccountrefArg: TinkAccount, tinkUserIdArg: string, externalUserIdArg: string) {
this.tinkAccountRef = tinkAccountrefArg;
this.tinkUserId = tinkUserIdArg;