auth-mn 1.1.0 → 1.2.0
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/dist/index.d.ts +19 -3
- package/dist/index.js +7 -3
- package/dist/types.d.ts +51 -0
- package/dist/user.d.ts +14 -1
- package/dist/user.js +16 -2
- package/dist/wallet.d.ts +47 -0
- package/dist/wallet.js +42 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,15 +9,17 @@
|
|
|
9
9
|
* Token-ийг lib өөрөө авч, хугацаа дуусахаас өмнө refresh хийнэ.
|
|
10
10
|
* Client-д олгосон permission-ээс гадуур API дуудвал 403 + message буцна.
|
|
11
11
|
*
|
|
12
|
-
* Хамрах хүрээ: хэрэглэгч (verify / find), мэдэгдэл (push / sms / mail),
|
|
12
|
+
* Хамрах хүрээ: хэрэглэгч (verify / find / bankAccounts), мэдэгдэл (push / sms / mail),
|
|
13
13
|
* socket (toast / status / orderStatus / emit), exp (хэрэглэгчид exp нэмэх —
|
|
14
|
-
* тусдаа EXP түлхүүр, setExpKey)
|
|
14
|
+
* тусдаа EXP түлхүүр, setExpKey), wallet (хэрэглэгчийн token-оор хэтэвч
|
|
15
|
+
* үүсгэх / үлдэгдэл / лог). Merchant/admin зэрэг дотоод бүртгэлүүд энэ санд байхгүй.
|
|
15
16
|
*/
|
|
16
17
|
import auth from "./auth";
|
|
17
18
|
import user from "./user";
|
|
18
19
|
import notification from "./notification";
|
|
19
20
|
import socket from "./socket";
|
|
20
21
|
import exp from "./exp";
|
|
22
|
+
import wallet from "./wallet";
|
|
21
23
|
export type Env = "prod" | "staging";
|
|
22
24
|
export type Config = {
|
|
23
25
|
/** Одоогийн client access token (сан автоматаар шинэчилнэ; гараар Authorization header үүсгэхэд ашиглаж болно) */
|
|
@@ -54,7 +56,7 @@ export declare const setLogger: (status: boolean) => void;
|
|
|
54
56
|
export declare const jsonToQueryString: (params: Record<string, any>) => string;
|
|
55
57
|
export declare const ObjectId: () => string;
|
|
56
58
|
import { authState } from "./auth";
|
|
57
|
-
export { auth, user, notification, socket, exp, authState };
|
|
59
|
+
export { auth, user, notification, socket, exp, wallet, authState };
|
|
58
60
|
export * from "./types";
|
|
59
61
|
declare const _default: {
|
|
60
62
|
auth: {
|
|
@@ -81,6 +83,9 @@ declare const _default: {
|
|
|
81
83
|
}) => Promise<import("./types").Result<import("./types").UserT>>;
|
|
82
84
|
list: typeof import("./user").list;
|
|
83
85
|
listAll: typeof import("./user").listAll;
|
|
86
|
+
bankAccounts: (query: {
|
|
87
|
+
user_id: number | string;
|
|
88
|
+
}) => Promise<import("./types").Result<import("./types").UserBankAccount[]>>;
|
|
84
89
|
middleware: (opts?: import("./user").MiddlewareOptions) => (req: {
|
|
85
90
|
[k: string]: any;
|
|
86
91
|
headers: Record<string, any>;
|
|
@@ -123,6 +128,17 @@ declare const _default: {
|
|
|
123
128
|
limit?: number;
|
|
124
129
|
}, key?: string) => Promise<import("./types").Result<import("./types").PageResult<import("./types").ExpLog>>>;
|
|
125
130
|
};
|
|
131
|
+
wallet: {
|
|
132
|
+
templates: (token: string) => Promise<import("./types").Result<import("./types").WalletTemplate[]>>;
|
|
133
|
+
create: (token: string, key_id: string) => Promise<import("./types").Result<import("./types").UserWalletItem>>;
|
|
134
|
+
balance: (token: string) => Promise<import("./types").Result<import("./types").WalletBalanceItem[]>>;
|
|
135
|
+
logs: (token: string, params?: {
|
|
136
|
+
wallet_id?: string;
|
|
137
|
+
tra_type?: string;
|
|
138
|
+
page?: number;
|
|
139
|
+
limit?: number;
|
|
140
|
+
}) => Promise<import("./types").Result<import("./types").PageResult<import("./types").WalletLogItem>>>;
|
|
141
|
+
};
|
|
126
142
|
setAuth: (auth: {
|
|
127
143
|
client_id: string;
|
|
128
144
|
client_secret: string;
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.authState = exports.exp = exports.socket = exports.notification = exports.user = exports.auth = exports.ObjectId = exports.jsonToQueryString = exports.setLogger = exports.setExpKey = exports.setAuth = exports.setHost = exports.config = void 0;
|
|
17
|
+
exports.authState = exports.wallet = exports.exp = exports.socket = exports.notification = exports.user = exports.auth = exports.ObjectId = exports.jsonToQueryString = exports.setLogger = exports.setExpKey = exports.setAuth = exports.setHost = exports.config = void 0;
|
|
18
18
|
/**
|
|
19
19
|
* auth-mn — Auth.mn API client (Node.js)
|
|
20
20
|
*
|
|
@@ -26,9 +26,10 @@ exports.authState = exports.exp = exports.socket = exports.notification = export
|
|
|
26
26
|
* Token-ийг lib өөрөө авч, хугацаа дуусахаас өмнө refresh хийнэ.
|
|
27
27
|
* Client-д олгосон permission-ээс гадуур API дуудвал 403 + message буцна.
|
|
28
28
|
*
|
|
29
|
-
* Хамрах хүрээ: хэрэглэгч (verify / find), мэдэгдэл (push / sms / mail),
|
|
29
|
+
* Хамрах хүрээ: хэрэглэгч (verify / find / bankAccounts), мэдэгдэл (push / sms / mail),
|
|
30
30
|
* socket (toast / status / orderStatus / emit), exp (хэрэглэгчид exp нэмэх —
|
|
31
|
-
* тусдаа EXP түлхүүр, setExpKey)
|
|
31
|
+
* тусдаа EXP түлхүүр, setExpKey), wallet (хэрэглэгчийн token-оор хэтэвч
|
|
32
|
+
* үүсгэх / үлдэгдэл / лог). Merchant/admin зэрэг дотоод бүртгэлүүд энэ санд байхгүй.
|
|
32
33
|
*/
|
|
33
34
|
const auth_1 = require("./auth");
|
|
34
35
|
exports.auth = auth_1.default;
|
|
@@ -40,6 +41,8 @@ const socket_1 = require("./socket");
|
|
|
40
41
|
exports.socket = socket_1.default;
|
|
41
42
|
const exp_1 = require("./exp");
|
|
42
43
|
exports.exp = exp_1.default;
|
|
44
|
+
const wallet_1 = require("./wallet");
|
|
45
|
+
exports.wallet = wallet_1.default;
|
|
43
46
|
const HOSTS = {
|
|
44
47
|
prod: { MAIN: "https://api.auth.mn", WALLET: "https://api.auth.mn" },
|
|
45
48
|
staging: { MAIN: "https://staging-api.auth.mn", WALLET: "https://staging-api.auth.mn" }
|
|
@@ -109,6 +112,7 @@ exports.default = {
|
|
|
109
112
|
notification: notification_1.default,
|
|
110
113
|
socket: socket_1.default,
|
|
111
114
|
exp: exp_1.default,
|
|
115
|
+
wallet: wallet_1.default,
|
|
112
116
|
setAuth: exports.setAuth,
|
|
113
117
|
setHost: exports.setHost,
|
|
114
118
|
setExpKey: exports.setExpKey,
|
package/dist/types.d.ts
CHANGED
|
@@ -250,3 +250,54 @@ export type EmitT = {
|
|
|
250
250
|
emit_name: string;
|
|
251
251
|
data: any;
|
|
252
252
|
};
|
|
253
|
+
/** GET /main/v1/wallet/balance — хэтэвч тус бүрийн үлдэгдэл */
|
|
254
|
+
export type WalletBalanceItem = {
|
|
255
|
+
key_id: string;
|
|
256
|
+
name: string;
|
|
257
|
+
wallet_id: string;
|
|
258
|
+
balance: number;
|
|
259
|
+
status: string;
|
|
260
|
+
wallet_type: string;
|
|
261
|
+
};
|
|
262
|
+
/** GET /main/v1/wallet/list — апп-уудын хэтэвчний загварууд */
|
|
263
|
+
export type WalletTemplate = {
|
|
264
|
+
key_id: string;
|
|
265
|
+
wallet_type: string;
|
|
266
|
+
wallet_name: string;
|
|
267
|
+
role: string[];
|
|
268
|
+
};
|
|
269
|
+
/** GET /main/v1/wallet/logs — гүйлгээний лог (wallet service-ээс sync хийгдсэн) */
|
|
270
|
+
export type WalletLogItem = {
|
|
271
|
+
_id?: string;
|
|
272
|
+
group_id?: string;
|
|
273
|
+
payment_id?: string;
|
|
274
|
+
description?: string;
|
|
275
|
+
/** P2P | M2P | M2M | P2M | T2M | T2P | P2T | M2T */
|
|
276
|
+
type?: string;
|
|
277
|
+
/** NORMAL | FEE | REFUND */
|
|
278
|
+
tra_type?: string;
|
|
279
|
+
source?: string;
|
|
280
|
+
receiver?: string;
|
|
281
|
+
wallet_id?: string;
|
|
282
|
+
amount?: number;
|
|
283
|
+
createdAt?: string | Date;
|
|
284
|
+
[k: string]: unknown;
|
|
285
|
+
};
|
|
286
|
+
export type UserBankAccount = {
|
|
287
|
+
_id: string;
|
|
288
|
+
/** Khan refNo (ж: "003" Хаан, "203" Голомт) */
|
|
289
|
+
bank_code: string;
|
|
290
|
+
bank_name: string;
|
|
291
|
+
/** Дансны дугаар (IBAN-гүй) */
|
|
292
|
+
account: string;
|
|
293
|
+
iban: string;
|
|
294
|
+
currency?: string;
|
|
295
|
+
/** Банкнаас ирсэн дансны эзний нэр */
|
|
296
|
+
holder_name: string;
|
|
297
|
+
/** ДАН-ы нэртэй таарц, 0–100 */
|
|
298
|
+
match: number;
|
|
299
|
+
primary: boolean;
|
|
300
|
+
label?: string;
|
|
301
|
+
verified_at?: string | Date | null;
|
|
302
|
+
createdAt?: string | Date;
|
|
303
|
+
};
|
package/dist/user.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PageResult, Result, UserListFilter, UserLite, UserT, VerifiedUser } from "./types";
|
|
1
|
+
import { PageResult, Result, UserBankAccount, UserListFilter, UserLite, UserT, VerifiedUser } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Хэрэглэгчийн token-ийг Auth.mn сервер дээр баталгаажуулж, хэрэглэгчийн
|
|
4
4
|
* мэдээллийг авна. Frontend (auth-mn-react redirect / QR / OTP) -ээс ирсэн
|
|
@@ -35,6 +35,16 @@ export declare function listAll(filter: UserListFilter & {
|
|
|
35
35
|
fields: "lite";
|
|
36
36
|
}, max?: number): Promise<Result<UserLite[]>>;
|
|
37
37
|
export declare function listAll(filter?: UserListFilter, max?: number): Promise<Result<UserT[]>>;
|
|
38
|
+
/**
|
|
39
|
+
* Хэрэглэгчийн ДАН-аар баталгаажуулж холбосон банкны дансууд (primary эхэндээ).
|
|
40
|
+
* Мөнгө буцаан олголт, таталтын хүсэлтэд ашиглана. Permission: user.bank.read
|
|
41
|
+
*
|
|
42
|
+
* const r = await authMn.user.bankAccounts({ user_id: 8636569 });
|
|
43
|
+
* r.data → [{ bank_code, bank_name, account, iban, holder_name, primary, ... }]
|
|
44
|
+
*/
|
|
45
|
+
export declare const bankAccounts: (query: {
|
|
46
|
+
user_id: number | string;
|
|
47
|
+
}) => Promise<Result<UserBankAccount[]>>;
|
|
38
48
|
type AnyReq = {
|
|
39
49
|
headers: Record<string, any>;
|
|
40
50
|
query?: any;
|
|
@@ -73,6 +83,9 @@ declare const _default: {
|
|
|
73
83
|
}) => Promise<Result<UserT>>;
|
|
74
84
|
list: typeof list;
|
|
75
85
|
listAll: typeof listAll;
|
|
86
|
+
bankAccounts: (query: {
|
|
87
|
+
user_id: number | string;
|
|
88
|
+
}) => Promise<Result<UserBankAccount[]>>;
|
|
76
89
|
middleware: (opts?: MiddlewareOptions) => (req: AnyReq, res: AnyRes, next: Next) => Promise<any>;
|
|
77
90
|
};
|
|
78
91
|
export default _default;
|
package/dist/user.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.middleware = exports.find = exports.verify = void 0;
|
|
3
|
+
exports.middleware = exports.bankAccounts = exports.find = exports.verify = void 0;
|
|
4
4
|
exports.list = list;
|
|
5
5
|
exports.listAll = listAll;
|
|
6
6
|
const request_1 = require("./request");
|
|
@@ -49,6 +49,20 @@ async function listAll(filter = {}, max = 50000) {
|
|
|
49
49
|
}
|
|
50
50
|
return { success: true, message: "Амжилттай", data: all, status: 200 };
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Хэрэглэгчийн ДАН-аар баталгаажуулж холбосон банкны дансууд (primary эхэндээ).
|
|
54
|
+
* Мөнгө буцаан олголт, таталтын хүсэлтэд ашиглана. Permission: user.bank.read
|
|
55
|
+
*
|
|
56
|
+
* const r = await authMn.user.bankAccounts({ user_id: 8636569 });
|
|
57
|
+
* r.data → [{ bank_code, bank_name, account, iban, holder_name, primary, ... }]
|
|
58
|
+
*/
|
|
59
|
+
const bankAccounts = (query) => (0, request_1.request)({
|
|
60
|
+
method: "POST",
|
|
61
|
+
path: "/main/v1/auth/client/user/bank-accounts",
|
|
62
|
+
name: "user bank accounts",
|
|
63
|
+
data: query
|
|
64
|
+
});
|
|
65
|
+
exports.bankAccounts = bankAccounts;
|
|
52
66
|
const defaultGetToken = (req) => {
|
|
53
67
|
var _a, _b, _c, _d;
|
|
54
68
|
const h = String(((_a = req.headers) === null || _a === void 0 ? void 0 : _a.authorization) || ((_b = req.headers) === null || _b === void 0 ? void 0 : _b.Authorization) || "");
|
|
@@ -90,4 +104,4 @@ const middleware = (opts = {}) => async (req, res, next) => {
|
|
|
90
104
|
return next();
|
|
91
105
|
};
|
|
92
106
|
exports.middleware = middleware;
|
|
93
|
-
exports.default = { verify: exports.verify, find: exports.find, list, listAll, middleware: exports.middleware };
|
|
107
|
+
exports.default = { verify: exports.verify, find: exports.find, list, listAll, bankAccounts: exports.bankAccounts, middleware: exports.middleware };
|
package/dist/wallet.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PageResult, Result, UserWalletItem, WalletBalanceItem, WalletLogItem, WalletTemplate } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Wallet — хэрэглэгчийн хэтэвч (Auth.mn main API, /main/v1/wallet/*).
|
|
4
|
+
*
|
|
5
|
+
* Эдгээр нь бүгд ХЭРЭГЛЭГЧИЙН token-оор дуудагддаг: frontend-ээс ирсэн
|
|
6
|
+
* Bearer token-ийг эхний аргумент болгон өгнө. Client permission шаардахгүй.
|
|
7
|
+
*
|
|
8
|
+
* // Хэтэвч үүсгэх (апп-ын key_id-ээр, ж: "SELLER-APP")
|
|
9
|
+
* const w = await authMn.wallet.create(userToken, "SELLER-APP");
|
|
10
|
+
* // Үлдэгдэл (хэрэглэгчийн бүх хэтэвч)
|
|
11
|
+
* const b = await authMn.wallet.balance(userToken);
|
|
12
|
+
* // Гүйлгээний лог
|
|
13
|
+
* const l = await authMn.wallet.logs(userToken, { wallet_id: w.data?.wallet_id });
|
|
14
|
+
*
|
|
15
|
+
* Хэрэглэгчийн wallet_id/wallet_key-г сервер талаас token-гүй авах бол
|
|
16
|
+
* authMn.user.find({ user_id }) → data.wallets (permission: user.read).
|
|
17
|
+
*/
|
|
18
|
+
/** Үүсгэж болох хэтэвчний загварууд */
|
|
19
|
+
export declare const templates: (token: string) => Promise<Result<WalletTemplate[]>>;
|
|
20
|
+
/**
|
|
21
|
+
* Хэтэвч үүсгэх. Хэрэглэгч тухайн key_id-ийн хэтэвчтэй бол байгааг нь буцаана.
|
|
22
|
+
* key_id нь Auth.mn дээр бүртгэлтэй байх ёстой (ERR_WALLET_KEY).
|
|
23
|
+
*/
|
|
24
|
+
export declare const create: (token: string, key_id: string) => Promise<Result<UserWalletItem>>;
|
|
25
|
+
/** Хэрэглэгчийн бүх хэтэвчний үлдэгдэл */
|
|
26
|
+
export declare const balance: (token: string) => Promise<Result<WalletBalanceItem[]>>;
|
|
27
|
+
/** Гүйлгээний лог (wallet_id өгөхгүй бол бүх хэтэвч) */
|
|
28
|
+
export declare const logs: (token: string, params?: {
|
|
29
|
+
wallet_id?: string;
|
|
30
|
+
/** NORMAL | FEE | REFUND */
|
|
31
|
+
tra_type?: string;
|
|
32
|
+
page?: number;
|
|
33
|
+
limit?: number;
|
|
34
|
+
}) => Promise<Result<PageResult<WalletLogItem>>>;
|
|
35
|
+
declare const _default: {
|
|
36
|
+
templates: (token: string) => Promise<Result<WalletTemplate[]>>;
|
|
37
|
+
create: (token: string, key_id: string) => Promise<Result<UserWalletItem>>;
|
|
38
|
+
balance: (token: string) => Promise<Result<WalletBalanceItem[]>>;
|
|
39
|
+
logs: (token: string, params?: {
|
|
40
|
+
wallet_id?: string;
|
|
41
|
+
/** NORMAL | FEE | REFUND */
|
|
42
|
+
tra_type?: string;
|
|
43
|
+
page?: number;
|
|
44
|
+
limit?: number;
|
|
45
|
+
}) => Promise<Result<PageResult<WalletLogItem>>>;
|
|
46
|
+
};
|
|
47
|
+
export default _default;
|
package/dist/wallet.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logs = exports.balance = exports.create = exports.templates = void 0;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
/**
|
|
6
|
+
* Wallet — хэрэглэгчийн хэтэвч (Auth.mn main API, /main/v1/wallet/*).
|
|
7
|
+
*
|
|
8
|
+
* Эдгээр нь бүгд ХЭРЭГЛЭГЧИЙН token-оор дуудагддаг: frontend-ээс ирсэн
|
|
9
|
+
* Bearer token-ийг эхний аргумент болгон өгнө. Client permission шаардахгүй.
|
|
10
|
+
*
|
|
11
|
+
* // Хэтэвч үүсгэх (апп-ын key_id-ээр, ж: "SELLER-APP")
|
|
12
|
+
* const w = await authMn.wallet.create(userToken, "SELLER-APP");
|
|
13
|
+
* // Үлдэгдэл (хэрэглэгчийн бүх хэтэвч)
|
|
14
|
+
* const b = await authMn.wallet.balance(userToken);
|
|
15
|
+
* // Гүйлгээний лог
|
|
16
|
+
* const l = await authMn.wallet.logs(userToken, { wallet_id: w.data?.wallet_id });
|
|
17
|
+
*
|
|
18
|
+
* Хэрэглэгчийн wallet_id/wallet_key-г сервер талаас token-гүй авах бол
|
|
19
|
+
* authMn.user.find({ user_id }) → data.wallets (permission: user.read).
|
|
20
|
+
*/
|
|
21
|
+
/** Үүсгэж болох хэтэвчний загварууд */
|
|
22
|
+
const templates = (token) => (0, request_1.rawRequest)({ method: "GET", path: "/main/v1/wallet/list", name: "wallet templates", auth: false }, token);
|
|
23
|
+
exports.templates = templates;
|
|
24
|
+
/**
|
|
25
|
+
* Хэтэвч үүсгэх. Хэрэглэгч тухайн key_id-ийн хэтэвчтэй бол байгааг нь буцаана.
|
|
26
|
+
* key_id нь Auth.mn дээр бүртгэлтэй байх ёстой (ERR_WALLET_KEY).
|
|
27
|
+
*/
|
|
28
|
+
const create = (token, key_id) => (0, request_1.rawRequest)({
|
|
29
|
+
method: "POST",
|
|
30
|
+
path: "/main/v1/wallet/create",
|
|
31
|
+
name: "wallet create",
|
|
32
|
+
data: { key_id },
|
|
33
|
+
auth: false
|
|
34
|
+
}, token);
|
|
35
|
+
exports.create = create;
|
|
36
|
+
/** Хэрэглэгчийн бүх хэтэвчний үлдэгдэл */
|
|
37
|
+
const balance = (token) => (0, request_1.rawRequest)({ method: "GET", path: "/main/v1/wallet/balance", name: "wallet balance", auth: false }, token);
|
|
38
|
+
exports.balance = balance;
|
|
39
|
+
/** Гүйлгээний лог (wallet_id өгөхгүй бол бүх хэтэвч) */
|
|
40
|
+
const logs = (token, params = {}) => (0, request_1.rawRequest)({ method: "GET", path: "/main/v1/wallet/logs", name: "wallet logs", params, auth: false }, token);
|
|
41
|
+
exports.logs = logs;
|
|
42
|
+
exports.default = { templates: exports.templates, create: exports.create, balance: exports.balance, logs: exports.logs };
|