@pax2pay/model-banking 0.1.605 → 0.1.607
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/Me.ts +12 -2
- package/Client/Transactions/index.ts +6 -1
- package/Client/Users/index.ts +3 -0
- package/User/index.ts +2 -0
- package/User/mfa.ts +17 -0
- package/dist/cjs/Client/Me.d.ts +2 -1
- package/dist/cjs/Client/Me.js +5 -1
- package/dist/cjs/Client/Me.js.map +1 -1
- package/dist/cjs/Client/Transactions/index.d.ts +1 -0
- package/dist/cjs/Client/Transactions/index.js +5 -1
- package/dist/cjs/Client/Transactions/index.js.map +1 -1
- package/dist/cjs/Client/Users/index.d.ts +1 -0
- package/dist/cjs/Client/Users/index.js +3 -0
- package/dist/cjs/Client/Users/index.js.map +1 -1
- package/dist/cjs/User/index.d.ts +2 -0
- package/dist/cjs/User/index.js +2 -0
- package/dist/cjs/User/index.js.map +1 -1
- package/dist/cjs/User/mfa.d.ts +15 -0
- package/dist/cjs/User/mfa.js +20 -0
- package/dist/cjs/User/mfa.js.map +1 -0
- package/dist/mjs/Client/Me.d.ts +2 -1
- package/dist/mjs/Client/Me.js +5 -1
- package/dist/mjs/Client/Me.js.map +1 -1
- package/dist/mjs/Client/Transactions/index.d.ts +1 -0
- package/dist/mjs/Client/Transactions/index.js +5 -1
- package/dist/mjs/Client/Transactions/index.js.map +1 -1
- package/dist/mjs/Client/Users/index.d.ts +1 -0
- package/dist/mjs/Client/Users/index.js +3 -0
- package/dist/mjs/Client/Users/index.js.map +1 -1
- package/dist/mjs/User/index.d.ts +2 -0
- package/dist/mjs/User/index.js +2 -0
- package/dist/mjs/User/index.js.map +1 -1
- package/dist/mjs/User/mfa.d.ts +15 -0
- package/dist/mjs/User/mfa.js +17 -0
- package/dist/mjs/User/mfa.js.map +1 -0
- package/package.json +2 -2
package/Client/Me.ts
CHANGED
|
@@ -9,9 +9,19 @@ export class Me {
|
|
|
9
9
|
async updatePassword(creatable: User.Password.Creatable): Promise<User | gracely.Error> {
|
|
10
10
|
return await this.client.put<User>(`/me/password`, creatable)
|
|
11
11
|
}
|
|
12
|
-
async login(
|
|
13
|
-
|
|
12
|
+
async login(
|
|
13
|
+
email: string,
|
|
14
|
+
password: string,
|
|
15
|
+
realm: Realm,
|
|
16
|
+
totp?: User.mfa.Totp.Otp
|
|
17
|
+
): Promise<string | gracely.Error> {
|
|
18
|
+
return await this.client.get<string>(`/me/${realm}`, {
|
|
14
19
|
authorization: `Basic ${authly.Base64.encode(email + ":" + password, "standard", "=")}`,
|
|
20
|
+
...(totp ? { totp } : undefined),
|
|
15
21
|
})
|
|
16
22
|
}
|
|
23
|
+
|
|
24
|
+
async setupMfa(totp: User.mfa.Totp, otp: User.mfa.Totp.Otp): Promise<User | gracely.Error> {
|
|
25
|
+
return this.client.put<User>(`/me/mfa/totp`, totp, { ...(otp ? { totp: otp } : undefined) })
|
|
26
|
+
}
|
|
17
27
|
}
|
|
@@ -20,7 +20,11 @@ export class Transactions {
|
|
|
20
20
|
return this.client.post<Transaction>(`/account/${account}/transaction`, transaction)
|
|
21
21
|
}
|
|
22
22
|
async list(options?: string | Transactions.Query): Promise<(Transaction[] & { cursor?: string }) | gracely.Error> {
|
|
23
|
-
const query = !options
|
|
23
|
+
const query = !options
|
|
24
|
+
? undefined
|
|
25
|
+
: typeof options == "string"
|
|
26
|
+
? options
|
|
27
|
+
: http.Search.stringify({ ...options, references: options.references?.join(",") })
|
|
24
28
|
return await this.client.get<Transaction[] & { cursor?: string | undefined }>(
|
|
25
29
|
"/transaction" + (query ? "?" + query : "")
|
|
26
30
|
)
|
|
@@ -54,6 +58,7 @@ export namespace Transactions {
|
|
|
54
58
|
end?: isoly.DateTime
|
|
55
59
|
currency?: string
|
|
56
60
|
organization?: string
|
|
61
|
+
references?: string[]
|
|
57
62
|
rail?: Rail
|
|
58
63
|
type?: Transaction.Types
|
|
59
64
|
}
|
package/Client/Users/index.ts
CHANGED
|
@@ -25,4 +25,7 @@ export class Users {
|
|
|
25
25
|
async updateAccess(email: string, access: User.Access): Promise<User | gracely.Error> {
|
|
26
26
|
return await this.client.put<User>(`/user/${email}/access`, access)
|
|
27
27
|
}
|
|
28
|
+
async removeMfa(email: string) {
|
|
29
|
+
return this.client.delete<User>(`/user/${email}/mfa/totp`)
|
|
30
|
+
}
|
|
28
31
|
}
|
package/User/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { zod } from "../zod"
|
|
|
5
5
|
import { Access as UserAccess } from "./Access"
|
|
6
6
|
import { Identity as UserIdentity } from "./Identity"
|
|
7
7
|
import { JWT as UserJWT } from "./JWT"
|
|
8
|
+
import { mfa as userMfa } from "./mfa"
|
|
8
9
|
import { Password as UserPassword } from "./Password"
|
|
9
10
|
|
|
10
11
|
export interface User {
|
|
@@ -18,6 +19,7 @@ export namespace User {
|
|
|
18
19
|
export import Access = UserAccess
|
|
19
20
|
export import Identity = UserIdentity
|
|
20
21
|
export import JWT = UserJWT
|
|
22
|
+
export import mfa = userMfa
|
|
21
23
|
export import Password = UserPassword
|
|
22
24
|
export function fromInvite(invite: Invite): User {
|
|
23
25
|
const now = isoly.DateTime.now()
|
package/User/mfa.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { zod } from "../zod"
|
|
2
|
+
|
|
3
|
+
export namespace mfa {
|
|
4
|
+
export type Totp = zod.infer<typeof Totp.Otp>
|
|
5
|
+
export namespace Totp {
|
|
6
|
+
export const typeZod = zod.object({
|
|
7
|
+
key: zod.string().nonempty(), // secret
|
|
8
|
+
})
|
|
9
|
+
export const is = (value: any): value is Totp => typeZod.safeParse(value).success
|
|
10
|
+
|
|
11
|
+
export type Otp = zod.infer<typeof Otp.typeZod>
|
|
12
|
+
export namespace Otp {
|
|
13
|
+
export const typeZod = zod.string().length(6).regex(/^\d+$/)
|
|
14
|
+
export const is = (value: any): value is Otp => typeZod.safeParse(value).success
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
package/dist/cjs/Client/Me.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export declare class Me {
|
|
|
6
6
|
private readonly client;
|
|
7
7
|
constructor(client: http.Client);
|
|
8
8
|
updatePassword(creatable: User.Password.Creatable): Promise<User | gracely.Error>;
|
|
9
|
-
login(email: string, password: string, realm: Realm): Promise<
|
|
9
|
+
login(email: string, password: string, realm: Realm, totp?: User.mfa.Totp.Otp): Promise<string | gracely.Error>;
|
|
10
|
+
setupMfa(totp: User.mfa.Totp, otp: User.mfa.Totp.Otp): Promise<User | gracely.Error>;
|
|
10
11
|
}
|
package/dist/cjs/Client/Me.js
CHANGED
|
@@ -10,11 +10,15 @@ class Me {
|
|
|
10
10
|
async updatePassword(creatable) {
|
|
11
11
|
return await this.client.put(`/me/password`, creatable);
|
|
12
12
|
}
|
|
13
|
-
async login(email, password, realm) {
|
|
13
|
+
async login(email, password, realm, totp) {
|
|
14
14
|
return await this.client.get(`/me/${realm}`, {
|
|
15
15
|
authorization: `Basic ${authly_1.authly.Base64.encode(email + ":" + password, "standard", "=")}`,
|
|
16
|
+
...(totp ? { totp } : undefined),
|
|
16
17
|
});
|
|
17
18
|
}
|
|
19
|
+
async setupMfa(totp, otp) {
|
|
20
|
+
return this.client.put(`/me/mfa/totp`, totp, { ...(otp ? { totp: otp } : undefined) });
|
|
21
|
+
}
|
|
18
22
|
}
|
|
19
23
|
exports.Me = Me;
|
|
20
24
|
//# sourceMappingURL=Me.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Me.js","sourceRoot":"","sources":["../../../Client/Me.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAK/B,MAAa,EAAE;IACe;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,cAAc,CAAC,SAAkC;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"Me.js","sourceRoot":"","sources":["../../../Client/Me.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAK/B,MAAa,EAAE;IACe;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,cAAc,CAAC,SAAkC;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,KAAK,CACV,KAAa,EACb,QAAgB,EAChB,KAAY,EACZ,IAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,OAAO,KAAK,EAAE,EAAE;YACpD,aAAa,EAAE,SAAS,eAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE;YACvF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAChC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAmB,EAAE,GAAsB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,cAAc,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC7F,CAAC;CACD;AApBD,gBAoBC"}
|
|
@@ -17,7 +17,11 @@ class Transactions {
|
|
|
17
17
|
return this.client.post(`/account/${account}/transaction`, transaction);
|
|
18
18
|
}
|
|
19
19
|
async list(options) {
|
|
20
|
-
const query = !options
|
|
20
|
+
const query = !options
|
|
21
|
+
? undefined
|
|
22
|
+
: typeof options == "string"
|
|
23
|
+
? options
|
|
24
|
+
: cloudly_http_1.http.Search.stringify({ ...options, references: options.references?.join(",") });
|
|
21
25
|
return await this.client.get("/transaction" + (query ? "?" + query : ""));
|
|
22
26
|
}
|
|
23
27
|
async fetch(transaction, account) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Transactions/index.ts"],"names":[],"mappings":";;;AAEA,+CAAmC;AACnC,iCAA4B;AAG5B,qCAAiC;AAGjC,mDAA+C;AAC/C,mCAA+B;AAE/B,MAAa,YAAY;IAEK;IADpB,KAAK,CAAO;IACrB,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,WAAkC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,YAAY,OAAO,cAAc,EAAE,WAAW,CAAC,CAAA;IACrF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAqC;QAC/C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Transactions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,9 @@ class Users {
|
|
|
26
26
|
async updateAccess(email, access) {
|
|
27
27
|
return await this.client.put(`/user/${email}/access`, access);
|
|
28
28
|
}
|
|
29
|
+
async removeMfa(email) {
|
|
30
|
+
return this.client.delete(`/user/${email}/mfa/totp`);
|
|
31
|
+
}
|
|
29
32
|
}
|
|
30
33
|
exports.Users = Users;
|
|
31
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Users/index.ts"],"names":[],"mappings":";;;AAGA,uCAAmC;AAEnC,MAAa,KAAK;IAKY;IAJ7B,QAAQ,CAAU;IAClB,IAAI,OAAO;QACV,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,iBAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,IAAoB;QAChC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAO,OAAO,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAmB;QACpD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,SAAS,EAAE,MAAM,CAAC,CAAA;IACpE,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Users/index.ts"],"names":[],"mappings":";;;AAGA,uCAAmC;AAEnC,MAAa,KAAK;IAKY;IAJ7B,QAAQ,CAAU;IAClB,IAAI,OAAO;QACV,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,iBAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,IAAoB;QAChC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAO,OAAO,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAmB;QACpD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,SAAS,EAAE,MAAM,CAAC,CAAA;IACpE,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,SAAS,KAAK,WAAW,CAAC,CAAA;IAC3D,CAAC;CACD;AAzBD,sBAyBC"}
|
package/dist/cjs/User/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { zod } from "../zod";
|
|
|
4
4
|
import { Access as UserAccess } from "./Access";
|
|
5
5
|
import { Identity as UserIdentity } from "./Identity";
|
|
6
6
|
import { JWT as UserJWT } from "./JWT";
|
|
7
|
+
import { mfa as userMfa } from "./mfa";
|
|
7
8
|
import { Password as UserPassword } from "./Password";
|
|
8
9
|
export interface User {
|
|
9
10
|
email: string;
|
|
@@ -18,6 +19,7 @@ export declare namespace User {
|
|
|
18
19
|
export import Access = UserAccess;
|
|
19
20
|
export import Identity = UserIdentity;
|
|
20
21
|
export import JWT = UserJWT;
|
|
22
|
+
export import mfa = userMfa;
|
|
21
23
|
export import Password = UserPassword;
|
|
22
24
|
function fromInvite(invite: Invite): User;
|
|
23
25
|
function toJWTPayloadCreatable(user: User, realm: Realm): User.JWT.Payload.Creatable;
|
package/dist/cjs/User/index.js
CHANGED
|
@@ -7,12 +7,14 @@ const zod_1 = require("../zod");
|
|
|
7
7
|
const Access_1 = require("./Access");
|
|
8
8
|
const Identity_1 = require("./Identity");
|
|
9
9
|
const JWT_1 = require("./JWT");
|
|
10
|
+
const mfa_1 = require("./mfa");
|
|
10
11
|
const Password_1 = require("./Password");
|
|
11
12
|
var User;
|
|
12
13
|
(function (User) {
|
|
13
14
|
User.Access = Access_1.Access;
|
|
14
15
|
User.Identity = Identity_1.Identity;
|
|
15
16
|
User.JWT = JWT_1.JWT;
|
|
17
|
+
User.mfa = mfa_1.mfa;
|
|
16
18
|
User.Password = Password_1.Password;
|
|
17
19
|
function fromInvite(invite) {
|
|
18
20
|
const now = isoly_1.isoly.DateTime.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../User/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAE3B,gCAA4B;AAC5B,qCAA+C;AAC/C,yCAAqD;AACrD,+BAAsC;AACtC,yCAAqD;AASrD,IAAiB,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../User/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAE3B,gCAA4B;AAC5B,qCAA+C;AAC/C,yCAAqD;AACrD,+BAAsC;AACtC,+BAAsC;AACtC,yCAAqD;AASrD,IAAiB,IAAI,CA8BpB;AA9BD,WAAiB,IAAI;IACN,WAAM,GAAG,eAAU,CAAA;IACnB,aAAQ,GAAG,mBAAY,CAAA;IACvB,QAAG,GAAG,SAAO,CAAA;IACb,QAAG,GAAG,SAAO,CAAA;IACb,aAAQ,GAAG,mBAAY,CAAA;IACrC,SAAgB,UAAU,CAAC,MAAc;QACxC,MAAM,GAAG,GAAG,aAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAA;IAC9G,CAAC;IAHe,eAAU,aAGzB,CAAA;IACD,SAAgB,qBAAqB,CAAC,IAAU,EAAE,KAAY;QAC7D,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;IAC9G,CAAC;IAFe,0BAAqB,wBAEpC,CAAA;IAED,IAAiB,SAAS,CAGzB;IAHD,WAAiB,SAAS;QACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY,EAAE,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3F,iBAAO,GAAG,SAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAA,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IAClG,CAAC,EAHgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAGzB;IAMD,IAAiB,MAAM,CAMtB;IAND,WAAiB,MAAM;QAEtB,IAAiB,SAAS,CAGzB;QAHD,WAAiB,SAAS;YACZ,iBAAO,GAAG,SAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAA,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YACrE,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY,EAAE,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAA,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,CAAC,EAHgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAGzB;IACF,CAAC,EANgB,MAAM,GAAN,WAAM,KAAN,WAAM,QAMtB;AACF,CAAC,EA9BgB,IAAI,oBAAJ,IAAI,QA8BpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { zod } from "../zod";
|
|
2
|
+
export declare namespace mfa {
|
|
3
|
+
type Totp = zod.infer<typeof Totp.Otp>;
|
|
4
|
+
namespace Totp {
|
|
5
|
+
const typeZod: zod.ZodObject<{
|
|
6
|
+
key: zod.ZodString;
|
|
7
|
+
}, zod.z.core.$strip>;
|
|
8
|
+
const is: (value: any) => value is Totp;
|
|
9
|
+
type Otp = zod.infer<typeof Otp.typeZod>;
|
|
10
|
+
namespace Otp {
|
|
11
|
+
const typeZod: zod.ZodString;
|
|
12
|
+
const is: (value: any) => value is Otp;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mfa = void 0;
|
|
4
|
+
const zod_1 = require("../zod");
|
|
5
|
+
var mfa;
|
|
6
|
+
(function (mfa) {
|
|
7
|
+
let Totp;
|
|
8
|
+
(function (Totp) {
|
|
9
|
+
Totp.typeZod = zod_1.zod.object({
|
|
10
|
+
key: zod_1.zod.string().nonempty(),
|
|
11
|
+
});
|
|
12
|
+
Totp.is = (value) => Totp.typeZod.safeParse(value).success;
|
|
13
|
+
let Otp;
|
|
14
|
+
(function (Otp) {
|
|
15
|
+
Otp.typeZod = zod_1.zod.string().length(6).regex(/^\d+$/);
|
|
16
|
+
Otp.is = (value) => Otp.typeZod.safeParse(value).success;
|
|
17
|
+
})(Otp = Totp.Otp || (Totp.Otp = {}));
|
|
18
|
+
})(Totp = mfa.Totp || (mfa.Totp = {}));
|
|
19
|
+
})(mfa || (exports.mfa = mfa = {}));
|
|
20
|
+
//# sourceMappingURL=mfa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfa.js","sourceRoot":"","sources":["../../../User/mfa.ts"],"names":[],"mappings":";;;AAAA,gCAA4B;AAE5B,IAAiB,GAAG,CAcnB;AAdD,WAAiB,GAAG;IAEnB,IAAiB,IAAI,CAWpB;IAXD,WAAiB,IAAI;QACP,YAAO,GAAG,SAAG,CAAC,MAAM,CAAC;YACjC,GAAG,EAAE,SAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC,CAAA;QACW,OAAE,GAAG,CAAC,KAAU,EAAiB,EAAE,CAAC,KAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;QAGjF,IAAiB,GAAG,CAGnB;QAHD,WAAiB,GAAG;YACN,WAAO,GAAG,SAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC/C,MAAE,GAAG,CAAC,KAAU,EAAgB,EAAE,CAAC,IAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;QACjF,CAAC,EAHgB,GAAG,GAAH,QAAG,KAAH,QAAG,QAGnB;IACF,CAAC,EAXgB,IAAI,GAAJ,QAAI,KAAJ,QAAI,QAWpB;AACF,CAAC,EAdgB,GAAG,mBAAH,GAAG,QAcnB"}
|
package/dist/mjs/Client/Me.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export declare class Me {
|
|
|
6
6
|
private readonly client;
|
|
7
7
|
constructor(client: http.Client);
|
|
8
8
|
updatePassword(creatable: User.Password.Creatable): Promise<User | gracely.Error>;
|
|
9
|
-
login(email: string, password: string, realm: Realm): Promise<
|
|
9
|
+
login(email: string, password: string, realm: Realm, totp?: User.mfa.Totp.Otp): Promise<string | gracely.Error>;
|
|
10
|
+
setupMfa(totp: User.mfa.Totp, otp: User.mfa.Totp.Otp): Promise<User | gracely.Error>;
|
|
10
11
|
}
|
package/dist/mjs/Client/Me.js
CHANGED
|
@@ -7,10 +7,14 @@ export class Me {
|
|
|
7
7
|
async updatePassword(creatable) {
|
|
8
8
|
return await this.client.put(`/me/password`, creatable);
|
|
9
9
|
}
|
|
10
|
-
async login(email, password, realm) {
|
|
10
|
+
async login(email, password, realm, totp) {
|
|
11
11
|
return await this.client.get(`/me/${realm}`, {
|
|
12
12
|
authorization: `Basic ${authly.Base64.encode(email + ":" + password, "standard", "=")}`,
|
|
13
|
+
...(totp ? { totp } : undefined),
|
|
13
14
|
});
|
|
14
15
|
}
|
|
16
|
+
async setupMfa(totp, otp) {
|
|
17
|
+
return this.client.put(`/me/mfa/totp`, totp, { ...(otp ? { totp: otp } : undefined) });
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
20
|
//# sourceMappingURL=Me.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Me.js","sourceRoot":"","sources":["../../../Client/Me.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,MAAM,OAAO,EAAE;IACe;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,cAAc,CAAC,SAAkC;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"Me.js","sourceRoot":"","sources":["../../../Client/Me.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,MAAM,OAAO,EAAE;IACe;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,cAAc,CAAC,SAAkC;QACtD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,cAAc,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,KAAK,CACV,KAAa,EACb,QAAgB,EAChB,KAAY,EACZ,IAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,OAAO,KAAK,EAAE,EAAE;YACpD,aAAa,EAAE,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE;YACvF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAChC,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAmB,EAAE,GAAsB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,cAAc,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC7F,CAAC;CACD"}
|
|
@@ -14,7 +14,11 @@ export class Transactions {
|
|
|
14
14
|
return this.client.post(`/account/${account}/transaction`, transaction);
|
|
15
15
|
}
|
|
16
16
|
async list(options) {
|
|
17
|
-
const query = !options
|
|
17
|
+
const query = !options
|
|
18
|
+
? undefined
|
|
19
|
+
: typeof options == "string"
|
|
20
|
+
? options
|
|
21
|
+
: http.Search.stringify({ ...options, references: options.references?.join(",") });
|
|
18
22
|
return await this.client.get("/transaction" + (query ? "?" + query : ""));
|
|
19
23
|
}
|
|
20
24
|
async fetch(transaction, account) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Transactions/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAG5B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,YAAY;IAEK;IADpB,KAAK,CAAO;IACrB,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,WAAkC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,YAAY,OAAO,cAAc,EAAE,WAAW,CAAC,CAAA;IACrF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAqC;QAC/C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Transactions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,5 +23,8 @@ export class Users {
|
|
|
23
23
|
async updateAccess(email, access) {
|
|
24
24
|
return await this.client.put(`/user/${email}/access`, access);
|
|
25
25
|
}
|
|
26
|
+
async removeMfa(email) {
|
|
27
|
+
return this.client.delete(`/user/${email}/mfa/totp`);
|
|
28
|
+
}
|
|
26
29
|
}
|
|
27
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Users/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,KAAK;IAKY;IAJ7B,QAAQ,CAAU;IAClB,IAAI,OAAO;QACV,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,IAAoB;QAChC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAO,OAAO,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAmB;QACpD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,SAAS,EAAE,MAAM,CAAC,CAAA;IACpE,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Client/Users/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,KAAK;IAKY;IAJ7B,QAAQ,CAAU;IAClB,IAAI,OAAO;QACV,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,IAAoB;QAChC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAO,OAAO,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,OAAO,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,SAAS,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAmB;QACpD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,SAAS,KAAK,SAAS,EAAE,MAAM,CAAC,CAAA;IACpE,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,SAAS,KAAK,WAAW,CAAC,CAAA;IAC3D,CAAC;CACD"}
|
package/dist/mjs/User/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { zod } from "../zod";
|
|
|
4
4
|
import { Access as UserAccess } from "./Access";
|
|
5
5
|
import { Identity as UserIdentity } from "./Identity";
|
|
6
6
|
import { JWT as UserJWT } from "./JWT";
|
|
7
|
+
import { mfa as userMfa } from "./mfa";
|
|
7
8
|
import { Password as UserPassword } from "./Password";
|
|
8
9
|
export interface User {
|
|
9
10
|
email: string;
|
|
@@ -18,6 +19,7 @@ export declare namespace User {
|
|
|
18
19
|
export import Access = UserAccess;
|
|
19
20
|
export import Identity = UserIdentity;
|
|
20
21
|
export import JWT = UserJWT;
|
|
22
|
+
export import mfa = userMfa;
|
|
21
23
|
export import Password = UserPassword;
|
|
22
24
|
function fromInvite(invite: Invite): User;
|
|
23
25
|
function toJWTPayloadCreatable(user: User, realm: Realm): User.JWT.Payload.Creatable;
|
package/dist/mjs/User/index.js
CHANGED
|
@@ -4,12 +4,14 @@ import { zod } from "../zod";
|
|
|
4
4
|
import { Access as UserAccess } from "./Access";
|
|
5
5
|
import { Identity as UserIdentity } from "./Identity";
|
|
6
6
|
import { JWT as UserJWT } from "./JWT";
|
|
7
|
+
import { mfa as userMfa } from "./mfa";
|
|
7
8
|
import { Password as UserPassword } from "./Password";
|
|
8
9
|
export var User;
|
|
9
10
|
(function (User) {
|
|
10
11
|
User.Access = UserAccess;
|
|
11
12
|
User.Identity = UserIdentity;
|
|
12
13
|
User.JWT = UserJWT;
|
|
14
|
+
User.mfa = userMfa;
|
|
13
15
|
User.Password = UserPassword;
|
|
14
16
|
function fromInvite(invite) {
|
|
15
17
|
const now = isoly.DateTime.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../User/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AASrD,MAAM,KAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../User/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AASrD,MAAM,KAAW,IAAI,CA8BpB;AA9BD,WAAiB,IAAI;IACN,WAAM,GAAG,UAAU,CAAA;IACnB,aAAQ,GAAG,YAAY,CAAA;IACvB,QAAG,GAAG,OAAO,CAAA;IACb,QAAG,GAAG,OAAO,CAAA;IACb,aAAQ,GAAG,YAAY,CAAA;IACrC,SAAgB,UAAU,CAAC,MAAc;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAA;IAC9G,CAAC;IAHe,eAAU,aAGzB,CAAA;IACD,SAAgB,qBAAqB,CAAC,IAAU,EAAE,KAAY;QAC7D,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;IAC9G,CAAC;IAFe,0BAAqB,wBAEpC,CAAA;IAED,IAAiB,SAAS,CAGzB;IAHD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3F,iBAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAA,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IAClG,CAAC,EAHgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAGzB;IAMD,IAAiB,MAAM,CAMtB;IAND,WAAiB,MAAM;QAEtB,IAAiB,SAAS,CAGzB;QAHD,WAAiB,SAAS;YACZ,iBAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAA,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YACrE,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAA,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,CAAC,EAHgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAGzB;IACF,CAAC,EANgB,MAAM,GAAN,WAAM,KAAN,WAAM,QAMtB;AACF,CAAC,EA9BgB,IAAI,KAAJ,IAAI,QA8BpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { zod } from "../zod";
|
|
2
|
+
export declare namespace mfa {
|
|
3
|
+
type Totp = zod.infer<typeof Totp.Otp>;
|
|
4
|
+
namespace Totp {
|
|
5
|
+
const typeZod: zod.ZodObject<{
|
|
6
|
+
key: zod.ZodString;
|
|
7
|
+
}, zod.z.core.$strip>;
|
|
8
|
+
const is: (value: any) => value is Totp;
|
|
9
|
+
type Otp = zod.infer<typeof Otp.typeZod>;
|
|
10
|
+
namespace Otp {
|
|
11
|
+
const typeZod: zod.ZodString;
|
|
12
|
+
const is: (value: any) => value is Otp;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { zod } from "../zod";
|
|
2
|
+
export var mfa;
|
|
3
|
+
(function (mfa) {
|
|
4
|
+
let Totp;
|
|
5
|
+
(function (Totp) {
|
|
6
|
+
Totp.typeZod = zod.object({
|
|
7
|
+
key: zod.string().nonempty(),
|
|
8
|
+
});
|
|
9
|
+
Totp.is = (value) => Totp.typeZod.safeParse(value).success;
|
|
10
|
+
let Otp;
|
|
11
|
+
(function (Otp) {
|
|
12
|
+
Otp.typeZod = zod.string().length(6).regex(/^\d+$/);
|
|
13
|
+
Otp.is = (value) => Otp.typeZod.safeParse(value).success;
|
|
14
|
+
})(Otp = Totp.Otp || (Totp.Otp = {}));
|
|
15
|
+
})(Totp = mfa.Totp || (mfa.Totp = {}));
|
|
16
|
+
})(mfa || (mfa = {}));
|
|
17
|
+
//# sourceMappingURL=mfa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfa.js","sourceRoot":"","sources":["../../../User/mfa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAE5B,MAAM,KAAW,GAAG,CAcnB;AAdD,WAAiB,GAAG;IAEnB,IAAiB,IAAI,CAWpB;IAXD,WAAiB,IAAI;QACP,YAAO,GAAG,GAAG,CAAC,MAAM,CAAC;YACjC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC,CAAA;QACW,OAAE,GAAG,CAAC,KAAU,EAAiB,EAAE,CAAC,KAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;QAGjF,IAAiB,GAAG,CAGnB;QAHD,WAAiB,GAAG;YACN,WAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC/C,MAAE,GAAG,CAAC,KAAU,EAAgB,EAAE,CAAC,IAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;QACjF,CAAC,EAHgB,GAAG,GAAH,QAAG,KAAH,QAAG,QAGnB;IACF,CAAC,EAXgB,IAAI,GAAJ,QAAI,KAAJ,QAAI,QAWpB;AACF,CAAC,EAdgB,GAAG,KAAH,GAAG,QAcnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pax2pay/model-banking",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.607",
|
|
4
4
|
"description": "Library containing data model types and functions for the Pax2Pay Banking API.",
|
|
5
5
|
"author": "Pax2Pay Ltd",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"cloudly-http": "^0.1.7",
|
|
63
63
|
"cloudly-storage": "^0.10.16",
|
|
64
64
|
"cryptly": "^4.0.6",
|
|
65
|
-
"gracely": "^2.0.
|
|
65
|
+
"gracely": "^2.0.13",
|
|
66
66
|
"isly": "0.1.20",
|
|
67
67
|
"isly2": "npm:isly@1.3.0",
|
|
68
68
|
"isoly": "3.0.6",
|