abler-api 0.1.43 → 0.1.45

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.
Files changed (2) hide show
  1. package/dist/cjs/pp-util.js +55 -21
  2. package/package.json +1 -1
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var require$$0 = require('crypto');
4
- var require$$1 = require('abler-util');
5
- var require$$2 = require('abler-db');
6
- var require$$3 = require('abler-net');
7
- var require$$4 = require('fs');
4
+ var require$$1 = require('basic-auth');
5
+ var require$$2 = require('abler-util');
6
+ var require$$3 = require('abler-db');
7
+ var require$$4 = require('abler-net');
8
+ var require$$5 = require('fs');
8
9
  var require$$1$1 = require('path');
9
10
  var require$$1$2 = require('abler-messenger');
10
11
  var require$$0$1 = require('node-cron');
@@ -16,20 +17,22 @@ var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
16
17
  var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
17
18
  var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
18
19
  var require$$4__default = /*#__PURE__*/_interopDefaultLegacy(require$$4);
20
+ var require$$5__default = /*#__PURE__*/_interopDefaultLegacy(require$$5);
19
21
  var require$$1__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
20
22
  var require$$1__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$1$2);
21
23
  var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
22
24
 
23
25
  const crypto = require$$0__default["default"];
24
- const ppUtil$4 = require$$1__default["default"].ppUtil;
26
+ const getBasicAuthorization = require$$1__default["default"];
27
+ const ppUtil$4 = require$$2__default["default"].ppUtil;
25
28
  const {
26
29
  dbUtil,
27
30
  kvStorage
28
- } = require$$2__default["default"];
31
+ } = require$$3__default["default"];
29
32
  const {
30
33
  netUtil: netUtil$1
31
- } = require$$3__default["default"];
32
- const fs$1 = require$$4__default["default"];
34
+ } = require$$4__default["default"];
35
+ const fs$1 = require$$5__default["default"];
33
36
  let conf$3, appSetting$1, err$2, dbSql;
34
37
  const pnToken = "access_token",
35
38
  hnToken = pnToken,
@@ -45,7 +48,10 @@ class apiUtil$2 {
45
48
  static debugFlag = ppUtil$4.newGuid(); //应用必须设置,否则谁也不知道是啥
46
49
 
47
50
  static testFlag = ppUtil$4.newGuid();
48
- static envId_dev = "?"; // static apiCallRecSaver;
51
+ static envId_dev = "?";
52
+ static _validateBasicAuth = function (userName, password) {
53
+ throw new Error('未设置基本验证函数');
54
+ }; // static apiCallRecSaver;
49
55
 
50
56
  static config(appConfig, appErrCfg, appDbSql) {
51
57
  ppUtil$4.config(appConfig, appErrCfg);
@@ -1399,6 +1405,34 @@ class apiUtil$2 {
1399
1405
  return false;
1400
1406
  });
1401
1407
  }
1408
+ }
1409
+ /**
1410
+ * 基本验证,应用系统应该预先设置验证函数 _validateBasicAuth(userName, password)
1411
+ * @param req
1412
+ * @param res
1413
+ * @param next
1414
+ * @returns {Promise<*>}
1415
+ */
1416
+
1417
+
1418
+ static async $basicAuth(req, res, next) {
1419
+ try {
1420
+ const authorization = getBasicAuthorization(req);
1421
+
1422
+ if (!authorization) {
1423
+ res.set('WWW-Authenticate', 'Basic realm=need username and password');
1424
+ return res.sendStatus(401);
1425
+ }
1426
+
1427
+ if (!apiUtil$2._validateBasicAuth(authorization.name, authorization.pass)) {
1428
+ res.set('WWW-Authenticate', 'Basic realm=invalid username or password');
1429
+ return res.sendStatus(401);
1430
+ }
1431
+ } catch (e) {
1432
+ return res.send(errCfg.ERROR(e));
1433
+ }
1434
+
1435
+ return next();
1402
1436
  } //#endregion
1403
1437
  //region ====一些通用服务功能
1404
1438
 
@@ -1483,10 +1517,10 @@ function configNeeded() {
1483
1517
 
1484
1518
  var ppUtilApi = apiUtil$2;
1485
1519
 
1486
- const fs = require$$4__default["default"];
1520
+ const fs = require$$5__default["default"];
1487
1521
  const path = require$$1__default$1["default"];
1488
- const ppUtil$3 = require$$1__default["default"].ppUtil;
1489
- const ppRedis = require$$2__default["default"].ppRedis;
1522
+ const ppUtil$3 = require$$2__default["default"].ppUtil;
1523
+ const ppRedis = require$$3__default["default"].ppRedis;
1490
1524
  let conf$2, err$1; // const dbCheck = require('../dbupdate/dd-version');
1491
1525
 
1492
1526
  /**
@@ -1663,11 +1697,11 @@ var ppPrecond = preconditions$1;
1663
1697
 
1664
1698
  const {
1665
1699
  ppUtil: ppUtil$2
1666
- } = require$$1__default["default"];
1700
+ } = require$$2__default["default"];
1667
1701
  const RedisMessenger = require$$1__default$2["default"];
1668
1702
  const {
1669
1703
  netUtil
1670
- } = require$$3__default["default"];
1704
+ } = require$$4__default["default"];
1671
1705
  let conf$1;
1672
1706
 
1673
1707
  class commonMessenger$2 {
@@ -1766,7 +1800,7 @@ var ppMessengerEx = commonMessenger$2;
1766
1800
  const CRON = require$$0__default$1["default"];
1767
1801
  const {
1768
1802
  ppUtil: ppUtil$1
1769
- } = require$$1__default["default"];
1803
+ } = require$$2__default["default"];
1770
1804
  const apiUtil$1 = ppUtilApi;
1771
1805
  const commonMessenger$1 = ppMessengerEx;
1772
1806
  const MT_SCHEDULE_STATE = 'schedule-state',
@@ -1786,12 +1820,6 @@ class schedule$1 {
1786
1820
  */
1787
1821
 
1788
1822
  static async registerTask(taskName, taskCaption, cronExp, taskFunc, autoStart) {
1789
- if (!conf) {
1790
- ppUtil$1.configNeeded();
1791
- conf = ppUtil$1.appConfig;
1792
- err = ppUtil$1.appErrCfg;
1793
- }
1794
-
1795
1823
  if (!this.envAllowed()) return {};
1796
1824
  let task = this.findTask(taskName);
1797
1825
 
@@ -2020,6 +2048,12 @@ class schedule$1 {
2020
2048
 
2021
2049
 
2022
2050
  static envAllowed() {
2051
+ if (!conf) {
2052
+ ppUtil$1.configNeeded();
2053
+ conf = ppUtil$1.appConfig;
2054
+ err = ppUtil$1.appErrCfg;
2055
+ }
2056
+
2023
2057
  let enabled = // PM2配置中指定了环境变量 SCHEDULE_ENABLED
2024
2058
  !!process.env.SCHEDULE_ENABLED // 如果PM2启动了多个进程,则只在第一个进程执行
2025
2059
  && process.env.NODE_APP_INSTANCE === '0'; // 如果有多台服务器,则只在第一台执行
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abler-api",
3
- "version": "0.1.43",
3
+ "version": "0.1.45",
4
4
  "description": "API服务相关工具",
5
5
  "main": "./dist/cjs/pp-util.js",
6
6
  "-module": "./dist/es/pp-util.js",