Skip to content

Commit dc20e0e

Browse files
committed
accesskey
1 parent 777ee75 commit dc20e0e

6 files changed

Lines changed: 25 additions & 113 deletions

File tree

app.js

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ var fs = require('fs');
1111
var routes = require('./routes/index');
1212
var auth = require('./routes/auth');
1313
var accessKeys = require('./routes/accessKeys');
14-
var sessions = require('./routes/sessions');
1514
var account = require('./routes/account');
1615
var users = require('./routes/users');
1716
var apps = require('./routes/apps');
@@ -75,7 +74,6 @@ if (_.get(config, 'common.storageType') === 'local') {
7574
app.use('/', routes);
7675
app.use('/auth', auth);
7776
app.use('/accessKeys', accessKeys);
78-
app.use('/sessions', sessions);
7977
app.use('/account', account);
8078
app.use('/users', users);
8179
app.use('/apps', apps);
@@ -93,34 +91,27 @@ if (app.get('env') === 'development') {
9391
log.error(err);
9492
});
9593
app.use(function(err, req, res, next) {
96-
if (err instanceof AppError.AppError) {
97-
res.send(err);
98-
log.debug(err);
99-
} else {
100-
res.status(err.status || 500);
101-
res.render('error', {
102-
message: err.message,
103-
error: err
104-
});
105-
log.error(err);
106-
}
94+
res.status(err.status || 500);
95+
res.render('error', {
96+
message: err.message,
97+
error: err
98+
});
99+
log.error(err);
107100
});
108101
} else {
109102
app.use(function(req, res, next) {
110103
var e = new AppError.NotFound();
111-
res.status(404).send(e);
104+
res.status(404).send(e.message);
112105
log.debug(e);
113106
});
114107
// production error handler
115108
// no stacktraces leaked to user
116109
app.use(function(err, req, res, next) {
117110
if (err instanceof AppError.AppError) {
118-
res.send(err);
111+
res.send(err.message);
112+
log.debug(err);
119113
} else {
120-
var status = err.status || 500;
121-
var error = new AppError.AppError(`服务器繁忙,请稍后再试!`);
122-
error.status = status;
123-
res.status(status).send(error);
114+
res.status(err.status || 500).send(`服务器繁忙,请稍后再试!`);
124115
log.error(err);
125116
}
126117
});

config/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ config.development = {
6262
// create patch updates's number. default value is 3
6363
diffNums: 3,
6464
// data dir for caclulate diff files. it's optimization.
65-
dataDir: process.env.DATA_DIR || "/Users/tablee/workspaces/data",
65+
dataDir: process.env.DATA_DIR || os.tmpdir(),
6666
// storageType which is your binary package files store. options value is ("local" | "qiniu" | "s3")
6767
storageType: process.env.STORAGE_TYPE || "local",
6868
// options value is (true | false), when it's true, it will cache updateCheck results in redis.

core/config.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
var env = process.env.NODE_ENV || 'development';
1+
var env = process.env.NODE_ENV || 'development';
22
var _ = require('lodash');
33
var path = require('path');
4-
var config = {};
54
var log4js = require('log4js');
65
var log = log4js.getLogger("cps:config");
76
var CONFIG_PATH = path.join(__dirname, '../config/config.js');
87
if (process.env.CONFIG_FILE) {
98
CONFIG_PATH = path.join(__dirname, path.relative(__dirname, process.env.CONFIG_FILE));
10-
log.info(`process.env.CONFIG_FILE value: ` +process.env.CONFIG_FILE)
9+
log.info(`process.env.CONFIG_FILE value: ${process.env.CONFIG_FILE}`)
1110
}
1211
log.info(`use config file ${CONFIG_PATH}`)
1312
log.info(`use env ${env}`)
14-
config = _.get(require(CONFIG_PATH), env);
13+
var config = _.get(require(CONFIG_PATH), env);
14+
if (_.isEmpty(config)) {
15+
throw new Error(`config is {}, check the env and config`);
16+
}
1517
module.exports = config;

core/services/account-manager.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,11 @@ proto.getAllAccessKeyByUid = function (uid) {
6767
.then((tokens) => {
6868
return _.map(tokens, function(v){
6969
return {
70-
id: v.id + "",
7170
name: '(hidden)',
7271
createdTime: parseInt(moment(v.created_at).format('x')),
7372
createdBy: v.created_by,
7473
expires: parseInt(moment(v.expires_at).format('x')),
7574
friendlyName: v.name,
76-
isSession: v.is_session == 0 ? false : true,
7775
description: v.description,
7876
};
7977
});
@@ -86,13 +84,12 @@ proto.isExsitAccessKeyName = function (uid, friendlyName) {
8684
});
8785
};
8886

89-
proto.createAccessKey = function (uid, newAccessKey, isSession, ttl, friendlyName, createdBy, description) {
87+
proto.createAccessKey = function (uid, newAccessKey, ttl, friendlyName, createdBy, description) {
9088
return models.UserTokens.create({
9189
uid: uid,
9290
name: friendlyName,
9391
tokens: newAccessKey,
9492
description: description,
95-
is_session: isSession ? 1 : 0,
9693
created_by: createdBy,
9794
expires_at: moment().add(ttl/1000, 'seconds').format('YYYY-MM-DD HH:mm:ss'),
9895
created_at: moment().format('YYYY-MM-DD HH:mm:ss'),

routes/accessKeys.js

Lines changed: 7 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,7 @@ router.get('/', middleware.checkToken, (req, res, next) => {
1919
res.send({accessKeys: accessKeys});
2020
})
2121
.catch((e) => {
22-
if (e instanceof AppError.AppError) {
23-
log.debug('request get acceesKeys AppError', e)
24-
res.status(406).send(e.message);
25-
} else {
26-
next(e);
27-
}
22+
next(e);
2823
});
2924
});
3025

@@ -33,9 +28,9 @@ router.post('/', middleware.checkToken, (req, res, next) => {
3328
var identical = req.users.identical;
3429
var createdBy = _.trim(req.body.createdBy);
3530
var friendlyName = _.trim(req.body.friendlyName);
36-
var isSession = req.body.isSession;
3731
var ttl = parseInt(req.body.ttl);
3832
var description = _.trim(req.body.description);
33+
log.debug(req.body)
3934
var newAccessKey = security.randToken(28).concat(identical);
4035
return accountManager.isExsitAccessKeyName(uid, friendlyName)
4136
.then((data) => {
@@ -44,7 +39,7 @@ router.post('/', middleware.checkToken, (req, res, next) => {
4439
}
4540
})
4641
.then(() => {
47-
return accountManager.createAccessKey(uid, newAccessKey, isSession, ttl, friendlyName, createdBy, description);
42+
return accountManager.createAccessKey(uid, newAccessKey, ttl, friendlyName, createdBy, description);
4843
})
4944
.then((newToken) => {
5045
var moment = require("moment");
@@ -53,14 +48,15 @@ router.post('/', middleware.checkToken, (req, res, next) => {
5348
createdTime : parseInt(moment(newToken.created_at).format('x')),
5449
createdBy : newToken.created_by,
5550
expires : parseInt(moment(newToken.expires_at).format('x')),
56-
isSession: newToken.is_session == 1 ? true :false,
5751
description : newToken.description,
5852
friendlyName: newToken.name,
5953
};
54+
log.debug(info);
6055
res.send({accessKey:info});
6156
})
6257
.catch((e) => {
6358
if (e instanceof AppError.AppError) {
59+
log.debug(e)
6460
res.status(406).send(e.message);
6561
} else {
6662
next(e);
@@ -73,66 +69,16 @@ router.delete('/:name', middleware.checkToken, (req, res, next) => {
7369
var uid = req.users.id;
7470
return models.UserTokens.destroy({where: {name:name, uid: uid}})
7571
.then((rowNum) => {
72+
log.debug('delete acceesKey:', name)
7673
res.send({friendlyName:name});
7774
})
7875
.catch((e) => {
7976
if (e instanceof AppError.AppError) {
77+
log.debug(e)
8078
res.status(406).send(e.message);
8179
} else {
8280
next(e);
8381
}
8482
});
8583
});
86-
87-
router.patch('/:name', middleware.checkToken, (req, res, next) => {
88-
var name = _.trim(decodeURI(req.params.name));
89-
var friendlyName = _.trim(req.body.friendlyName);
90-
var ttl = _.trim(req.body.ttl);
91-
var uid = req.users.id;
92-
return Promise.all([
93-
models.UserTokens.findOne({where: {name:name, uid: uid}}),
94-
accountManager.isExsitAccessKeyName(uid, friendlyName),
95-
])
96-
.spread((token, token2) => {
97-
if (_.isEmpty(token)) {
98-
throw new AppError.AppError(`The access key "${name}" does not exist.`);
99-
}
100-
if (!_.isEmpty(token2)) {
101-
throw new AppError.AppError(`The access key "${friendlyName}" already exists.`);
102-
}
103-
return token;
104-
})
105-
.then((token) => {
106-
var moment = require('moment');
107-
if (ttl > 0 || ttl < 0) {
108-
var newExp = moment(token.get('expires_at')).add(ttl/1000, 'seconds').format('YYYY-MM-DD HH:mm:ss');
109-
token.set('expires_at', newExp);
110-
}
111-
if (friendlyName.length > 0) {
112-
token.set('name', friendlyName);
113-
}
114-
return token.save();
115-
})
116-
.then((token) => {
117-
var info = {
118-
name : '(hidden)',
119-
isSession: token.is_session == 1 ? true :false,
120-
createdTime : token.created_at,
121-
createdBy : token.created_by,
122-
description : token.description,
123-
expires : token.expires_at,
124-
friendlyName: token.name,
125-
id: token.id + ""
126-
};
127-
res.send({accessKey: info});
128-
})
129-
.catch((e) => {
130-
if (e instanceof AppError.AppError) {
131-
res.status(406).send(e.message);
132-
} else {
133-
next(e);
134-
}
135-
});
136-
});
137-
13884
module.exports = router;

routes/sessions.js

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)