@pax2pay/model-banking 0.1.323 → 0.1.325
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/Authorization/Status.ts +12 -36
- package/Authorization/index.ts +8 -23
- package/Client/Audit.ts +10 -0
- package/Client/Logs.ts +19 -4
- package/Client/index.ts +4 -2
- package/dist/Authorization/Status.d.ts +4 -9
- package/dist/Authorization/Status.js +9 -23
- package/dist/Authorization/Status.js.map +1 -1
- package/dist/Authorization/index.d.ts +5 -9
- package/dist/Authorization/index.js +9 -22
- package/dist/Authorization/index.js.map +1 -1
- package/dist/Client/Audit.d.ts +8 -0
- package/dist/Client/Audit.js +9 -0
- package/dist/Client/Audit.js.map +1 -0
- package/dist/Client/Logs.d.ts +11 -3
- package/dist/Client/Logs.js +12 -3
- package/dist/Client/Logs.js.map +1 -1
- package/dist/Client/index.d.ts +4 -2
- package/dist/Client/index.js +4 -2
- package/dist/Client/index.js.map +1 -1
- package/package.json +1 -1
package/Authorization/Status.ts
CHANGED
|
@@ -5,46 +5,22 @@ import { Transaction } from "../Transaction"
|
|
|
5
5
|
export type Status = "approved" | Status.Failed
|
|
6
6
|
|
|
7
7
|
export namespace Status {
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
reason: string | string[]
|
|
11
|
-
error?: gracely.Error | Transaction.Note[]
|
|
12
|
-
}
|
|
8
|
+
export const failures = [...Transaction.Status.reasons, "card not found", "account not found", "other"] as const
|
|
9
|
+
export type Failed = typeof failures[number]
|
|
13
10
|
export namespace Failed {
|
|
14
|
-
export function from(error: gracely.Error | Transaction.
|
|
11
|
+
export function from(error: gracely.Error | Transaction.Status.Reason): Failed {
|
|
15
12
|
let result: Status
|
|
16
13
|
if (gracely.Error.is(error)) {
|
|
17
14
|
if (error.error?.includes("Card with id"))
|
|
18
|
-
result =
|
|
19
|
-
else if (error.error?.includes("
|
|
20
|
-
result =
|
|
21
|
-
|
|
22
|
-
result =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
else {
|
|
27
|
-
const reasons: string[] = error.reduce(
|
|
28
|
-
(a: string[], c: Transaction.Note) => [...a, `${c.created} ${c.author}: ${c.text ?? ""}`],
|
|
29
|
-
[]
|
|
30
|
-
)
|
|
31
|
-
result = {
|
|
32
|
-
code: "62", //Restricted card: "This means that the card that you processed is restricted to where it can be used.
|
|
33
|
-
//The restricted card is only allowed to be used for certain types of businesses or purchases."
|
|
34
|
-
reason: ["Restricted card.", ...reasons],
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return { ...result, error }
|
|
15
|
+
result = "card not found"
|
|
16
|
+
else if (error.error?.includes("Failed to reach account"))
|
|
17
|
+
result = "account not found"
|
|
18
|
+
else
|
|
19
|
+
result = "other"
|
|
20
|
+
} else
|
|
21
|
+
result = error
|
|
22
|
+
return result
|
|
38
23
|
}
|
|
39
24
|
}
|
|
40
|
-
export const type = isly.union(
|
|
41
|
-
isly.string("approved"),
|
|
42
|
-
isly.object<Status.Failed>({
|
|
43
|
-
code: isly.string(),
|
|
44
|
-
reason: isly.union(isly.string(), isly.string().array()),
|
|
45
|
-
error: isly.union(Transaction.Note.type.array(), isly.fromIs("gracely.Error", gracely.Error.is)).optional(),
|
|
46
|
-
})
|
|
47
|
-
)
|
|
48
|
-
export const is = type.is
|
|
49
|
-
export const flaw = type.flaw
|
|
25
|
+
export const type = isly.union(isly.string("approved"), isly.string<Failed>(failures))
|
|
50
26
|
}
|
package/Authorization/index.ts
CHANGED
|
@@ -10,12 +10,12 @@ import { Merchant } from "../Merchant"
|
|
|
10
10
|
import { Transaction } from "../Transaction"
|
|
11
11
|
import { Creatable as AuthorizationCreatable } from "./Creatable"
|
|
12
12
|
import { Exchange as AuthorizationExchange } from "./Exchange"
|
|
13
|
-
import { Status } from "./Status"
|
|
13
|
+
import { Status as AuthorizationStatus } from "./Status"
|
|
14
14
|
|
|
15
15
|
export interface Authorization {
|
|
16
16
|
id: cryptly.Identifier
|
|
17
17
|
created: isoly.DateTime
|
|
18
|
-
status: Status
|
|
18
|
+
status: Authorization.Status
|
|
19
19
|
reference: string
|
|
20
20
|
approvalCode?: string
|
|
21
21
|
amount: Amount
|
|
@@ -37,10 +37,9 @@ export interface Authorization {
|
|
|
37
37
|
description: string
|
|
38
38
|
}
|
|
39
39
|
export namespace Authorization {
|
|
40
|
-
export
|
|
41
|
-
export
|
|
42
|
-
export
|
|
43
|
-
export const Exchange = AuthorizationExchange
|
|
40
|
+
export import Creatable = AuthorizationCreatable
|
|
41
|
+
export import Exchange = AuthorizationExchange
|
|
42
|
+
export import Status = AuthorizationStatus
|
|
44
43
|
export const type = isly.object<Authorization>({
|
|
45
44
|
id: isly.fromIs("Authorization.id", cryptly.Identifier.is),
|
|
46
45
|
status: Status.type,
|
|
@@ -67,8 +66,6 @@ export namespace Authorization {
|
|
|
67
66
|
approvalCode: isly.string().optional(),
|
|
68
67
|
description: isly.string(),
|
|
69
68
|
})
|
|
70
|
-
export const is = type.is
|
|
71
|
-
export const flaw = type.flaw
|
|
72
69
|
export function fromCreatable(
|
|
73
70
|
creatable: Creatable,
|
|
74
71
|
card: Card | gracely.Error,
|
|
@@ -97,10 +94,10 @@ export namespace Authorization {
|
|
|
97
94
|
...partial,
|
|
98
95
|
card: { id: card.id, iin: card.details.iin, last4: card.details.last4, token: card.details.token },
|
|
99
96
|
}
|
|
100
|
-
else if (transaction.status
|
|
97
|
+
else if (!Transaction.Status.Success.is(transaction.status))
|
|
101
98
|
result = {
|
|
102
|
-
id:
|
|
103
|
-
status: Status.Failed.from(transaction.
|
|
99
|
+
id: transaction.id,
|
|
100
|
+
status: Status.Failed.from(transaction.status[1]),
|
|
104
101
|
...partial,
|
|
105
102
|
card: { id: card.id, iin: card.details.iin, last4: card.details.last4, token: card.details.token },
|
|
106
103
|
}
|
|
@@ -115,16 +112,4 @@ export namespace Authorization {
|
|
|
115
112
|
}
|
|
116
113
|
return result
|
|
117
114
|
}
|
|
118
|
-
export function toTransaction(authorization: Authorization): Transaction.Creatable {
|
|
119
|
-
return {
|
|
120
|
-
amount: authorization.amount[1],
|
|
121
|
-
currency: authorization.amount[0],
|
|
122
|
-
description: authorization.description,
|
|
123
|
-
counterpart: {
|
|
124
|
-
type: "card",
|
|
125
|
-
acquirer: authorization.acquirer,
|
|
126
|
-
merchant: authorization.merchant,
|
|
127
|
-
},
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
115
|
}
|
package/Client/Audit.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { gracely } from "gracely"
|
|
2
|
+
import { http } from "cloudly-http"
|
|
3
|
+
import { Audit as AuditLog } from "../Audit"
|
|
4
|
+
|
|
5
|
+
export class Audit {
|
|
6
|
+
constructor(private readonly client: http.Client) {}
|
|
7
|
+
async list(resource?: AuditLog.Resource): Promise<AuditLog[] | gracely.Error> {
|
|
8
|
+
return this.client.get<AuditLog[]>(`/audit/${resource}`)
|
|
9
|
+
}
|
|
10
|
+
}
|
package/Client/Logs.ts
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { gracely } from "gracely"
|
|
2
|
+
import { isoly } from "isoly"
|
|
2
3
|
import { http } from "cloudly-http"
|
|
3
|
-
import {
|
|
4
|
+
import { Log } from "../Log"
|
|
4
5
|
|
|
5
|
-
export class
|
|
6
|
+
export class Logs {
|
|
6
7
|
constructor(private readonly client: http.Client) {}
|
|
7
|
-
async list(
|
|
8
|
-
|
|
8
|
+
async list(options?: {
|
|
9
|
+
collection?: string
|
|
10
|
+
limit?: number
|
|
11
|
+
cursor?: string
|
|
12
|
+
dateRange?: isoly.DateRange
|
|
13
|
+
}): Promise<(Log[] & { cursor?: string | undefined }) | gracely.Error> {
|
|
14
|
+
const query = Object.entries({
|
|
15
|
+
...(options?.dateRange ?? {}),
|
|
16
|
+
})
|
|
17
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
18
|
+
.join("&")
|
|
19
|
+
const path = options?.collection ? `/log/${options.collection}` : `/log`
|
|
20
|
+
return await this.client.get<Log[] & { cursor?: string | undefined }>(path + (query && "?" + query), {
|
|
21
|
+
...(options?.cursor ? { cursor: options.cursor } : {}),
|
|
22
|
+
...(options?.limit ? { limit: options?.limit.toString() } : {}),
|
|
23
|
+
})
|
|
9
24
|
}
|
|
10
25
|
}
|
package/Client/index.ts
CHANGED
|
@@ -3,10 +3,11 @@ import { userwidgets } from "@userwidgets/model"
|
|
|
3
3
|
import { http } from "cloudly-http"
|
|
4
4
|
import { rest } from "cloudly-rest"
|
|
5
5
|
import { Accounts } from "./Accounts"
|
|
6
|
+
import { Audit } from "./Audit"
|
|
6
7
|
import { Cards } from "./Cards"
|
|
7
8
|
import { Exchanges } from "./Exchanges"
|
|
8
9
|
import { Labels } from "./Labels"
|
|
9
|
-
import {
|
|
10
|
+
import { Logs } from "./Logs"
|
|
10
11
|
import { Operations } from "./Operations"
|
|
11
12
|
import { Organizations } from "./Organizations"
|
|
12
13
|
import { Reports } from "./Reports"
|
|
@@ -25,7 +26,8 @@ export class Client extends rest.Client<gracely.Error> {
|
|
|
25
26
|
readonly exchanges = new Exchanges(this.client)
|
|
26
27
|
readonly organizations = new Organizations(this.client)
|
|
27
28
|
readonly reports = new Reports(this.client)
|
|
28
|
-
readonly
|
|
29
|
+
readonly audits = new Audit(this.client)
|
|
30
|
+
readonly logs = new Logs(this.client)
|
|
29
31
|
readonly rules = new Rules(this.client)
|
|
30
32
|
readonly settlements = new Settlements(this.client)
|
|
31
33
|
readonly transactions = new Transactions(this.client)
|
|
@@ -3,15 +3,10 @@ import { isly } from "isly";
|
|
|
3
3
|
import { Transaction } from "../Transaction";
|
|
4
4
|
export type Status = "approved" | Status.Failed;
|
|
5
5
|
export declare namespace Status {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
reason: string | string[];
|
|
9
|
-
error?: gracely.Error | Transaction.Note[];
|
|
10
|
-
}
|
|
6
|
+
const failures: readonly ["insufficient funds", "cancelled card", "card expired", "exceeds limit", "invalid csc", "system failure", "invalid request", "expired", "denied", "card not found", "account not found", "other"];
|
|
7
|
+
type Failed = typeof failures[number];
|
|
11
8
|
namespace Failed {
|
|
12
|
-
function from(error: gracely.Error | Transaction.
|
|
9
|
+
function from(error: gracely.Error | Transaction.Status.Reason): Failed;
|
|
13
10
|
}
|
|
14
|
-
const type: isly.Type<"approved" |
|
|
15
|
-
const is: isly.Type.IsFunction<"approved" | Failed>;
|
|
16
|
-
const flaw: isly.Type.FlawFunction;
|
|
11
|
+
const type: isly.Type<"denied" | "other" | "approved" | "insufficient funds" | "cancelled card" | "card expired" | "exceeds limit" | "invalid csc" | "system failure" | "invalid request" | "expired" | "card not found" | "account not found">;
|
|
17
12
|
}
|
|
@@ -3,39 +3,25 @@ import { isly } from "isly";
|
|
|
3
3
|
import { Transaction } from "../Transaction";
|
|
4
4
|
export var Status;
|
|
5
5
|
(function (Status) {
|
|
6
|
+
Status.failures = [...Transaction.Status.reasons, "card not found", "account not found", "other"];
|
|
6
7
|
let Failed;
|
|
7
8
|
(function (Failed) {
|
|
8
9
|
function from(error) {
|
|
9
10
|
let result;
|
|
10
11
|
if (gracely.Error.is(error)) {
|
|
11
12
|
if (error.error?.includes("Card with id"))
|
|
12
|
-
result =
|
|
13
|
-
else if (error.error?.includes("
|
|
14
|
-
result =
|
|
15
|
-
}
|
|
16
|
-
else if (error.error?.includes("Failed to reach account")) {
|
|
17
|
-
result = { code: "78", reason: "Invalid/nonexistent account specified (general)" };
|
|
18
|
-
}
|
|
13
|
+
result = "card not found";
|
|
14
|
+
else if (error.error?.includes("Failed to reach account"))
|
|
15
|
+
result = "account not found";
|
|
19
16
|
else
|
|
20
|
-
result =
|
|
17
|
+
result = "other";
|
|
21
18
|
}
|
|
22
|
-
else
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
code: "62",
|
|
26
|
-
reason: ["Restricted card.", ...reasons],
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
return { ...result, error };
|
|
19
|
+
else
|
|
20
|
+
result = error;
|
|
21
|
+
return result;
|
|
30
22
|
}
|
|
31
23
|
Failed.from = from;
|
|
32
24
|
})(Failed = Status.Failed || (Status.Failed = {}));
|
|
33
|
-
Status.type = isly.union(isly.string("approved"), isly.
|
|
34
|
-
code: isly.string(),
|
|
35
|
-
reason: isly.union(isly.string(), isly.string().array()),
|
|
36
|
-
error: isly.union(Transaction.Note.type.array(), isly.fromIs("gracely.Error", gracely.Error.is)).optional(),
|
|
37
|
-
}));
|
|
38
|
-
Status.is = Status.type.is;
|
|
39
|
-
Status.flaw = Status.type.flaw;
|
|
25
|
+
Status.type = isly.union(isly.string("approved"), isly.string(Status.failures));
|
|
40
26
|
})(Status || (Status = {}));
|
|
41
27
|
//# sourceMappingURL=Status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.js","sourceRoot":"../","sources":["Authorization/Status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAI5C,MAAM,KAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"Status.js","sourceRoot":"../","sources":["Authorization/Status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAI5C,MAAM,KAAW,MAAM,CAmBtB;AAnBD,WAAiB,MAAM;IACT,eAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,OAAO,CAAU,CAAA;IAEhH,IAAiB,MAAM,CActB;IAdD,WAAiB,MAAM;QACtB,SAAgB,IAAI,CAAC,KAAgD;YACpE,IAAI,MAAc,CAAA;YAClB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC;oBACxC,MAAM,GAAG,gBAAgB,CAAA;qBACrB,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,yBAAyB,CAAC;oBACxD,MAAM,GAAG,mBAAmB,CAAA;;oBAE5B,MAAM,GAAG,OAAO,CAAA;YAClB,CAAC;;gBACA,MAAM,GAAG,KAAK,CAAA;YACf,OAAO,MAAM,CAAA;QACd,CAAC;QAZe,WAAI,OAYnB,CAAA;IACF,CAAC,EAdgB,MAAM,GAAN,aAAM,KAAN,aAAM,QActB;IACY,WAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAS,OAAA,QAAQ,CAAC,CAAC,CAAA;AACvF,CAAC,EAnBgB,MAAM,KAAN,MAAM,QAmBtB"}
|
|
@@ -9,11 +9,11 @@ import { Merchant } from "../Merchant";
|
|
|
9
9
|
import { Transaction } from "../Transaction";
|
|
10
10
|
import { Creatable as AuthorizationCreatable } from "./Creatable";
|
|
11
11
|
import { Exchange as AuthorizationExchange } from "./Exchange";
|
|
12
|
-
import { Status } from "./Status";
|
|
12
|
+
import { Status as AuthorizationStatus } from "./Status";
|
|
13
13
|
export interface Authorization {
|
|
14
14
|
id: cryptly.Identifier;
|
|
15
15
|
created: isoly.DateTime;
|
|
16
|
-
status: Status;
|
|
16
|
+
status: Authorization.Status;
|
|
17
17
|
reference: string;
|
|
18
18
|
approvalCode?: string;
|
|
19
19
|
amount: Amount;
|
|
@@ -35,13 +35,9 @@ export interface Authorization {
|
|
|
35
35
|
description: string;
|
|
36
36
|
}
|
|
37
37
|
export declare namespace Authorization {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const Exchange: typeof AuthorizationExchange;
|
|
38
|
+
export import Creatable = AuthorizationCreatable;
|
|
39
|
+
export import Exchange = AuthorizationExchange;
|
|
40
|
+
export import Status = AuthorizationStatus;
|
|
42
41
|
const type: isly.object.ExtendableType<Authorization>;
|
|
43
|
-
const is: isly.Type.IsFunction<Authorization>;
|
|
44
|
-
const flaw: isly.Type.FlawFunction;
|
|
45
42
|
function fromCreatable(creatable: Creatable, card: Card | gracely.Error, transaction: Transaction | gracely.Error): Authorization;
|
|
46
|
-
function toTransaction(authorization: Authorization): Transaction.Creatable;
|
|
47
43
|
}
|
|
@@ -5,16 +5,18 @@ import { isly } from "isly";
|
|
|
5
5
|
import { Acquirer } from "../Acquirer";
|
|
6
6
|
import { Identifier } from "../Identifier";
|
|
7
7
|
import { Merchant } from "../Merchant";
|
|
8
|
+
import { Transaction } from "../Transaction";
|
|
8
9
|
import { Creatable as AuthorizationCreatable } from "./Creatable";
|
|
9
10
|
import { Exchange as AuthorizationExchange } from "./Exchange";
|
|
10
|
-
import { Status } from "./Status";
|
|
11
|
+
import { Status as AuthorizationStatus } from "./Status";
|
|
11
12
|
export var Authorization;
|
|
12
13
|
(function (Authorization) {
|
|
13
14
|
Authorization.Creatable = AuthorizationCreatable;
|
|
14
15
|
Authorization.Exchange = AuthorizationExchange;
|
|
16
|
+
Authorization.Status = AuthorizationStatus;
|
|
15
17
|
Authorization.type = isly.object({
|
|
16
18
|
id: isly.fromIs("Authorization.id", cryptly.Identifier.is),
|
|
17
|
-
status: Status.type,
|
|
19
|
+
status: Authorization.Status.type,
|
|
18
20
|
transaction: isly
|
|
19
21
|
.object({
|
|
20
22
|
id: isly.string(),
|
|
@@ -38,8 +40,6 @@ export var Authorization;
|
|
|
38
40
|
approvalCode: isly.string().optional(),
|
|
39
41
|
description: isly.string(),
|
|
40
42
|
});
|
|
41
|
-
Authorization.is = Authorization.type.is;
|
|
42
|
-
Authorization.flaw = Authorization.type.flaw;
|
|
43
43
|
function fromCreatable(creatable, card, transaction) {
|
|
44
44
|
const partial = {
|
|
45
45
|
created: isoly.DateTime.now(),
|
|
@@ -53,21 +53,21 @@ export var Authorization;
|
|
|
53
53
|
if (gracely.Error.is(card))
|
|
54
54
|
result = {
|
|
55
55
|
id: Identifier.generate(),
|
|
56
|
-
status: Status.Failed.from(card),
|
|
56
|
+
status: Authorization.Status.Failed.from(card),
|
|
57
57
|
...partial,
|
|
58
58
|
card: { id: creatable.card },
|
|
59
59
|
};
|
|
60
60
|
else if (gracely.Error.is(transaction))
|
|
61
61
|
result = {
|
|
62
62
|
id: Identifier.generate(),
|
|
63
|
-
status: Status.Failed.from(transaction),
|
|
63
|
+
status: Authorization.Status.Failed.from(transaction),
|
|
64
64
|
...partial,
|
|
65
65
|
card: { id: card.id, iin: card.details.iin, last4: card.details.last4, token: card.details.token },
|
|
66
66
|
};
|
|
67
|
-
else if (transaction.status
|
|
67
|
+
else if (!Transaction.Status.Success.is(transaction.status))
|
|
68
68
|
result = {
|
|
69
|
-
id:
|
|
70
|
-
status: Status.Failed.from(transaction.
|
|
69
|
+
id: transaction.id,
|
|
70
|
+
status: Authorization.Status.Failed.from(transaction.status[1]),
|
|
71
71
|
...partial,
|
|
72
72
|
card: { id: card.id, iin: card.details.iin, last4: card.details.last4, token: card.details.token },
|
|
73
73
|
};
|
|
@@ -83,18 +83,5 @@ export var Authorization;
|
|
|
83
83
|
return result;
|
|
84
84
|
}
|
|
85
85
|
Authorization.fromCreatable = fromCreatable;
|
|
86
|
-
function toTransaction(authorization) {
|
|
87
|
-
return {
|
|
88
|
-
amount: authorization.amount[1],
|
|
89
|
-
currency: authorization.amount[0],
|
|
90
|
-
description: authorization.description,
|
|
91
|
-
counterpart: {
|
|
92
|
-
type: "card",
|
|
93
|
-
acquirer: authorization.acquirer,
|
|
94
|
-
merchant: authorization.merchant,
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
Authorization.toTransaction = toTransaction;
|
|
99
86
|
})(Authorization || (Authorization = {}));
|
|
100
87
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Authorization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Authorization/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { gracely } from "gracely";
|
|
2
|
+
import { http } from "cloudly-http";
|
|
3
|
+
import { Audit as AuditLog } from "../Audit";
|
|
4
|
+
export declare class Audit {
|
|
5
|
+
private readonly client;
|
|
6
|
+
constructor(client: http.Client);
|
|
7
|
+
list(resource?: AuditLog.Resource): Promise<AuditLog[] | gracely.Error>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Audit.js","sourceRoot":"../","sources":["Client/Audit.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,KAAK;IACjB,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,QAA4B;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,UAAU,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC;CACD"}
|
package/dist/Client/Logs.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { gracely } from "gracely";
|
|
2
|
+
import { isoly } from "isoly";
|
|
2
3
|
import { http } from "cloudly-http";
|
|
3
|
-
import {
|
|
4
|
-
export declare class
|
|
4
|
+
import { Log } from "../Log";
|
|
5
|
+
export declare class Logs {
|
|
5
6
|
private readonly client;
|
|
6
7
|
constructor(client: http.Client);
|
|
7
|
-
list(
|
|
8
|
+
list(options?: {
|
|
9
|
+
collection?: string;
|
|
10
|
+
limit?: number;
|
|
11
|
+
cursor?: string;
|
|
12
|
+
dateRange?: isoly.DateRange;
|
|
13
|
+
}): Promise<(Log[] & {
|
|
14
|
+
cursor?: string | undefined;
|
|
15
|
+
}) | gracely.Error>;
|
|
8
16
|
}
|
package/dist/Client/Logs.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
export class
|
|
1
|
+
export class Logs {
|
|
2
2
|
constructor(client) {
|
|
3
3
|
this.client = client;
|
|
4
4
|
}
|
|
5
|
-
async list(
|
|
6
|
-
|
|
5
|
+
async list(options) {
|
|
6
|
+
const query = Object.entries({
|
|
7
|
+
...(options?.dateRange ?? {}),
|
|
8
|
+
})
|
|
9
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
10
|
+
.join("&");
|
|
11
|
+
const path = options?.collection ? `/log/${options.collection}` : `/log`;
|
|
12
|
+
return await this.client.get(path + (query && "?" + query), {
|
|
13
|
+
...(options?.cursor ? { cursor: options.cursor } : {}),
|
|
14
|
+
...(options?.limit ? { limit: options?.limit.toString() } : {}),
|
|
15
|
+
});
|
|
7
16
|
}
|
|
8
17
|
}
|
|
9
18
|
//# sourceMappingURL=Logs.js.map
|
package/dist/Client/Logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logs.js","sourceRoot":"../","sources":["Client/Logs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Logs.js","sourceRoot":"../","sources":["Client/Logs.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,IAAI;IAChB,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,OAKV;QACA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;SAC7B,CAAC;aACA,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,MAAM,IAAI,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QACxE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAA0C,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE;YACpG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAA;IACH,CAAC;CACD"}
|
package/dist/Client/index.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ import { userwidgets } from "@userwidgets/model";
|
|
|
3
3
|
import { http } from "cloudly-http";
|
|
4
4
|
import { rest } from "cloudly-rest";
|
|
5
5
|
import { Accounts } from "./Accounts";
|
|
6
|
+
import { Audit } from "./Audit";
|
|
6
7
|
import { Cards } from "./Cards";
|
|
7
8
|
import { Exchanges } from "./Exchanges";
|
|
8
9
|
import { Labels } from "./Labels";
|
|
9
|
-
import {
|
|
10
|
+
import { Logs } from "./Logs";
|
|
10
11
|
import { Operations } from "./Operations";
|
|
11
12
|
import { Organizations } from "./Organizations";
|
|
12
13
|
import { Reports } from "./Reports";
|
|
@@ -24,7 +25,8 @@ export declare class Client extends rest.Client<gracely.Error> {
|
|
|
24
25
|
readonly exchanges: Exchanges;
|
|
25
26
|
readonly organizations: Organizations;
|
|
26
27
|
readonly reports: Reports;
|
|
27
|
-
readonly
|
|
28
|
+
readonly audits: Audit;
|
|
29
|
+
readonly logs: Logs;
|
|
28
30
|
readonly rules: Rules;
|
|
29
31
|
readonly settlements: Settlements;
|
|
30
32
|
readonly transactions: Transactions;
|
package/dist/Client/index.js
CHANGED
|
@@ -2,10 +2,11 @@ import { userwidgets } from "@userwidgets/model";
|
|
|
2
2
|
import { http } from "cloudly-http";
|
|
3
3
|
import { rest } from "cloudly-rest";
|
|
4
4
|
import { Accounts } from "./Accounts";
|
|
5
|
+
import { Audit } from "./Audit";
|
|
5
6
|
import { Cards } from "./Cards";
|
|
6
7
|
import { Exchanges } from "./Exchanges";
|
|
7
8
|
import { Labels } from "./Labels";
|
|
8
|
-
import {
|
|
9
|
+
import { Logs } from "./Logs";
|
|
9
10
|
import { Operations } from "./Operations";
|
|
10
11
|
import { Organizations } from "./Organizations";
|
|
11
12
|
import { Reports } from "./Reports";
|
|
@@ -23,7 +24,8 @@ export class Client extends rest.Client {
|
|
|
23
24
|
this.exchanges = new Exchanges(this.client);
|
|
24
25
|
this.organizations = new Organizations(this.client);
|
|
25
26
|
this.reports = new Reports(this.client);
|
|
26
|
-
this.
|
|
27
|
+
this.audits = new Audit(this.client);
|
|
28
|
+
this.logs = new Logs(this.client);
|
|
27
29
|
this.rules = new Rules(this.client);
|
|
28
30
|
this.settlements = new Settlements(this.client);
|
|
29
31
|
this.transactions = new Transactions(this.client);
|
package/dist/Client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/index.ts"],"names":[],"mappings":"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"}
|