@azteam/express 1.2.218 → 1.2.221
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/package.json
CHANGED
package/src/AdminController.js
CHANGED
|
@@ -109,11 +109,11 @@ class AdminController extends Controller {
|
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
async beforeCreate(data
|
|
112
|
+
async beforeCreate(data) {
|
|
113
113
|
return data;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
async afterCreate(item
|
|
116
|
+
async afterCreate(item) {
|
|
117
117
|
return item;
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -135,11 +135,11 @@ class AdminController extends Controller {
|
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
async beforeModify(data
|
|
138
|
+
async beforeModify(data) {
|
|
139
139
|
return data;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
async afterModify(item
|
|
142
|
+
async afterModify(item) {
|
|
143
143
|
return item;
|
|
144
144
|
}
|
|
145
145
|
|
|
@@ -147,9 +147,9 @@ class AdminController extends Controller {
|
|
|
147
147
|
let item = await this.repository.findOneById(req.params.id);
|
|
148
148
|
if (!item) return res.error(NOT_EXISTS);
|
|
149
149
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
item.loadData(req.body);
|
|
151
|
+
item.modified_id = req.user.id;
|
|
152
|
+
await item.save();
|
|
153
153
|
|
|
154
154
|
item = await this.afterModify(item, req.user);
|
|
155
155
|
|
|
@@ -173,7 +173,8 @@ class AdminController extends Controller {
|
|
|
173
173
|
const item = await this.repository.findOneById(req.params.id);
|
|
174
174
|
if (!item) return res.error(NOT_EXISTS);
|
|
175
175
|
|
|
176
|
-
await
|
|
176
|
+
await item.delete(req.user.id);
|
|
177
|
+
|
|
177
178
|
return res.success(true);
|
|
178
179
|
};
|
|
179
180
|
|
|
@@ -189,7 +190,8 @@ class AdminController extends Controller {
|
|
|
189
190
|
const item = await this.repository.findOneTrashById(req.params.id);
|
|
190
191
|
if (!item) return res.error(NOT_EXISTS);
|
|
191
192
|
|
|
192
|
-
await
|
|
193
|
+
await item.restore(req.user.id);
|
|
194
|
+
|
|
193
195
|
return res.success(true);
|
|
194
196
|
};
|
|
195
197
|
|
|
@@ -205,7 +207,8 @@ class AdminController extends Controller {
|
|
|
205
207
|
const item = await this.repository.findOneTrashById(req.params.id);
|
|
206
208
|
if (!item) return res.error(NOT_EXISTS);
|
|
207
209
|
|
|
208
|
-
await this.repository.destroy(item);
|
|
210
|
+
await this.repository.destroy(item.id);
|
|
211
|
+
|
|
209
212
|
return res.success(true);
|
|
210
213
|
};
|
|
211
214
|
|
package/src/Server.js
CHANGED
|
@@ -12,8 +12,6 @@ import _ from 'lodash';
|
|
|
12
12
|
import 'express-async-errors';
|
|
13
13
|
import {CORS, errorCatch, ErrorException, NOT_FOUND, UNKNOWN} from '@azteam/error';
|
|
14
14
|
|
|
15
|
-
import {authMiddleware} from './middleware/authMiddleware';
|
|
16
|
-
|
|
17
15
|
const RES_TYPE = {
|
|
18
16
|
ARRAY: 'ARRAY',
|
|
19
17
|
OBJECT: 'OBJECT',
|
|
@@ -273,8 +271,6 @@ class Server {
|
|
|
273
271
|
app.use(middleware);
|
|
274
272
|
});
|
|
275
273
|
|
|
276
|
-
app.use(authMiddleware);
|
|
277
|
-
|
|
278
274
|
const msg = [];
|
|
279
275
|
_.map(this.controllers, (data) => {
|
|
280
276
|
const {controller} = data;
|
|
@@ -11,37 +11,42 @@ function systemLogin(userData = null) {
|
|
|
11
11
|
return user;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export function
|
|
15
|
-
|
|
14
|
+
export default function (cbLoginAPI) {
|
|
15
|
+
return async function (req, res, next) {
|
|
16
|
+
const {headers} = req;
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
if (headers['x-app-secret'] === process.env.SECRET_KEY) {
|
|
19
|
+
req.user = systemLogin(headers['x-app-user']);
|
|
20
|
+
} else {
|
|
21
|
+
let token = null;
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
if (headers.authorization) {
|
|
24
|
+
token = headers.authorization;
|
|
25
|
+
}
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
if (token) {
|
|
28
|
+
if (token.startsWith('Bearer ')) {
|
|
29
|
+
token = token.replace('Bearer ', '');
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
try {
|
|
32
|
+
req.user = jwt.verify(token, process.env.SECRET_KEY);
|
|
33
|
+
return next();
|
|
34
|
+
} catch (err) {
|
|
35
|
+
if (err.name === 'TokenExpiredError') {
|
|
36
|
+
throw new ErrorException(TOKEN_EXPIRED, err);
|
|
37
|
+
}
|
|
38
|
+
throw new ErrorException(TOKEN_FAILED, err);
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
} else {
|
|
41
|
+
const data = await cbLoginAPI(token);
|
|
42
|
+
if (data) {
|
|
43
|
+
req.user = data;
|
|
44
|
+
}
|
|
45
|
+
return next();
|
|
38
46
|
}
|
|
39
47
|
}
|
|
40
|
-
throw new ErrorException(TOKEN_FAILED, {
|
|
41
|
-
message: 'Token type invalid',
|
|
42
|
-
});
|
|
43
48
|
}
|
|
44
|
-
}
|
|
45
49
|
|
|
46
|
-
|
|
50
|
+
return next();
|
|
51
|
+
};
|
|
47
52
|
}
|
|
@@ -14,7 +14,7 @@ export default function (key, options = {}) {
|
|
|
14
14
|
let cacheKey = key;
|
|
15
15
|
|
|
16
16
|
if (options.query) {
|
|
17
|
-
cacheKey
|
|
17
|
+
cacheKey = `${cacheKey}:${_.get(req, options.query)}`;
|
|
18
18
|
}
|
|
19
19
|
if (req.paginate) {
|
|
20
20
|
if (_.isEmpty(req.query) && req.paginate.page <= options.limitPage) {
|
package/src/middleware/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export {default as signMiddleware} from './signMiddleware';
|
|
2
2
|
export {default as etagMiddleware} from './etagMiddleware';
|
|
3
|
+
export {default as authMiddleware} from './authMiddleware';
|
|
3
4
|
export {default as roleMiddleware} from './roleMiddleware';
|
|
4
5
|
export {default as adminRoleMiddleware} from './adminRoleMiddleware';
|
|
5
6
|
export {default as systemRoleMiddleware} from './systemRoleMiddleware';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
|
|
3
3
|
function omitData(data) {
|
|
4
|
-
Object.keys(data).map(function (key
|
|
4
|
+
Object.keys(data).map(function (key) {
|
|
5
5
|
let value = data[key];
|
|
6
6
|
if (typeof value === 'string') {
|
|
7
7
|
value = value.trim();
|
|
@@ -10,11 +10,10 @@ function omitData(data) {
|
|
|
10
10
|
} else {
|
|
11
11
|
data[key] = value;
|
|
12
12
|
}
|
|
13
|
-
} else {
|
|
14
|
-
|
|
15
|
-
delete data[key];
|
|
16
|
-
}
|
|
13
|
+
} else if (value === null || value === undefined || Number.isNaN(value)) {
|
|
14
|
+
delete data[key];
|
|
17
15
|
}
|
|
16
|
+
return true;
|
|
18
17
|
});
|
|
19
18
|
return data;
|
|
20
19
|
}
|