@nocobase/plugin-users 0.7.0-alpha.9 → 0.7.1-alpha.4
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/lib/actions/users.js +279 -163
- package/lib/collections/roles-users.js +12 -5
- package/lib/collections/users.js +88 -86
- package/lib/index.d.ts +1 -0
- package/lib/index.js +19 -8
- package/lib/jwt-service.js +50 -29
- package/lib/locale/en-US.d.ts +5 -0
- package/lib/locale/en-US.js +11 -0
- package/lib/locale/index.d.ts +2 -0
- package/lib/locale/index.js +23 -0
- package/lib/locale/zh-CN.d.ts +6 -0
- package/lib/locale/zh-CN.js +12 -0
- package/lib/middlewares/check.js +28 -23
- package/lib/middlewares/index.js +20 -7
- package/lib/middlewares/parseToken.js +86 -62
- package/lib/models/UserModel.d.ts +2 -2
- package/lib/models/UserModel.js +68 -53
- package/lib/server.d.ts +5 -10
- package/lib/server.js +261 -149
- package/package.json +3 -8
- package/esm/actions/users.d.ts +0 -11
- package/esm/actions/users.js +0 -165
- package/esm/actions/users.js.map +0 -1
- package/esm/collections/roles-users.d.ts +0 -3
- package/esm/collections/roles-users.js +0 -5
- package/esm/collections/roles-users.js.map +0 -1
- package/esm/collections/users.d.ts +0 -3
- package/esm/collections/users.js +0 -86
- package/esm/collections/users.js.map +0 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.js +0 -2
- package/esm/index.js.map +0 -1
- package/esm/jwt-service.d.ts +0 -12
- package/esm/jwt-service.js +0 -26
- package/esm/jwt-service.js.map +0 -1
- package/esm/middlewares/check.d.ts +0 -1
- package/esm/middlewares/check.js +0 -22
- package/esm/middlewares/check.js.map +0 -1
- package/esm/middlewares/index.d.ts +0 -2
- package/esm/middlewares/index.js +0 -3
- package/esm/middlewares/index.js.map +0 -1
- package/esm/middlewares/parseToken.d.ts +0 -6
- package/esm/middlewares/parseToken.js +0 -64
- package/esm/middlewares/parseToken.js.map +0 -1
- package/esm/models/UserModel.d.ts +0 -4
- package/esm/models/UserModel.js +0 -53
- package/esm/models/UserModel.js.map +0 -1
- package/esm/server.d.ts +0 -23
- package/esm/server.js +0 -133
- package/esm/server.js.map +0 -1
- package/lib/actions/users.js.map +0 -1
- package/lib/collections/roles-users.js.map +0 -1
- package/lib/collections/users.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/jwt-service.js.map +0 -1
- package/lib/middlewares/check.js.map +0 -1
- package/lib/middlewares/index.js.map +0 -1
- package/lib/middlewares/parseToken.js.map +0 -1
- package/lib/models/UserModel.js.map +0 -1
- package/lib/server.js.map +0 -1
- package/tsconfig.build.json +0 -9
package/lib/index.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _server.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.namespace = void 0;
|
|
13
|
+
|
|
14
|
+
var _server = _interopRequireDefault(require("./server"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
const namespace = require('../package.json').name;
|
|
19
|
+
|
|
20
|
+
exports.namespace = namespace;
|
package/lib/jwt-service.js
CHANGED
|
@@ -1,33 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
6
|
exports.JwtService = void 0;
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
function _jsonwebtoken() {
|
|
9
|
+
const data = _interopRequireDefault(require("jsonwebtoken"));
|
|
10
|
+
|
|
11
|
+
_jsonwebtoken = function _jsonwebtoken() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
8
20
|
class JwtService {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
constructor(options) {
|
|
22
|
+
this.options = void 0;
|
|
23
|
+
this.options = options;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
expiresIn() {
|
|
27
|
+
return this.options.expiresIn || '7d';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
secret() {
|
|
31
|
+
return this.options.secret || process.env.APP_KEY;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
sign(payload) {
|
|
35
|
+
return _jsonwebtoken().default.sign(payload, this.secret(), {
|
|
36
|
+
expiresIn: this.expiresIn()
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
decode(token) {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
_jsonwebtoken().default.verify(token, this.secret(), (err, decoded) => {
|
|
43
|
+
if (err) {
|
|
44
|
+
return reject(err);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
resolve(decoded);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
31
52
|
}
|
|
32
|
-
|
|
33
|
-
|
|
53
|
+
|
|
54
|
+
exports.JwtService = JwtService;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
'Please fill in your email address': 'Please fill in your email address',
|
|
9
|
+
'The password is incorrect, please re-enter': 'The password is incorrect, please re-enter'
|
|
10
|
+
};
|
|
11
|
+
exports.default = _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "enUS", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _enUS.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "zhCN", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _zhCN.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _enUS = _interopRequireDefault(require("./en-US"));
|
|
20
|
+
|
|
21
|
+
var _zhCN = _interopRequireDefault(require("./zh-CN"));
|
|
22
|
+
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
'The email is incorrect, please re-enter': '邮箱错误,请重新输入',
|
|
9
|
+
'Please fill in your email address': '请填写密码',
|
|
10
|
+
'The password is incorrect, please re-enter': '密码错误,请重新输入'
|
|
11
|
+
};
|
|
12
|
+
exports.default = _default;
|
package/lib/middlewares/check.js
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
exports.check = void 0;
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.check = check;
|
|
7
|
+
|
|
8
|
+
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); } }
|
|
9
|
+
|
|
10
|
+
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); }); }; }
|
|
11
|
+
|
|
13
12
|
// TODO(usage): 拦截用户的处理暂时作为一个中间件导出,应用需要的时候可以直接使用这个中间件
|
|
14
13
|
function check(options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
return /*#__PURE__*/function () {
|
|
15
|
+
var _check = _asyncToGenerator(function* (ctx, next) {
|
|
16
|
+
const currentUser = ctx.state.currentUser;
|
|
17
|
+
|
|
18
|
+
if (!currentUser) {
|
|
19
|
+
return ctx.throw(401, 'Unauthorized');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return next();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
function check(_x, _x2) {
|
|
26
|
+
return _check.apply(this, arguments);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return check;
|
|
30
|
+
}();
|
|
31
|
+
}
|
package/lib/middlewares/index.js
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "check", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _check.check;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "parseToken", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _parseToken.parseToken;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _check = require("./check");
|
|
20
|
+
|
|
21
|
+
var _parseToken = require("./parseToken");
|
|
@@ -1,69 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseToken = parseToken;
|
|
7
|
+
exports.setCurrentRole = setCurrentRole;
|
|
8
|
+
|
|
9
|
+
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); } }
|
|
10
|
+
|
|
11
|
+
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); }); }; }
|
|
12
|
+
|
|
13
13
|
function parseToken(options) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
return /*#__PURE__*/function () {
|
|
15
|
+
var _parseToken = _asyncToGenerator(function* (ctx, next) {
|
|
16
|
+
const user = yield findUserByToken(ctx, options.plugin);
|
|
17
|
+
|
|
18
|
+
if (user) {
|
|
19
|
+
ctx.state.currentUser = user;
|
|
20
|
+
setCurrentRole(ctx);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return next();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
function parseToken(_x, _x2) {
|
|
27
|
+
return _parseToken.apply(this, arguments);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return parseToken;
|
|
31
|
+
}();
|
|
24
32
|
}
|
|
25
|
-
|
|
33
|
+
|
|
26
34
|
function setCurrentRole(ctx) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
let currentRole = ctx.get('X-Role');
|
|
36
|
+
|
|
37
|
+
if (currentRole === 'anonymous') {
|
|
38
|
+
ctx.state.currentRole = currentRole;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const userRoles = ctx.state.currentUser.roles;
|
|
43
|
+
|
|
44
|
+
if (userRoles.length == 1) {
|
|
45
|
+
currentRole = userRoles[0].name;
|
|
46
|
+
} else if (userRoles.length > 1) {
|
|
47
|
+
const role = userRoles.find(role => role.name === currentRole);
|
|
48
|
+
|
|
49
|
+
if (!role) {
|
|
50
|
+
var _ref;
|
|
51
|
+
|
|
52
|
+
const defaultRole = userRoles.find(role => {
|
|
53
|
+
var _role$rolesUsers;
|
|
54
|
+
|
|
55
|
+
return role === null || role === void 0 ? void 0 : (_role$rolesUsers = role.rolesUsers) === null || _role$rolesUsers === void 0 ? void 0 : _role$rolesUsers.default;
|
|
56
|
+
});
|
|
57
|
+
currentRole = (_ref = defaultRole || userRoles[0]) === null || _ref === void 0 ? void 0 : _ref.name;
|
|
46
58
|
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (currentRole) {
|
|
62
|
+
ctx.state.currentRole = currentRole;
|
|
63
|
+
}
|
|
47
64
|
}
|
|
48
|
-
|
|
49
|
-
function findUserByToken(
|
|
50
|
-
|
|
51
|
-
const token = ctx.getBearerToken();
|
|
52
|
-
if (!token) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
const { userId } = yield plugin.jwtService.decode(token);
|
|
57
|
-
return yield ctx.db.getRepository('users').findOne({
|
|
58
|
-
filter: {
|
|
59
|
-
id: userId,
|
|
60
|
-
},
|
|
61
|
-
appends: ['roles'],
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
console.warn(error);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
65
|
+
|
|
66
|
+
function findUserByToken(_x3, _x4) {
|
|
67
|
+
return _findUserByToken.apply(this, arguments);
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
|
|
70
|
+
function _findUserByToken() {
|
|
71
|
+
_findUserByToken = _asyncToGenerator(function* (ctx, plugin) {
|
|
72
|
+
const token = ctx.getBearerToken();
|
|
73
|
+
|
|
74
|
+
if (!token) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
const _yield$plugin$jwtServ = yield plugin.jwtService.decode(token),
|
|
80
|
+
userId = _yield$plugin$jwtServ.userId;
|
|
81
|
+
|
|
82
|
+
return yield ctx.db.getRepository('users').findOne({
|
|
83
|
+
filter: {
|
|
84
|
+
id: userId
|
|
85
|
+
},
|
|
86
|
+
appends: ['roles']
|
|
87
|
+
});
|
|
88
|
+
} catch (error) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return _findUserByToken.apply(this, arguments);
|
|
93
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Model,
|
|
1
|
+
import { Model, Transactionable } from '@nocobase/database';
|
|
2
2
|
export declare class UserModel extends Model {
|
|
3
|
-
setDefaultRole(roleName: string, options?:
|
|
3
|
+
setDefaultRole(roleName: string, options?: Transactionable): Promise<boolean>;
|
|
4
4
|
}
|
package/lib/models/UserModel.js
CHANGED
|
@@ -1,57 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
12
6
|
exports.UserModel = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
7
|
+
|
|
8
|
+
function _database() {
|
|
9
|
+
const data = require("@nocobase/database");
|
|
10
|
+
|
|
11
|
+
_database = function _database() {
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
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); } }
|
|
19
|
+
|
|
20
|
+
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); }); }; }
|
|
21
|
+
|
|
22
|
+
class UserModel extends _database().Model {
|
|
23
|
+
setDefaultRole(roleName, options = {}) {
|
|
24
|
+
var _this = this;
|
|
25
|
+
|
|
26
|
+
return _asyncToGenerator(function* () {
|
|
27
|
+
if (roleName == 'anonymous') {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const db = _this.constructor.database;
|
|
32
|
+
const repository = db.getRepository('rolesUsers');
|
|
33
|
+
|
|
34
|
+
if (!repository) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const transaction = options.transaction || (yield db.sequelize.transaction());
|
|
39
|
+
|
|
40
|
+
try {
|
|
41
|
+
yield repository.update({
|
|
42
|
+
filter: {
|
|
43
|
+
userId: _this.get('id')
|
|
44
|
+
},
|
|
45
|
+
values: {
|
|
46
|
+
default: false
|
|
47
|
+
},
|
|
48
|
+
transaction
|
|
49
|
+
});
|
|
50
|
+
yield repository.update({
|
|
51
|
+
filter: {
|
|
52
|
+
userId: _this.get('id'),
|
|
53
|
+
roleName
|
|
54
|
+
},
|
|
55
|
+
values: {
|
|
56
|
+
default: true
|
|
57
|
+
},
|
|
58
|
+
transaction
|
|
53
59
|
});
|
|
54
|
-
|
|
60
|
+
yield transaction.commit();
|
|
61
|
+
} catch (error) {
|
|
62
|
+
yield transaction.rollback();
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return true;
|
|
67
|
+
})();
|
|
68
|
+
}
|
|
69
|
+
|
|
55
70
|
}
|
|
56
|
-
|
|
57
|
-
|
|
71
|
+
|
|
72
|
+
exports.UserModel = UserModel;
|
package/lib/server.d.ts
CHANGED
|
@@ -2,22 +2,17 @@ import { Plugin } from '@nocobase/server';
|
|
|
2
2
|
import { JwtOptions, JwtService } from './jwt-service';
|
|
3
3
|
export interface UserPluginConfig {
|
|
4
4
|
jwt: JwtOptions;
|
|
5
|
-
installing?: {
|
|
6
|
-
adminNickname: string;
|
|
7
|
-
adminEmail: string;
|
|
8
|
-
adminPassword: string;
|
|
9
|
-
};
|
|
10
5
|
}
|
|
11
6
|
export default class UsersPlugin extends Plugin<UserPluginConfig> {
|
|
12
7
|
jwtService: JwtService;
|
|
13
8
|
constructor(app: any, options: any);
|
|
14
9
|
beforeLoad(): Promise<void>;
|
|
15
10
|
load(): Promise<void>;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
getInstallingData(options?: any): {
|
|
12
|
+
rootEmail: any;
|
|
13
|
+
rootPassword: any;
|
|
14
|
+
rootNickname: any;
|
|
20
15
|
};
|
|
21
|
-
install(): Promise<void>;
|
|
16
|
+
install(options: any): Promise<void>;
|
|
22
17
|
getName(): string;
|
|
23
18
|
}
|