free-be-account 0.0.28 → 0.0.30
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/index.js +6 -6
- package/package.json +1 -1
- package/routers/mgmt/route.js +19 -7
- package/utils.js +33 -0
package/index.js
CHANGED
|
@@ -27,16 +27,15 @@ try {
|
|
|
27
27
|
let __app_service_list_saved = false;
|
|
28
28
|
let __saved_service_list;
|
|
29
29
|
|
|
30
|
-
const __getServiceList = async (res, filter
|
|
30
|
+
const __getServiceList = async (res, filter, scopeFilter) => {
|
|
31
31
|
// add app.serviceList into db if not yet
|
|
32
32
|
if (!__app_service_list_saved) {
|
|
33
33
|
await res.app.modules.account.utils.saveServiceList(res.app);
|
|
34
|
-
|
|
35
|
-
} else if (!filter){
|
|
34
|
+
} else if (!filter) {
|
|
36
35
|
return __saved_service_list;
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
const allPerms = await res.app.models.permission.find(filter).lean();
|
|
38
|
+
const allPerms = await res.app.models.permission.find(filter ? { ...filter, Enabled: true } : { Enabled: true }).lean();
|
|
40
39
|
|
|
41
40
|
const permList = {};
|
|
42
41
|
if (allPerms && allPerms.length > 0) {
|
|
@@ -60,7 +59,7 @@ const __getServiceList = async (res, filter = { Enabled: true }, scopeFilter) =>
|
|
|
60
59
|
},
|
|
61
60
|
((doc.Scope || []).length <= 0) ? {} : {
|
|
62
61
|
Scope: doc.Scope.map(sc => {
|
|
63
|
-
const dso = app.getContainerContent('DataScope').find(ds => ds.Name === sc.Name);
|
|
62
|
+
const dso = res.app.getContainerContent('DataScope').find(ds => ds.Name === sc.Name);
|
|
64
63
|
|
|
65
64
|
if (!dso) {
|
|
66
65
|
return {};
|
|
@@ -97,8 +96,9 @@ const __getServiceList = async (res, filter = { Enabled: true }, scopeFilter) =>
|
|
|
97
96
|
})
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
if (!filter) {
|
|
99
|
+
if (!filter && !__app_service_list_saved) {
|
|
101
100
|
__saved_service_list = permList;
|
|
101
|
+
__app_service_list_saved = true;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
return permList;
|
package/package.json
CHANGED
package/routers/mgmt/route.js
CHANGED
|
@@ -4,26 +4,34 @@ const router = express.Router();
|
|
|
4
4
|
const { AccountAuditStatus } = require('../../enum');
|
|
5
5
|
const { clearPermission, encryptPwd, crypto } = require('../../utils');
|
|
6
6
|
|
|
7
|
+
// 2024-7-4,曾经添加id过滤器,并删除所有label and placeholder,但为什么?
|
|
7
8
|
const accountFilters = [
|
|
8
|
-
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
// {
|
|
10
|
+
// Name: 'id',
|
|
11
|
+
// Type: 'String',
|
|
12
|
+
// Info: {
|
|
13
|
+
// Separate: true,
|
|
14
|
+
// },
|
|
15
|
+
// Label: '账号ID',
|
|
16
|
+
// },
|
|
15
17
|
{
|
|
16
18
|
Name: 'LastUpdateDate',
|
|
17
19
|
Type: 'DateRange',
|
|
20
|
+
Label: '更新日期',
|
|
21
|
+
Placeholder: '请选择',
|
|
18
22
|
},
|
|
19
23
|
{
|
|
20
24
|
Name: 'Enabled',
|
|
21
25
|
Type: 'Select',
|
|
26
|
+
Label: '激活状态',
|
|
27
|
+
Placeholder: '请选择',
|
|
22
28
|
Options: [
|
|
23
29
|
{
|
|
30
|
+
Label: '已激活',
|
|
24
31
|
Value: true,
|
|
25
32
|
},
|
|
26
33
|
{
|
|
34
|
+
Label: '未激活',
|
|
27
35
|
Value: false,
|
|
28
36
|
},
|
|
29
37
|
],
|
|
@@ -31,18 +39,22 @@ const accountFilters = [
|
|
|
31
39
|
{
|
|
32
40
|
Name: 'Profile.Name',
|
|
33
41
|
Type: 'String',
|
|
42
|
+
Label: '姓名',
|
|
34
43
|
},
|
|
35
44
|
{
|
|
36
45
|
Name: 'Profile.Title',
|
|
37
46
|
Type: 'String',
|
|
47
|
+
Label: '职务',
|
|
38
48
|
},
|
|
39
49
|
{
|
|
40
50
|
Name: 'PhoneNumber',
|
|
41
51
|
Type: 'String',
|
|
52
|
+
Label: '手机号',
|
|
42
53
|
},
|
|
43
54
|
{
|
|
44
55
|
Name: 'UserName',
|
|
45
56
|
Type: 'String',
|
|
57
|
+
Label: '用户名',
|
|
46
58
|
},
|
|
47
59
|
];
|
|
48
60
|
|
package/utils.js
CHANGED
|
@@ -210,6 +210,38 @@ async function saveServiceList (app, clean=false) {
|
|
|
210
210
|
await checkService(serviceList, undefined, '');
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
+
/**
|
|
214
|
+
* 给指定的静态资源文件添加权限控制记录
|
|
215
|
+
*
|
|
216
|
+
* @param {String or Array} assets asset file(s)
|
|
217
|
+
* @param {String or Object} user The current user
|
|
218
|
+
* @param {String} users Users
|
|
219
|
+
* @param {String} perms Permissions
|
|
220
|
+
* @param {String} refs Referers
|
|
221
|
+
* @returns
|
|
222
|
+
*/
|
|
223
|
+
async function addPermControlToAssetFiles(afile, user, users, perms, refs) {
|
|
224
|
+
if (!afile) return;
|
|
225
|
+
|
|
226
|
+
if (!Array.isArray(afile)) {
|
|
227
|
+
afile = [afile];
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
for (let i = 0; i < afile.length; i += 1) {
|
|
231
|
+
const af = afile[i];
|
|
232
|
+
|
|
233
|
+
const assetsFilePath = af.split(/[\\|/]/g).slice(-2).join('/');
|
|
234
|
+
await app.models.staticResourcePermissionControl.create({
|
|
235
|
+
User: user?.id || user,
|
|
236
|
+
ResourcePath: assetsFilePath,
|
|
237
|
+
|
|
238
|
+
Users: users || '',
|
|
239
|
+
Permissions: perms || '',
|
|
240
|
+
Referers: refs || '',
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
213
245
|
module.exports = {
|
|
214
246
|
clearPermission,
|
|
215
247
|
getPermissionPathList,
|
|
@@ -218,4 +250,5 @@ module.exports = {
|
|
|
218
250
|
getClearPwd,
|
|
219
251
|
crypto,
|
|
220
252
|
saveServiceList,
|
|
253
|
+
addPermControlToAssetFiles,
|
|
221
254
|
}
|