@nocobase/plugin-verification 0.9.1-alpha.2 → 0.9.2-alpha.1

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.
@@ -4,97 +4,68 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  function _path() {
9
8
  const data = _interopRequireDefault(require("path"));
10
-
11
9
  _path = function _path() {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  function _database() {
19
15
  const data = require("@nocobase/database");
20
-
21
16
  _database = function _database() {
22
17
  return data;
23
18
  };
24
-
25
19
  return data;
26
20
  }
27
-
28
21
  function _server() {
29
22
  const data = require("@nocobase/server");
30
-
31
23
  _server = function _server() {
32
24
  return data;
33
25
  };
34
-
35
26
  return data;
36
27
  }
37
-
38
28
  function _utils() {
39
29
  const data = require("@nocobase/utils");
40
-
41
30
  _utils = function _utils() {
42
31
  return data;
43
32
  };
44
-
45
33
  return data;
46
34
  }
47
-
48
35
  var _ = require(".");
49
-
50
36
  var _actions = _interopRequireDefault(require("./actions"));
51
-
52
37
  var _constants = require("./constants");
53
-
54
38
  var _locale = require("./locale");
55
-
56
39
  var _providers = _interopRequireDefault(require("./providers"));
57
-
58
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
-
60
41
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
61
-
62
42
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
63
-
64
43
  class VerificationPlugin extends _server().Plugin {
65
44
  constructor(...args) {
66
45
  var _this;
67
-
68
46
  super(...args);
69
47
  _this = this;
70
48
  this.providers = new (_utils().Registry)();
71
49
  this.interceptors = new (_utils().Registry)();
72
-
73
50
  this.intercept = /*#__PURE__*/function () {
74
51
  var _ref = _asyncToGenerator(function* (context, next) {
75
52
  const _context$action$param = context.action.params,
76
- resourceName = _context$action$param.resourceName,
77
- actionName = _context$action$param.actionName,
78
- values = _context$action$param.values;
53
+ resourceName = _context$action$param.resourceName,
54
+ actionName = _context$action$param.actionName,
55
+ values = _context$action$param.values;
79
56
  const key = `${resourceName}:${actionName}`;
80
-
81
57
  const interceptor = _this.interceptors.get(key);
82
-
83
58
  if (!interceptor) {
84
59
  return context.throw(400);
85
60
  }
86
-
87
61
  const receiver = interceptor.getReceiver(context);
88
62
  const content = interceptor.getCode ? interceptor.getCode(context) : values.code;
89
-
90
63
  if (!receiver || !content) {
91
64
  return context.throw(400);
92
- } // check if code match, then call next
65
+ }
66
+ // check if code match, then call next
93
67
  // find the code based on action params
94
-
95
-
96
68
  const VerificationRepo = _this.db.getRepository('verifications');
97
-
98
69
  const item = yield VerificationRepo.findOne({
99
70
  filter: {
100
71
  receiver,
@@ -106,7 +77,6 @@ class VerificationPlugin extends _server().Plugin {
106
77
  status: _constants.CODE_STATUS_UNUSED
107
78
  }
108
79
  });
109
-
110
80
  if (!item) {
111
81
  return context.throw(400, {
112
82
  code: 'InvalidVerificationCode',
@@ -114,42 +84,36 @@ class VerificationPlugin extends _server().Plugin {
114
84
  ns: _.namespace
115
85
  })
116
86
  });
117
- } // TODO: code should be removed if exists in values
87
+ }
88
+ // TODO: code should be removed if exists in values
118
89
  // context.action.mergeParams({
119
90
  // values: {
120
91
  // }
121
92
  // });
122
-
123
-
124
- yield next(); // or delete
125
-
93
+ yield next();
94
+ // or delete
126
95
  yield item.update({
127
96
  status: _constants.CODE_STATUS_USED
128
97
  });
129
98
  });
130
-
131
99
  return function (_x, _x2) {
132
100
  return _ref.apply(this, arguments);
133
101
  };
134
102
  }();
135
103
  }
136
-
137
104
  install() {
138
105
  var _this2 = this;
139
-
140
106
  return _asyncToGenerator(function* () {
141
107
  const _process$env = process.env,
142
- DEFAULT_SMS_VERIFY_CODE_PROVIDER = _process$env.DEFAULT_SMS_VERIFY_CODE_PROVIDER,
143
- INIT_ALI_SMS_ACCESS_KEY = _process$env.INIT_ALI_SMS_ACCESS_KEY,
144
- INIT_ALI_SMS_ACCESS_KEY_SECRET = _process$env.INIT_ALI_SMS_ACCESS_KEY_SECRET,
145
- _process$env$INIT_ALI = _process$env.INIT_ALI_SMS_ENDPOINT,
146
- INIT_ALI_SMS_ENDPOINT = _process$env$INIT_ALI === void 0 ? 'dysmsapi.aliyuncs.com' : _process$env$INIT_ALI,
147
- INIT_ALI_SMS_VERIFY_CODE_TEMPLATE = _process$env.INIT_ALI_SMS_VERIFY_CODE_TEMPLATE,
148
- INIT_ALI_SMS_VERIFY_CODE_SIGN = _process$env.INIT_ALI_SMS_VERIFY_CODE_SIGN;
149
-
108
+ DEFAULT_SMS_VERIFY_CODE_PROVIDER = _process$env.DEFAULT_SMS_VERIFY_CODE_PROVIDER,
109
+ INIT_ALI_SMS_ACCESS_KEY = _process$env.INIT_ALI_SMS_ACCESS_KEY,
110
+ INIT_ALI_SMS_ACCESS_KEY_SECRET = _process$env.INIT_ALI_SMS_ACCESS_KEY_SECRET,
111
+ _process$env$INIT_ALI = _process$env.INIT_ALI_SMS_ENDPOINT,
112
+ INIT_ALI_SMS_ENDPOINT = _process$env$INIT_ALI === void 0 ? 'dysmsapi.aliyuncs.com' : _process$env$INIT_ALI,
113
+ INIT_ALI_SMS_VERIFY_CODE_TEMPLATE = _process$env.INIT_ALI_SMS_VERIFY_CODE_TEMPLATE,
114
+ INIT_ALI_SMS_VERIFY_CODE_SIGN = _process$env.INIT_ALI_SMS_VERIFY_CODE_SIGN;
150
115
  if (DEFAULT_SMS_VERIFY_CODE_PROVIDER && INIT_ALI_SMS_ACCESS_KEY && INIT_ALI_SMS_ACCESS_KEY_SECRET && INIT_ALI_SMS_VERIFY_CODE_TEMPLATE && INIT_ALI_SMS_VERIFY_CODE_SIGN) {
151
116
  const ProviderRepo = _this2.db.getRepository('verifications_providers');
152
-
153
117
  yield ProviderRepo.create({
154
118
  values: {
155
119
  id: DEFAULT_SMS_VERIFY_CODE_PROVIDER,
@@ -168,55 +132,45 @@ class VerificationPlugin extends _server().Plugin {
168
132
  }
169
133
  })();
170
134
  }
171
-
172
135
  load() {
173
136
  var _this3 = this;
174
-
175
137
  return _asyncToGenerator(function* () {
176
138
  const app = _this3.app,
177
- db = _this3.db,
178
- options = _this3.options;
139
+ db = _this3.db,
140
+ options = _this3.options;
179
141
  app.i18n.addResources('zh-CN', _.namespace, _locale.zhCN);
180
142
  yield _this3.importCollections(_path().default.resolve(__dirname, 'collections'));
181
143
  (0, _providers.default)(_this3);
182
- (0, _actions.default)(_this3); // add middleware to action
183
-
144
+ (0, _actions.default)(_this3);
145
+ // add middleware to action
184
146
  app.resourcer.use( /*#__PURE__*/function () {
185
147
  var _ref2 = _asyncToGenerator(function* (context, next) {
186
148
  const _context$action$param2 = context.action.params,
187
- resourceName = _context$action$param2.resourceName,
188
- actionName = _context$action$param2.actionName,
189
- values = _context$action$param2.values;
149
+ resourceName = _context$action$param2.resourceName,
150
+ actionName = _context$action$param2.actionName,
151
+ values = _context$action$param2.values;
190
152
  const key = `${resourceName}:${actionName}`;
191
-
192
153
  const interceptor = _this3.interceptors.get(key);
193
-
194
154
  if (!interceptor || interceptor.manual) {
195
155
  return next();
196
156
  }
197
-
198
157
  return _this3.intercept(context, next);
199
158
  });
200
-
201
159
  return function (_x3, _x4) {
202
160
  return _ref2.apply(this, arguments);
203
161
  };
204
162
  }());
205
163
  app.acl.allow('verifications', 'create', 'public');
206
-
207
164
  _this3.app.acl.registerSnippet({
208
165
  name: `pm.${_this3.name}.providers`,
209
166
  actions: ['verifications_providers:*']
210
167
  });
211
168
  })();
212
169
  }
213
-
214
170
  getDefault() {
215
171
  var _this4 = this;
216
-
217
172
  return _asyncToGenerator(function* () {
218
173
  const providerRepo = _this4.db.getRepository('verifications_providers');
219
-
220
174
  return providerRepo.findOne({
221
175
  filter: {
222
176
  default: true
@@ -224,7 +178,5 @@ class VerificationPlugin extends _server().Plugin {
224
178
  });
225
179
  })();
226
180
  }
227
-
228
181
  }
229
-
230
182
  exports.default = VerificationPlugin;
@@ -4,25 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _default;
7
-
8
7
  var verifications = _interopRequireWildcard(require("./verifications"));
9
-
10
8
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
-
12
9
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
-
14
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
-
16
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
-
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
15
  function make(name, mod) {
21
16
  return Object.keys(mod).reduce((result, key) => _objectSpread(_objectSpread({}, result), {}, {
22
17
  [`${name}:${key}`]: mod[key]
23
18
  }), {});
24
19
  }
25
-
26
20
  function _default({
27
21
  app
28
22
  }) {
@@ -4,94 +4,65 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.create = create;
7
-
8
7
  function _crypto() {
9
8
  const data = require("crypto");
10
-
11
9
  _crypto = function _crypto() {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  function _util() {
19
15
  const data = require("util");
20
-
21
16
  _util = function _util() {
22
17
  return data;
23
18
  };
24
-
25
19
  return data;
26
20
  }
27
-
28
21
  function _actions() {
29
22
  const data = _interopRequireDefault(require("@nocobase/actions"));
30
-
31
23
  _actions = function _actions() {
32
24
  return data;
33
25
  };
34
-
35
26
  return data;
36
27
  }
37
-
38
28
  function _database() {
39
29
  const data = require("@nocobase/database");
40
-
41
30
  _database = function _database() {
42
31
  return data;
43
32
  };
44
-
45
33
  return data;
46
34
  }
47
-
48
35
  function _moment() {
49
36
  const data = _interopRequireDefault(require("moment"));
50
-
51
37
  _moment = function _moment() {
52
38
  return data;
53
39
  };
54
-
55
40
  return data;
56
41
  }
57
-
58
42
  var _ = require("..");
59
-
60
43
  var _constants = require("../constants");
61
-
62
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
63
-
64
45
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
65
-
66
46
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
67
-
68
47
  const asyncRandomInt = (0, _util().promisify)(_crypto().randomInt);
69
-
70
48
  function create(_x, _x2) {
71
49
  return _create.apply(this, arguments);
72
50
  }
73
-
74
51
  function _create() {
75
52
  _create = _asyncToGenerator(function* (context, next) {
76
53
  var _interceptor$expiresI;
77
-
78
54
  const plugin = context.app.getPlugin('verification');
79
55
  const values = context.action.params.values;
80
56
  const interceptor = plugin.interceptors.get(values === null || values === void 0 ? void 0 : values.type);
81
-
82
57
  if (!interceptor) {
83
58
  return context.throw(400, 'Invalid action type');
84
59
  }
85
-
86
60
  const providerItem = yield plugin.getDefault();
87
-
88
61
  if (!providerItem) {
89
62
  console.error(`[verification] no provider for action (${values.type}) provided`);
90
63
  return context.throw(500);
91
64
  }
92
-
93
65
  const receiver = interceptor.getReceiver(context);
94
-
95
66
  if (!receiver) {
96
67
  return context.throw(400, {
97
68
  code: 'InvalidReceiver',
@@ -100,7 +71,6 @@ function _create() {
100
71
  })
101
72
  });
102
73
  }
103
-
104
74
  const VerificationModel = context.db.getModel('verifications');
105
75
  const record = yield VerificationModel.findOne({
106
76
  where: {
@@ -112,10 +82,9 @@ function _create() {
112
82
  }
113
83
  }
114
84
  });
115
-
116
85
  if (record) {
117
- const seconds = (0, _moment().default)(record.get('expiresAt')).diff((0, _moment().default)(), 'seconds'); // return context.throw(429, { code: 'RateLimit', message: context.t('Please don\'t retry in {{time}}', { time: moment().locale('zh').to(record.get('expiresAt')) }) });
118
-
86
+ const seconds = (0, _moment().default)(record.get('expiresAt')).diff((0, _moment().default)(), 'seconds');
87
+ // return context.throw(429, { code: 'RateLimit', message: context.t('Please don\'t retry in {{time}}', { time: moment().locale('zh').to(record.get('expiresAt')) }) });
119
88
  return context.throw(429, {
120
89
  code: 'RateLimit',
121
90
  message: context.t('Please don\'t retry in {{time}} seconds', {
@@ -124,9 +93,7 @@ function _create() {
124
93
  })
125
94
  });
126
95
  }
127
-
128
96
  const code = (yield asyncRandomInt(999999)).toString(10).padStart(6, '0');
129
-
130
97
  if (interceptor.validate) {
131
98
  try {
132
99
  yield interceptor.validate(context, receiver);
@@ -137,10 +104,8 @@ function _create() {
137
104
  });
138
105
  }
139
106
  }
140
-
141
107
  const ProviderType = plugin.providers.get(providerItem.get('type'));
142
108
  const provider = new ProviderType(plugin, providerItem.get('options'));
143
-
144
109
  try {
145
110
  yield provider.send(receiver, {
146
111
  code
@@ -156,12 +121,10 @@ function _create() {
156
121
  ns: _.namespace
157
122
  })
158
123
  });
159
-
160
124
  case 'RateLimit':
161
125
  return context.throw(429, context.t('You are trying so frequently, please slow down', {
162
126
  ns: _.namespace
163
127
  }));
164
-
165
128
  default:
166
129
  console.error(error);
167
130
  return context.throw(500, context.t('Verification send failed, please try later or contact to administrator', {
@@ -169,7 +132,6 @@ function _create() {
169
132
  }));
170
133
  }
171
134
  }
172
-
173
135
  const data = {
174
136
  id: (0, _crypto().randomUUID)(),
175
137
  type: values.type,
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- namespace: 'verification',
8
+ namespace: 'verification.verificationData',
9
9
  duplicator: 'optional',
10
10
  name: 'verifications',
11
11
  fields: [{
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- namespace: 'verification',
8
+ namespace: 'verification.verificationProviders',
9
9
  duplicator: 'optional',
10
10
  name: 'verifications_providers',
11
11
  fields: [{
@@ -20,9 +20,7 @@ Object.defineProperty(exports, "default", {
20
20
  }
21
21
  });
22
22
  exports.namespace = void 0;
23
-
24
23
  var _constants = require("./constants");
25
-
26
24
  Object.keys(_constants).forEach(function (key) {
27
25
  if (key === "default" || key === "__esModule") return;
28
26
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -34,13 +32,8 @@ Object.keys(_constants).forEach(function (key) {
34
32
  }
35
33
  });
36
34
  });
37
-
38
35
  var _providers = require("./providers");
39
-
40
36
  var _Plugin = _interopRequireDefault(require("./Plugin"));
41
-
42
37
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
-
44
38
  const namespace = require('../../package.json').name;
45
-
46
39
  exports.namespace = namespace;
@@ -9,7 +9,5 @@ Object.defineProperty(exports, "zhCN", {
9
9
  return _zhCN.default;
10
10
  }
11
11
  });
12
-
13
12
  var _zhCN = _interopRequireDefault(require("./zh-CN"));
14
-
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -5,53 +5,35 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Provider = void 0;
7
7
  exports.default = _default;
8
-
9
8
  function _path() {
10
9
  const data = _interopRequireDefault(require("path"));
11
-
12
10
  _path = function _path() {
13
11
  return data;
14
12
  };
15
-
16
13
  return data;
17
14
  }
18
-
19
15
  function _utils() {
20
16
  const data = require("@nocobase/utils");
21
-
22
17
  _utils = function _utils() {
23
18
  return data;
24
19
  };
25
-
26
20
  return data;
27
21
  }
28
-
29
22
  var _constants = require("../constants");
30
-
31
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
-
33
24
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
34
-
35
25
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
36
-
37
26
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
38
-
39
27
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
40
-
41
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
42
-
28
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
43
29
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
44
-
45
30
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
46
-
47
31
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
48
-
49
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
50
-
32
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
34
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
51
35
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
52
-
53
36
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
54
-
55
37
  class Provider {
56
38
  constructor(plugin, options) {
57
39
  this.plugin = void 0;
@@ -59,26 +41,20 @@ class Provider {
59
41
  this.plugin = plugin;
60
42
  this.options = options;
61
43
  }
62
-
63
44
  send(receiver, data) {
64
45
  return _asyncToGenerator(function* () {})();
65
46
  }
66
-
67
47
  }
68
-
69
48
  exports.Provider = Provider;
70
-
71
49
  function _default(plugin, more = {}) {
72
50
  const providers = plugin.providers;
73
51
  const natives = [_constants.PROVIDER_TYPE_SMS_ALIYUN, _constants.PROVIDER_TYPE_SMS_TENCENT].reduce((result, key) => Object.assign(result, {
74
52
  [key]: (0, _utils().requireModule)(_path().default.isAbsolute(key) ? key : _path().default.join(__dirname, key))
75
53
  }), {});
76
-
77
54
  for (var _i = 0, _Object$entries = Object.entries(_objectSpread(_objectSpread({}, more), natives)); _i < _Object$entries.length; _i++) {
78
55
  const _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
79
- name = _Object$entries$_i[0],
80
- provider = _Object$entries$_i[1];
81
-
56
+ name = _Object$entries$_i[0],
57
+ provider = _Object$entries$_i[1];
82
58
  providers.register(name, provider);
83
59
  }
84
60
  }
@@ -4,69 +4,52 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  function _dysmsapi() {
9
8
  const data = _interopRequireWildcard(require("@alicloud/dysmsapi20170525"));
10
-
11
9
  _dysmsapi = function _dysmsapi() {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  function OpenApi() {
19
15
  const data = _interopRequireWildcard(require("@alicloud/openapi-client"));
20
-
21
16
  OpenApi = function OpenApi() {
22
17
  return data;
23
18
  };
24
-
25
19
  return data;
26
20
  }
27
-
28
21
  function _teaUtil() {
29
22
  const data = require("@alicloud/tea-util");
30
-
31
23
  _teaUtil = function _teaUtil() {
32
24
  return data;
33
25
  };
34
-
35
26
  return data;
36
27
  }
37
-
38
28
  var _ = require(".");
39
-
40
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
31
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
45
-
46
32
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
47
-
48
33
  class _default extends _.Provider {
49
34
  constructor(plugin, options) {
50
35
  super(plugin, options);
51
36
  this.client = void 0;
52
37
  const _this$options = this.options,
53
- accessKeyId = _this$options.accessKeyId,
54
- accessKeySecret = _this$options.accessKeySecret,
55
- endpoint = _this$options.endpoint;
38
+ accessKeyId = _this$options.accessKeyId,
39
+ accessKeySecret = _this$options.accessKeySecret,
40
+ endpoint = _this$options.endpoint;
56
41
  let config = new (OpenApi().Config)({
57
42
  // 您的 AccessKey ID
58
43
  accessKeyId: accessKeyId,
59
44
  // 您的 AccessKey Secret
60
45
  accessKeySecret: accessKeySecret
61
- }); // 访问的域名
62
-
46
+ });
47
+ // 访问的域名
63
48
  config.endpoint = endpoint;
64
49
  this.client = new (_dysmsapi().default)(config);
65
50
  }
66
-
67
51
  send(phoneNumbers, data = {}) {
68
52
  var _this = this;
69
-
70
53
  return _asyncToGenerator(function* () {
71
54
  const request = new (_dysmsapi().SendSmsRequest)({
72
55
  phoneNumbers,
@@ -74,27 +57,21 @@ class _default extends _.Provider {
74
57
  templateCode: _this.options.template,
75
58
  templateParam: JSON.stringify(data)
76
59
  });
77
-
78
60
  try {
79
61
  const _yield$_this$client$s = yield _this.client.sendSmsWithOptions(request, new (_teaUtil().RuntimeOptions)({})),
80
- body = _yield$_this$client$s.body;
81
-
62
+ body = _yield$_this$client$s.body;
82
63
  let err = new Error(body.message);
83
-
84
64
  switch (body.code) {
85
65
  case 'OK':
86
66
  break;
87
-
88
67
  case 'isv.MOBILE_NUMBER_ILLEGAL':
89
68
  err.name = 'InvalidReceiver';
90
69
  return Promise.reject(err);
91
-
92
70
  case 'isv.BUSINESS_LIMIT_CONTROL':
93
71
  err.name = 'RateLimit';
94
72
  console.error(body);
95
73
  return Promise.reject(err);
96
74
  // case 'isp.RAM_PERMISSION_DENY':
97
-
98
75
  default:
99
76
  // should not let user to know
100
77
  console.error(body);
@@ -106,7 +83,5 @@ class _default extends _.Provider {
106
83
  }
107
84
  })();
108
85
  }
109
-
110
86
  }
111
-
112
87
  exports.default = _default;