@pax2pay/client 0.3.52 → 0.3.53
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/Client/Accounts/index.ts +40 -32
- package/Client/Beneficiaries/index.ts +15 -17
- package/Client/Cards/index.ts +62 -88
- package/Client/Categories/index.ts +9 -9
- package/Client/Configuration/index.ts +5 -9
- package/Client/Email/index.ts +1 -2
- package/Client/List.ts +4 -32
- package/Client/Omnisetup/index.ts +3 -1
- package/Client/Organisations/index.ts +7 -15
- package/Client/Reports/index.spec.ignore.ts +0 -7
- package/Client/Reports/index.ts +22 -33
- package/Client/Transfers/factory.ts +4 -2
- package/Client/Transfers/index.ts +4 -19
- package/Client/Users/index.ts +29 -33
- package/Client/index.ts +1 -20
- package/dist/Client/Accounts/index.d.ts +3 -6
- package/dist/Client/Accounts/index.js +25 -19
- package/dist/Client/Accounts/index.js.map +1 -1
- package/dist/Client/Beneficiaries/index.d.ts +3 -7
- package/dist/Client/Beneficiaries/index.js +11 -15
- package/dist/Client/Beneficiaries/index.js.map +1 -1
- package/dist/Client/Cards/index.d.ts +14 -19
- package/dist/Client/Cards/index.js +28 -61
- package/dist/Client/Cards/index.js.map +1 -1
- package/dist/Client/Categories/index.d.ts +4 -6
- package/dist/Client/Categories/index.js +7 -10
- package/dist/Client/Categories/index.js.map +1 -1
- package/dist/Client/Configuration/index.js +5 -9
- package/dist/Client/Configuration/index.js.map +1 -1
- package/dist/Client/Email/index.js +1 -2
- package/dist/Client/Email/index.js.map +1 -1
- package/dist/Client/List.d.ts +3 -24
- package/dist/Client/List.js +1 -17
- package/dist/Client/List.js.map +1 -1
- package/dist/Client/Omnisetup/index.js +3 -1
- package/dist/Client/Omnisetup/index.js.map +1 -1
- package/dist/Client/Organisations/index.d.ts +5 -6
- package/dist/Client/Organisations/index.js +7 -8
- package/dist/Client/Organisations/index.js.map +1 -1
- package/dist/Client/Reports/index.d.ts +1 -1
- package/dist/Client/Reports/index.js +15 -29
- package/dist/Client/Reports/index.js.map +1 -1
- package/dist/Client/Transfers/index.d.ts +3 -7
- package/dist/Client/Transfers/index.js +3 -15
- package/dist/Client/Transfers/index.js.map +1 -1
- package/dist/Client/Users/index.d.ts +5 -6
- package/dist/Client/Users/index.js +20 -27
- package/dist/Client/Users/index.js.map +1 -1
- package/dist/Client/index.d.ts +1 -21
- package/dist/Client/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/model/index.d.ts +1 -2
- package/dist/model/index.js.map +1 -1
- package/index.ts +0 -2
- package/model/index.ts +0 -2
- package/package.json +1 -1
- package/Client/Account/index.ts +0 -9
- package/Client/Beneficiary/index.ts +0 -9
- package/Client/Card/index.ts +0 -57
- package/Client/Collection.ts +0 -24
- package/Client/Organisation/index.ts +0 -9
- package/Client/Resource.ts +0 -25
- package/Client/Transfer/index.ts +0 -9
- package/Client/User/index.ts +0 -9
- package/Client/generatePagination.ts +0 -14
- package/dist/Client/Account/index.d.ts +0 -6
- package/dist/Client/Account/index.js +0 -7
- package/dist/Client/Account/index.js.map +0 -1
- package/dist/Client/Beneficiary/index.d.ts +0 -6
- package/dist/Client/Beneficiary/index.js +0 -7
- package/dist/Client/Beneficiary/index.js.map +0 -1
- package/dist/Client/Card/index.d.ts +0 -24
- package/dist/Client/Card/index.js +0 -25
- package/dist/Client/Card/index.js.map +0 -1
- package/dist/Client/Collection.d.ts +0 -31
- package/dist/Client/Collection.js +0 -19
- package/dist/Client/Collection.js.map +0 -1
- package/dist/Client/Organisation/index.d.ts +0 -6
- package/dist/Client/Organisation/index.js +0 -7
- package/dist/Client/Organisation/index.js.map +0 -1
- package/dist/Client/Resource.d.ts +0 -17
- package/dist/Client/Resource.js +0 -38
- package/dist/Client/Resource.js.map +0 -1
- package/dist/Client/Transfer/index.d.ts +0 -6
- package/dist/Client/Transfer/index.js +0 -7
- package/dist/Client/Transfer/index.js.map +0 -1
- package/dist/Client/User/index.d.ts +0 -6
- package/dist/Client/User/index.js +0 -7
- package/dist/Client/User/index.js.map +0 -1
- package/dist/Client/generatePagination.d.ts +0 -6
- package/dist/Client/generatePagination.js +0 -9
- package/dist/Client/generatePagination.js.map +0 -1
- package/dist/model/Sorting.d.ts +0 -8
- package/dist/model/Sorting.js +0 -2
- package/dist/model/Sorting.js.map +0 -1
- package/model/Sorting.ts +0 -6
|
@@ -1,31 +1,23 @@
|
|
|
1
1
|
import * as model from "../../model"
|
|
2
|
-
import { Collection } from "../Collection"
|
|
3
2
|
import { Connection } from "../Connection"
|
|
4
|
-
import {
|
|
5
|
-
import { Resource } from "../Resource"
|
|
3
|
+
import { List } from "../List"
|
|
6
4
|
|
|
7
|
-
export class Organisations extends
|
|
8
|
-
model.OrganisationResponse,
|
|
9
|
-
Partial<model.OrganisationRequest>,
|
|
10
|
-
model.OrganisationRequest
|
|
11
|
-
> {
|
|
5
|
+
export class Organisations extends List<model.OrganisationResponse> {
|
|
12
6
|
protected readonly folder = "organisations"
|
|
13
7
|
constructor(connection: Connection) {
|
|
14
8
|
super(connection)
|
|
15
9
|
}
|
|
16
|
-
protected createResource(
|
|
17
|
-
response: model.OrganisationResponse
|
|
18
|
-
): Resource<model.OrganisationResponse, { [key: string]: any }> {
|
|
19
|
-
return new Organisation(this.connection, [this.folder, response.code].join("/"), response)
|
|
20
|
-
}
|
|
21
10
|
static create(connection: Connection) {
|
|
22
11
|
return new Organisations(connection)
|
|
23
12
|
}
|
|
13
|
+
async remove(code: string) {
|
|
14
|
+
return await this.connection.remove<model.OrganisationResponse>(`${this.folder}/${code}`)
|
|
15
|
+
}
|
|
24
16
|
async updateOrganisation(
|
|
25
17
|
code: string,
|
|
26
18
|
request: model.OrganisationUpdateRequest
|
|
27
19
|
): Promise<model.ErrorResponse | model.OrganisationResponse> {
|
|
28
|
-
return await this.connection.put<model.OrganisationResponse>(
|
|
20
|
+
return await this.connection.put<model.OrganisationResponse>(`${this.folder}/${code}`, request)
|
|
29
21
|
}
|
|
30
22
|
|
|
31
23
|
async getAllOrganisations(
|
|
@@ -35,7 +27,7 @@ export class Organisations extends Collection<
|
|
|
35
27
|
includeNonActive = false
|
|
36
28
|
): Promise<model.ErrorResponse | model.OrganisationResponse[]> {
|
|
37
29
|
const response = await this.connection.get<{ list: model.OrganisationResponse[]; totalCount: number }>(
|
|
38
|
-
|
|
30
|
+
this.folder,
|
|
39
31
|
{
|
|
40
32
|
page: page,
|
|
41
33
|
size: size,
|
|
@@ -32,11 +32,4 @@ describe("pax2pay.reports", () => {
|
|
|
32
32
|
},
|
|
33
33
|
})
|
|
34
34
|
})
|
|
35
|
-
|
|
36
|
-
it("attachPageable", async () => {
|
|
37
|
-
const result = await client?.reports.attachPageable("statement", 2, 10)
|
|
38
|
-
expect(result).toEqual("statement?page=2&size=10")
|
|
39
|
-
const result2 = await client?.reports.attachPageable("statement", 5, 30)
|
|
40
|
-
expect(result2).toEqual("statement?page=5&size=30")
|
|
41
|
-
})
|
|
42
35
|
})
|
package/Client/Reports/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import * as model from "../../model"
|
|
|
3
3
|
import { Connection } from "../Connection"
|
|
4
4
|
|
|
5
5
|
export class Reports {
|
|
6
|
+
protected readonly folder = "reports"
|
|
6
7
|
constructor(private readonly connection: Connection) {}
|
|
7
8
|
|
|
8
9
|
async reconciliation(start: isoly.DateTime, end: isoly.DateTime) {
|
|
@@ -42,12 +43,15 @@ export class Reports {
|
|
|
42
43
|
status: 400 | 403 | 404 | 500 | 503
|
|
43
44
|
})
|
|
44
45
|
> {
|
|
45
|
-
let path = `statement`
|
|
46
|
-
if (page || pageSize)
|
|
47
|
-
path = this.attachPageable(path, page, pageSize)
|
|
48
|
-
|
|
49
46
|
let result
|
|
50
|
-
result = await this.connection.post<{ list: model.StatementReportResponse; totalCount: number }>(
|
|
47
|
+
result = await this.connection.post<{ list: model.StatementReportResponse; totalCount: number }>(
|
|
48
|
+
`statement`,
|
|
49
|
+
request,
|
|
50
|
+
{
|
|
51
|
+
page: page,
|
|
52
|
+
size: pageSize,
|
|
53
|
+
}
|
|
54
|
+
)
|
|
51
55
|
if (!model.ErrorResponse.is(result) && "list" in result)
|
|
52
56
|
result = result.list
|
|
53
57
|
return result
|
|
@@ -63,45 +67,30 @@ export class Reports {
|
|
|
63
67
|
status: 400 | 403 | 404 | 500 | 503
|
|
64
68
|
})
|
|
65
69
|
> {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
return await this.connection.post<{ list: model.StatementSummaryReportResponse; totalCount: number }>(
|
|
71
|
+
`reports/statement/summary`,
|
|
72
|
+
request,
|
|
73
|
+
{
|
|
74
|
+
page: page,
|
|
75
|
+
size: pageSize,
|
|
76
|
+
includeCount: totalCount,
|
|
77
|
+
}
|
|
73
78
|
)
|
|
74
|
-
return result
|
|
75
79
|
}
|
|
76
80
|
async getStatementForTable(rowId: string) {
|
|
77
|
-
|
|
78
|
-
return result
|
|
79
|
-
}
|
|
80
|
-
attachPageable(base: string, page?: number, pageSize?: number, includeCount?: boolean) {
|
|
81
|
-
const params = []
|
|
82
|
-
if (page)
|
|
83
|
-
params.push("page=" + page)
|
|
84
|
-
if (pageSize)
|
|
85
|
-
params.push("size=" + pageSize)
|
|
86
|
-
if (includeCount != undefined)
|
|
87
|
-
params.push("includeCount=" + includeCount)
|
|
88
|
-
return base + "?" + params.join("&")
|
|
81
|
+
return await this.connection.get<model.StatementReportResponseRow>(`statement/${rowId}`)
|
|
89
82
|
}
|
|
90
83
|
async getStatementReportUrl(request: model.StatementReportUrlRequest) {
|
|
91
|
-
|
|
92
|
-
return result
|
|
84
|
+
return await this.connection.post<model.ReportUrlResponse>(`statement/download`, request)
|
|
93
85
|
}
|
|
94
86
|
async getUserReportUrl(request: model.UserReportUrlRequest) {
|
|
95
|
-
|
|
96
|
-
return result
|
|
87
|
+
return await this.connection.post<model.ReportUrlResponse>(`${this.folder}/user/download`, request)
|
|
97
88
|
}
|
|
98
89
|
async getCardReportUrl(request: model.CardReportUrlRequest) {
|
|
99
|
-
|
|
100
|
-
return result
|
|
90
|
+
return await this.connection.post<model.ReportUrlResponse>(`${this.folder}/card/download`, request)
|
|
101
91
|
}
|
|
102
92
|
async getReconciliationReportUrl(request: model.ReconciliationReportUrlRequest) {
|
|
103
|
-
|
|
104
|
-
return result
|
|
93
|
+
return await this.connection.post<model.ReportUrlResponse>(`${this.folder}/reconciliation/download`, request)
|
|
105
94
|
}
|
|
106
95
|
static create(connection: Connection) {
|
|
107
96
|
return new Reports(connection)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Currency } from "isoly"
|
|
1
2
|
import assert from "assert"
|
|
2
3
|
import * as dotenv from "dotenv"
|
|
3
4
|
import * as model from "../../model"
|
|
@@ -66,13 +67,14 @@ export function getExpectedForBeneficiary(request: model.TransferRequest): model
|
|
|
66
67
|
amount: request.amount,
|
|
67
68
|
beneficiary: {
|
|
68
69
|
transferDestination: {
|
|
69
|
-
currency: request.currency,
|
|
70
|
+
currency: request.currency as Currency,
|
|
70
71
|
fullName: expect.any(String),
|
|
71
72
|
},
|
|
73
|
+
name: expect.any(String),
|
|
72
74
|
defaultReference: expect.any(String),
|
|
73
75
|
status: expect.stringMatching(/(ACTIVE)|(DELETED)|(OUTDATED)/),
|
|
74
76
|
fullName: expect.any(String),
|
|
75
|
-
beneficiaryId: process.env.beneficiaryModulr,
|
|
77
|
+
beneficiaryId: process.env.beneficiaryModulr ?? "",
|
|
76
78
|
createdOn: expect.any(String),
|
|
77
79
|
},
|
|
78
80
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as model from "../../model"
|
|
2
2
|
import { Connection } from "../Connection"
|
|
3
3
|
import { List } from "../List"
|
|
4
|
-
import { Transfer } from "../Transfer"
|
|
5
4
|
|
|
6
|
-
export class Transfers extends List<model.TransferResponse
|
|
5
|
+
export class Transfers extends List<model.TransferResponse> {
|
|
7
6
|
protected folder = "transfers"
|
|
8
7
|
constructor(connection: Connection) {
|
|
9
8
|
super(connection)
|
|
@@ -11,33 +10,19 @@ export class Transfers extends List<model.TransferResponse, model.TransferSearch
|
|
|
11
10
|
static create(connection: Connection): Transfers {
|
|
12
11
|
return new Transfers(connection)
|
|
13
12
|
}
|
|
14
|
-
protected getResourcePath(resource: model.TransferResponse): string {
|
|
15
|
-
return [this.folder, resource.providerCode, resource.providerTransferId].join("/")
|
|
16
|
-
}
|
|
17
|
-
protected createResource(response: model.TransferResponse): Transfer {
|
|
18
|
-
return new Transfer(
|
|
19
|
-
this.connection,
|
|
20
|
-
[this.folder, response.providerCode, response.providerTransferId].join("/"),
|
|
21
|
-
response
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
13
|
async getAll(): Promise<model.ErrorResponse | model.TransferResponse[]> {
|
|
25
|
-
const response = await this.connection.get<{ list: model.TransferResponse[]; totalCount: number }>(
|
|
14
|
+
const response = await this.connection.get<{ list: model.TransferResponse[]; totalCount: number }>(this.folder)
|
|
26
15
|
return this.extractResponse(response)
|
|
27
16
|
}
|
|
28
17
|
async getTransfer(provider: model.ProviderCode, transferId: string) {
|
|
29
18
|
return await this.connection.get<model.TransferResponse>([this.folder, provider, transferId].join("/"))
|
|
30
19
|
}
|
|
31
|
-
protected map(response: model.TransferResponse): Transfer & model.TransferResponse {
|
|
32
|
-
return Object.assign(new Transfer(this.connection, this.getResourcePath(response), response), response)
|
|
33
|
-
}
|
|
34
20
|
async create(request: model.TransferRequest) {
|
|
35
|
-
|
|
36
|
-
return model.ErrorResponse.is(result) ? result : this.map(result)
|
|
21
|
+
return await this.connection.post<model.TransferResponse>(this.folder, request)
|
|
37
22
|
}
|
|
38
23
|
async createV2(request: model.TransferRequest, otp?: string) {
|
|
39
24
|
return await this.connection.post<model.TransferResponseV2>(
|
|
40
|
-
|
|
25
|
+
`v2/${this.folder}`,
|
|
41
26
|
request,
|
|
42
27
|
undefined,
|
|
43
28
|
otp ? { "x-otp": otp } : {}
|
package/Client/Users/index.ts
CHANGED
|
@@ -1,70 +1,66 @@
|
|
|
1
1
|
import * as model from "../../model"
|
|
2
|
-
import { Collection } from "../Collection"
|
|
3
2
|
import { Connection } from "../Connection"
|
|
3
|
+
import { List } from "../List"
|
|
4
4
|
import { Paginated } from "../Paginated"
|
|
5
|
-
import { Resource } from "../Resource"
|
|
6
|
-
import { User } from "../User"
|
|
7
5
|
|
|
8
|
-
export class Users extends
|
|
6
|
+
export class Users extends List<model.UserResponse> {
|
|
9
7
|
protected folder = "users"
|
|
10
8
|
private constructor(connection: Connection) {
|
|
11
9
|
super(connection)
|
|
12
10
|
}
|
|
13
|
-
protected createResource(response: model.UserResponse): Resource<model.UserResponse, { [key: string]: any }> {
|
|
14
|
-
return new User(this.connection, [this.folder, response.username].join("/"), response)
|
|
15
|
-
}
|
|
16
11
|
static create(connection: Connection) {
|
|
17
12
|
return new Users(connection)
|
|
18
13
|
}
|
|
19
14
|
async deleteUser(username: string): Promise<model.UserResponse | model.ErrorResponse> {
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
return await this.connection.remove<model.UserResponse>(`${this.folder}/${username}`)
|
|
16
|
+
}
|
|
17
|
+
async create(request: model.UserRequest) {
|
|
18
|
+
return await this.connection.post<model.UserResponse>(this.folder, request)
|
|
22
19
|
}
|
|
23
20
|
async getAllUsers(): Promise<model.UserResponse[] | model.ErrorResponse> {
|
|
24
|
-
const response = await this.connection.get<{ list: model.UserResponse[]; totalCount: number }>(
|
|
21
|
+
const response = await this.connection.get<{ list: model.UserResponse[]; totalCount: number }>(this.folder, {
|
|
25
22
|
size: 500,
|
|
26
23
|
sort: "username",
|
|
27
24
|
})
|
|
28
25
|
return this.extractResponse(response)
|
|
29
26
|
}
|
|
27
|
+
//Possibly should be moved to its own class
|
|
30
28
|
async getRolesets(): Promise<model.RolesetResponse[] | model.ErrorResponse> {
|
|
31
29
|
const response = await this.connection.get<{ list: model.RolesetResponse[]; totalCount: number }>(`rolesets`, {
|
|
32
30
|
size: 100,
|
|
33
31
|
sort: "name",
|
|
34
32
|
})
|
|
35
|
-
return this.extractResponse(response)
|
|
33
|
+
return this.extractResponse<model.RolesetResponse>(response)
|
|
36
34
|
}
|
|
37
35
|
async getUser(username: string): Promise<model.UserResponse | model.ErrorResponse> {
|
|
38
|
-
|
|
39
|
-
return result
|
|
36
|
+
return await this.connection.get<model.UserResponse>(`${this.folder}/${username}`)
|
|
40
37
|
}
|
|
41
38
|
async getUsersActiveRoles(username: string): Promise<string[] | model.ErrorResponse> {
|
|
42
39
|
const response = await this.connection.get<{ list: string[]; totalCount: number }>(
|
|
43
|
-
|
|
40
|
+
`${this.folder}/${username}/roles/minified`
|
|
44
41
|
)
|
|
45
|
-
return this.extractResponse(response)
|
|
42
|
+
return this.extractResponse<string>(response)
|
|
46
43
|
}
|
|
47
44
|
async resetPassword(username: string): Promise<model.PasswordResetResponse | model.ErrorResponse> {
|
|
48
|
-
|
|
49
|
-
return result
|
|
45
|
+
return await this.connection.post<model.PasswordResetResponse>(`auth/passwordreset`, { username: username })
|
|
50
46
|
}
|
|
51
47
|
async updateRolesetOnUser(username: string, roleset: string): Promise<model.UserRoleResponse | model.ErrorResponse> {
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
return await this.connection.put<model.UserRoleResponse>(
|
|
49
|
+
`${this.folder}/${username}/rolesets/${roleset}`,
|
|
50
|
+
undefined
|
|
51
|
+
)
|
|
54
52
|
}
|
|
55
53
|
async addRolesetOnUser(username: string, roleset: string): Promise<model.UserRoleResponse | model.ErrorResponse> {
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
return await this.connection.post<model.UserRoleResponse>(
|
|
55
|
+
`${this.folder}/${username}/rolesets/${roleset}`,
|
|
58
56
|
undefined
|
|
59
57
|
)
|
|
60
|
-
return result
|
|
61
58
|
}
|
|
62
59
|
async updateUser(
|
|
63
60
|
username: string,
|
|
64
61
|
request: model.UserChangeRequest
|
|
65
62
|
): Promise<model.UserResponse | model.ErrorResponse> {
|
|
66
|
-
|
|
67
|
-
return result
|
|
63
|
+
return await this.connection.put<model.UserResponse>(`${this.folder}/${username}`, request)
|
|
68
64
|
}
|
|
69
65
|
async checkUsernameAvailability(username: string): Promise<model.UsernameAvailabilityResponse | model.ErrorResponse> {
|
|
70
66
|
return await this.connection.get<model.UsernameAvailabilityResponse>(`${this.folder}/username/${username}`)
|
|
@@ -72,14 +68,14 @@ export class Users extends Collection<model.UserResponse, model.UserSearchReques
|
|
|
72
68
|
async checkPassword(
|
|
73
69
|
request: model.PasswordValidateRequest
|
|
74
70
|
): Promise<model.PasswordValidateResponse | model.ErrorResponse> {
|
|
75
|
-
return await this.connection.post<model.PasswordValidateResponse>(
|
|
71
|
+
return await this.connection.post<model.PasswordValidateResponse>(`${this.folder}/password/check`, request)
|
|
76
72
|
}
|
|
77
73
|
async changePassword(
|
|
78
74
|
request: model.PasswordChangeRequest,
|
|
79
75
|
otp?: string
|
|
80
76
|
): Promise<model.UserResponse | model.ErrorResponse> {
|
|
81
77
|
return await this.connection.put<model.UserResponse>(
|
|
82
|
-
|
|
78
|
+
`${this.folder}/password`,
|
|
83
79
|
request,
|
|
84
80
|
undefined,
|
|
85
81
|
otp ? { "x-otp": otp } : {}
|
|
@@ -89,19 +85,19 @@ export class Users extends Collection<model.UserResponse, model.UserSearchReques
|
|
|
89
85
|
username: string
|
|
90
86
|
): Promise<model.TwoFactorAuthenticationRegistrationResponse | model.ErrorResponse> {
|
|
91
87
|
return await this.connection.post<model.TwoFactorAuthenticationRegistrationResponse>(
|
|
92
|
-
|
|
88
|
+
`${this.folder}/${username}/two-factor`,
|
|
93
89
|
{}
|
|
94
90
|
)
|
|
95
91
|
}
|
|
96
92
|
async removeTwoFactorAuthentication(username: string, otp: string): Promise<void | model.ErrorResponse> {
|
|
97
|
-
return await this.connection.remove(
|
|
93
|
+
return await this.connection.remove(`${this.folder}/${username}/two-factor`, undefined, undefined, { "x-otp": otp })
|
|
98
94
|
}
|
|
99
95
|
async searchUsers(
|
|
100
96
|
request: model.UserSearchRequest,
|
|
101
97
|
parameters?: Record<string, any>
|
|
102
98
|
): Promise<model.UserResponse[] | model.ErrorResponse> {
|
|
103
99
|
const result = await this.connection.post<{ list: model.UserResponse[]; totalCount: number }>(
|
|
104
|
-
|
|
100
|
+
`${this.folder}/searches`,
|
|
105
101
|
request,
|
|
106
102
|
parameters
|
|
107
103
|
)
|
|
@@ -114,11 +110,11 @@ export class Users extends Collection<model.UserResponse, model.UserSearchReques
|
|
|
114
110
|
size?: number,
|
|
115
111
|
sort = "username,asc"
|
|
116
112
|
): Promise<model.ErrorResponse | Paginated<model.UserResponse>> {
|
|
117
|
-
return await this.getNextPaginated
|
|
113
|
+
return await this.getNextPaginated(
|
|
118
114
|
previous,
|
|
119
115
|
(page, size, sort, request) =>
|
|
120
116
|
this.connection.post<{ list: model.UserResponse[]; totalCount: number } | model.UserResponse[]>(
|
|
121
|
-
|
|
117
|
+
`${this.folder}/searches`,
|
|
122
118
|
request,
|
|
123
119
|
{
|
|
124
120
|
page: page,
|
|
@@ -139,10 +135,10 @@ export class Users extends Collection<model.UserResponse, model.UserSearchReques
|
|
|
139
135
|
sort = "username,asc",
|
|
140
136
|
providerCode = "modulr"
|
|
141
137
|
): Promise<model.ErrorResponse | Paginated<model.UserResponse>> {
|
|
142
|
-
return await this.getNextPaginated
|
|
138
|
+
return await this.getNextPaginated(
|
|
143
139
|
previous,
|
|
144
140
|
(page, size, sort) =>
|
|
145
|
-
this.connection.get<{ list: model.UserResponse[]; totalCount: number } | model.UserResponse[]>(
|
|
141
|
+
this.connection.get<{ list: model.UserResponse[]; totalCount: number } | model.UserResponse[]>(this.folder, {
|
|
146
142
|
page: page,
|
|
147
143
|
size: size,
|
|
148
144
|
sort: sort,
|
package/Client/index.ts
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
import { Account as ClientAccount } from "./Account"
|
|
2
1
|
import { Accounts as ClientAccounts } from "./Accounts"
|
|
3
2
|
import { Auth as ClientAuth } from "./Auth"
|
|
4
3
|
import { Beneficiaries as ClientBeneficiaries } from "./Beneficiaries"
|
|
5
|
-
import { Card as ClientCard } from "./Card"
|
|
6
4
|
import { Cards as ClientCards } from "./Cards"
|
|
7
5
|
import { Categories as ClientCategories } from "./Categories"
|
|
8
|
-
import { Collection as ClientCollection } from "./Collection"
|
|
9
6
|
import { Configuration as ClientConfiguration } from "./Configuration"
|
|
10
7
|
import { Connection } from "./Connection"
|
|
11
8
|
import { Email as ClientEmail } from "./Email"
|
|
12
9
|
import { List as ClientList } from "./List"
|
|
13
10
|
import { Omnisetup as ClientOmnisetup } from "./Omnisetup"
|
|
14
|
-
import { Organisation as ClientOrganisation } from "./Organisation"
|
|
15
11
|
import { Organisations as ClientOrganisations } from "./Organisations"
|
|
16
12
|
import { Paginated as ClientPaginated } from "./Paginated"
|
|
17
13
|
import { Reports as ClientReports } from "./Reports"
|
|
18
|
-
import { Resource as ClientResource } from "./Resource"
|
|
19
14
|
import { Transfers as ClientTransfers } from "./Transfers"
|
|
20
|
-
import { User as ClientUser } from "./User"
|
|
21
15
|
import { Users as ClientUsers } from "./Users"
|
|
22
16
|
|
|
23
17
|
type Authenticate = (client: Client) => Promise<boolean>
|
|
@@ -53,31 +47,18 @@ export class Client {
|
|
|
53
47
|
}
|
|
54
48
|
|
|
55
49
|
export namespace Client {
|
|
56
|
-
export type Account = ClientAccount
|
|
57
50
|
export type Accounts = ClientAccounts
|
|
58
51
|
export type Auth = ClientAuth
|
|
59
52
|
export type Beneficiaries = ClientBeneficiaries
|
|
60
|
-
export type Card = ClientCard
|
|
61
53
|
export type Cards = ClientCards
|
|
62
54
|
export type Categories = ClientCategories
|
|
63
55
|
export type Configuration = ClientConfiguration
|
|
64
56
|
export type Email = ClientEmail
|
|
65
57
|
export type Omnisetup = ClientOmnisetup
|
|
66
|
-
export type Organisation = ClientOrganisation
|
|
67
58
|
export type Organisations = ClientOrganisations
|
|
68
59
|
export type Reports = ClientReports
|
|
69
60
|
export type Transfers = ClientTransfers
|
|
70
|
-
export type User = ClientUser
|
|
71
61
|
export type Users = ClientUsers
|
|
72
|
-
export type
|
|
73
|
-
Response extends { [key: string]: any },
|
|
74
|
-
Search extends { [key: string]: any },
|
|
75
|
-
Request extends { [key: string]: any }
|
|
76
|
-
> = ClientCollection<Response, Search, Request>
|
|
77
|
-
export type List<Response extends { [key: string]: any }, Request extends { [key: string]: any }> = ClientList<
|
|
78
|
-
Response,
|
|
79
|
-
Request
|
|
80
|
-
>
|
|
81
|
-
export type Resource<Response, Request> = ClientResource<Response, Request>
|
|
62
|
+
export type List<Response extends { [key: string]: any }> = ClientList<Response>
|
|
82
63
|
export type Paginated<T> = ClientPaginated<T>
|
|
83
64
|
}
|
|
@@ -2,14 +2,9 @@ import * as model from "../../model";
|
|
|
2
2
|
import { Connection } from "../Connection";
|
|
3
3
|
import { List } from "../List";
|
|
4
4
|
import { Paginated } from "../Paginated";
|
|
5
|
-
|
|
6
|
-
export declare class Accounts extends List<model.AccountResponse, model.AccountSearchRequest> {
|
|
5
|
+
export declare class Accounts extends List<model.AccountResponse> {
|
|
7
6
|
protected folder: string;
|
|
8
7
|
private constructor();
|
|
9
|
-
protected getResourcePath(resource: model.AccountResponse): string;
|
|
10
|
-
protected createResource(response: model.AccountResponse): Resource<model.AccountResponse, {
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
}>;
|
|
13
8
|
static create(connection: Connection): Accounts;
|
|
14
9
|
getAccountSummary(providerCodes: model.ProviderCode[], accountId?: number, accountStates?: model.AccountState[], providerAccountId?: string): Promise<model.ErrorResponse | model.AccountSummary[]>;
|
|
15
10
|
updateFundingAccount(providerCode: model.ProviderCode, providerAccountId: string, request: model.UpdateAccountRequest): Promise<model.AccountResponse | model.ErrorResponse | (model.ErrorResponse & {
|
|
@@ -26,4 +21,6 @@ export declare class Accounts extends List<model.AccountResponse, model.AccountS
|
|
|
26
21
|
getFundingAccountV2Full(providerCode: model.ProviderCode, providerCodeId: string): Promise<model.FundingAccountResponseV2Full | (model.ErrorResponse & {
|
|
27
22
|
status: 400 | 404 | 500 | 403 | 503;
|
|
28
23
|
})>;
|
|
24
|
+
getFundingAccounts(searchRequest: model.FundingAccountSearchRequest): Promise<model.ErrorResponse | model.AccountResponse[]>;
|
|
25
|
+
getAllFundingAccounts(providerCode: model.ProviderCode, size?: number, sort?: string): Promise<model.ErrorResponse | model.AccountResponse[]>;
|
|
29
26
|
}
|
|
@@ -1,34 +1,30 @@
|
|
|
1
|
-
import { Account } from "../Account";
|
|
2
1
|
import { List } from "../List";
|
|
3
2
|
export class Accounts extends List {
|
|
4
3
|
constructor(connection) {
|
|
5
4
|
super(connection);
|
|
6
5
|
this.folder = "funding-accounts";
|
|
7
6
|
}
|
|
8
|
-
getResourcePath(resource) {
|
|
9
|
-
return [this.folder, resource.provider, resource.providerAccountId].join("/");
|
|
10
|
-
}
|
|
11
|
-
createResource(response) {
|
|
12
|
-
return new Account(this.connection, [this.folder, response.provider, response.providerAccountId].join("/"), response);
|
|
13
|
-
}
|
|
14
7
|
static create(connection) {
|
|
15
8
|
return new Accounts(connection);
|
|
16
9
|
}
|
|
17
10
|
async getAccountSummary(providerCodes, accountId, accountStates, providerAccountId) {
|
|
18
|
-
const response = await this.connection.get(`account-summaries
|
|
19
|
-
|
|
11
|
+
const response = await this.connection.get(`account-summaries`, {
|
|
12
|
+
refresh: false,
|
|
13
|
+
providerCodes: providerCodes,
|
|
14
|
+
accountId: accountId,
|
|
15
|
+
accountStates: accountStates,
|
|
16
|
+
providerAccountId: providerAccountId,
|
|
17
|
+
});
|
|
20
18
|
return this.extractResponse(response);
|
|
21
19
|
}
|
|
22
20
|
async updateFundingAccount(providerCode, providerAccountId, request) {
|
|
23
|
-
|
|
24
|
-
return response;
|
|
21
|
+
return await this.connection.put(`${this.folder}/${providerCode}/${providerAccountId}`, request);
|
|
25
22
|
}
|
|
26
23
|
async cancelLimitAlert(providerCode, providerAccountId) {
|
|
27
|
-
|
|
28
|
-
return response;
|
|
24
|
+
return await this.connection.remove(`${this.folder}/${providerCode}/${providerAccountId}/limits`);
|
|
29
25
|
}
|
|
30
26
|
async getAllFundingAccountsV2Paginated(previous, page, size, sort = undefined, provider = "modulr") {
|
|
31
|
-
return await this.getNextPaginated(previous, (page, size, sort) => this.connection.get(`v2
|
|
27
|
+
return await this.getNextPaginated(previous, (page, size, sort) => this.connection.get(`v2/${this.folder}`, {
|
|
32
28
|
page: page,
|
|
33
29
|
size: size,
|
|
34
30
|
sort: sort,
|
|
@@ -36,7 +32,7 @@ export class Accounts extends List {
|
|
|
36
32
|
}), undefined, page, size, sort);
|
|
37
33
|
}
|
|
38
34
|
async getAllFundingAccountsV2FullPaginated(previous, page, size, sort = undefined, provider = "modulr") {
|
|
39
|
-
return await this.getNextPaginated(previous, (page, size, sort) => this.connection.get(`v2/
|
|
35
|
+
return await this.getNextPaginated(previous, (page, size, sort) => this.connection.get(`v2/${this.folder}/info`, {
|
|
40
36
|
page: page,
|
|
41
37
|
size: size,
|
|
42
38
|
sort: sort,
|
|
@@ -44,12 +40,22 @@ export class Accounts extends List {
|
|
|
44
40
|
}), undefined, page, size, sort);
|
|
45
41
|
}
|
|
46
42
|
async getFundingAccountV2(providerCode, providerCodeId) {
|
|
47
|
-
|
|
48
|
-
return response;
|
|
43
|
+
return await this.connection.get(`v2/${this.folder}/${providerCode}/${providerCodeId}`);
|
|
49
44
|
}
|
|
50
45
|
async getFundingAccountV2Full(providerCode, providerCodeId) {
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
return await this.connection.get(`v2/${this.folder}/${providerCode}/${providerCodeId}/info`);
|
|
47
|
+
}
|
|
48
|
+
async getFundingAccounts(searchRequest) {
|
|
49
|
+
const response = await this.connection.post(`${this.folder}/searches`, searchRequest);
|
|
50
|
+
return this.extractResponse(response);
|
|
51
|
+
}
|
|
52
|
+
async getAllFundingAccounts(providerCode, size = 500, sort = "friendlyName") {
|
|
53
|
+
const response = await this.connection.get(this.folder, {
|
|
54
|
+
provider: providerCode,
|
|
55
|
+
size: size,
|
|
56
|
+
sort: sort,
|
|
57
|
+
});
|
|
58
|
+
return this.extractResponse(response);
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Accounts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Accounts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import * as model from "../../model";
|
|
2
|
-
import { Beneficiary } from "../Beneficiary";
|
|
3
2
|
import { Connection } from "../Connection";
|
|
4
3
|
import { List } from "../List";
|
|
5
|
-
export declare class Beneficiaries extends List<model.BeneficiaryResponse
|
|
4
|
+
export declare class Beneficiaries extends List<model.BeneficiaryResponse> {
|
|
6
5
|
protected folder: string;
|
|
7
6
|
constructor(connection: Connection);
|
|
8
7
|
static create(connection: Connection): Beneficiaries;
|
|
9
|
-
protected getResourcePath(resource: model.BeneficiaryResponse): string;
|
|
10
|
-
protected createResource(response: model.BeneficiaryResponse): Beneficiary;
|
|
11
8
|
getAll(sort?: string): Promise<model.ErrorResponse | model.BeneficiaryResponse[]>;
|
|
12
9
|
getBeneficiary(beneficiaryId: string): Promise<model.BeneficiaryResponse | (model.ErrorResponse & {
|
|
13
10
|
status: 400 | 404 | 500 | 403 | 503;
|
|
14
11
|
})>;
|
|
15
12
|
searchBeneficiary(request: model.SearchBeneficiaryRequest, sort?: string): Promise<model.BeneficiaryResponse[] | model.ErrorResponse>;
|
|
16
|
-
|
|
17
|
-
create(request: model.BeneficiaryRequest): Promise<(model.ErrorResponse & {
|
|
13
|
+
create(request: model.BeneficiaryRequest): Promise<model.BeneficiaryResponse | (model.ErrorResponse & {
|
|
18
14
|
status: 400 | 404 | 500 | 403 | 503;
|
|
19
|
-
})
|
|
15
|
+
})>;
|
|
20
16
|
update(beneficiaryId: string, request: model.UpdateBeneficiaryRequest): Promise<model.BeneficiaryResponse | (model.ErrorResponse & {
|
|
21
17
|
status: 400 | 404 | 500 | 403 | 503;
|
|
22
18
|
})>;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as model from "../../model";
|
|
2
|
-
import { Beneficiary } from "../Beneficiary";
|
|
3
1
|
import { List } from "../List";
|
|
4
2
|
export class Beneficiaries extends List {
|
|
5
3
|
constructor(connection) {
|
|
@@ -9,29 +7,27 @@ export class Beneficiaries extends List {
|
|
|
9
7
|
static create(connection) {
|
|
10
8
|
return new Beneficiaries(connection);
|
|
11
9
|
}
|
|
12
|
-
getResourcePath(resource) {
|
|
13
|
-
return [this.folder, resource.beneficiaryId].join("/");
|
|
14
|
-
}
|
|
15
|
-
createResource(response) {
|
|
16
|
-
return new Beneficiary(this.connection, [this.folder, response.beneficiaryId].join("/"), response);
|
|
17
|
-
}
|
|
18
10
|
async getAll(sort) {
|
|
19
|
-
const response = await this.connection.get(`${this.folder}
|
|
11
|
+
const response = await this.connection.get(`${this.folder}`, {
|
|
12
|
+
page: 0,
|
|
13
|
+
size: 1500,
|
|
14
|
+
sort: sort,
|
|
15
|
+
});
|
|
20
16
|
return this.extractResponse(response);
|
|
21
17
|
}
|
|
22
18
|
async getBeneficiary(beneficiaryId) {
|
|
23
19
|
return await this.connection.get([this.folder, beneficiaryId].join("/"));
|
|
24
20
|
}
|
|
25
21
|
async searchBeneficiary(request, sort) {
|
|
26
|
-
const response = await this.connection.post(`${this.folder}/searches
|
|
22
|
+
const response = await this.connection.post(`${this.folder}/searches`, request, {
|
|
23
|
+
page: 0,
|
|
24
|
+
size: 1500,
|
|
25
|
+
sort: sort,
|
|
26
|
+
});
|
|
27
27
|
return this.extractResponse(response);
|
|
28
28
|
}
|
|
29
|
-
map(response) {
|
|
30
|
-
return Object.assign(new Beneficiary(this.connection, this.getResourcePath(response), response), response);
|
|
31
|
-
}
|
|
32
29
|
async create(request) {
|
|
33
|
-
|
|
34
|
-
return model.ErrorResponse.is(result) ? result : this.map(result);
|
|
30
|
+
return await this.connection.post(`${this.folder}`, request);
|
|
35
31
|
}
|
|
36
32
|
async update(beneficiaryId, request) {
|
|
37
33
|
return await this.connection.put(`${this.folder}/${beneficiaryId}`, request);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Beneficiaries/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Beneficiaries/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,MAAM,OAAO,aAAc,SAAQ,IAA+B;IAEjE,YAAY,UAAsB;QACjC,KAAK,CAAC,UAAU,CAAC,CAAA;QAFR,WAAM,GAAG,eAAe,CAAA;IAGlC,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,UAAsB;QACnC,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAa;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACzC,GAAG,IAAI,CAAC,MAAM,EAAE,EAChB;YACC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;SACV,CACD,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,aAAqB;QACzC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACpG,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,OAAuC,EAAE,IAAa;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1C,GAAG,IAAI,CAAC,MAAM,WAAW,EACzB,OAAO,EACP;YACC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;SACV,CACD,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAiC;QAC7C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAA4B,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IACxF,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,OAAuC;QAC1E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACxG,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,aAAqB;QACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAA4B,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC,CAAA;IAClG,CAAC;CACD"}
|