Skip to content

Commit 758a99a

Browse files
committed
adoptor
1 parent 03ae6f6 commit 758a99a

File tree

2 files changed

+91
-0
lines changed

2 files changed

+91
-0
lines changed

app.js

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var _ = require('lodash');
99
var fs = require('fs');
1010

1111
var routes = require('./routes/index');
12+
var indexV1 = require('./routes/indexV1');
1213
var auth = require('./routes/auth');
1314
var accessKeys = require('./routes/accessKeys');
1415
var account = require('./routes/account');
@@ -72,6 +73,7 @@ if (_.get(config, 'common.storageType') === 'local') {
7273
}
7374

7475
app.use('/', routes);
76+
app.use('/v0.1/public/codepush', indexV1);
7577
app.use('/auth', auth);
7678
app.use('/accessKeys', accessKeys);
7779
app.use('/account', account);

routes/indexV1.js

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
var express = require('express');
2+
var router = express.Router();
3+
var Promise = require('bluebird');
4+
var AppError = require('../core/app-error');
5+
var middleware = require('../core/middleware');
6+
var ClientManager = require('../core/services/client-manager');
7+
var _ = require('lodash');
8+
var log4js = require('log4js');
9+
var log = log4js.getLogger("cps:indexV1");
10+
11+
router.get('/update_check', (req, res, next) => {
12+
var deploymentKey = _.get(req, "query.deployment_key");
13+
var appVersion = _.get(req, "query.app_version");
14+
var label = _.get(req, "query.label");
15+
var packageHash = _.get(req, "query.package_hash")
16+
var isCompanion = _.get(req, "query.is_companion")
17+
var clientUniqueId = _.get(req, "query.client_unique_id")
18+
var clientManager = new ClientManager();
19+
log.debug('req.query', req.query);
20+
clientManager.updateCheckFromCache(deploymentKey, appVersion, label, packageHash, clientUniqueId)
21+
.then((rs) => {
22+
//灰度检测
23+
return clientManager.chosenMan(rs.packageId, rs.rollout, clientUniqueId)
24+
.then((data)=>{
25+
if (!data) {
26+
rs.isAvailable = false;
27+
return rs;
28+
}
29+
return rs;
30+
});
31+
})
32+
.then((rs) => {
33+
delete rs.packageId;
34+
delete rs.rollout;
35+
var update_info = {
36+
download_url : rs.downloadUrl;
37+
description : rs.description;
38+
is_available : rs.isAvailable;
39+
is_disabled : rs.isDisabled;
40+
target_binary_range: rs.targetBinaryRange;
41+
label: rs.label;
42+
package_hash: rs.packageHash;
43+
package_size: rs.packageSize;
44+
should_run_binary_version: rs.shouldRunBinaryVersion;
45+
update_app_version: rs.updateAppVersion;
46+
is_mandatory: rs.isMandatory;
47+
};
48+
res.send({"update_info": update_info});
49+
})
50+
.catch((e) => {
51+
if (e instanceof AppError.AppError) {
52+
res.status(404).send(e.message);
53+
} else {
54+
next(e);
55+
}
56+
});
57+
});
58+
59+
router.post('/report_status/download', (req, res) => {
60+
log.debug('req.body', req.body);
61+
var clientUniqueId = _.get(req, "body.client_unique_id");
62+
var label = _.get(req, "body.label");
63+
var deploymentKey = _.get(req, "body.deployment_key");
64+
var clientManager = new ClientManager();
65+
clientManager.reportStatusDownload(deploymentKey, label, clientUniqueId)
66+
.catch((err) => {
67+
if (!err instanceof AppError.AppError) {
68+
console.error(err.stack)
69+
}
70+
});
71+
res.send('OK');
72+
});
73+
74+
router.post('/report_status/deploy', (req, res) => {
75+
log.debug('req.body', req.body);
76+
var clientUniqueId = _.get(req, "body.client_unique_id");
77+
var label = _.get(req, "body.label");
78+
var deploymentKey = _.get(req, "body.deployment_key");
79+
var clientManager = new ClientManager();
80+
clientManager.reportStatusDeploy(deploymentKey, label, clientUniqueId, req.body)
81+
.catch((err) => {
82+
if (!err instanceof AppError.AppError) {
83+
console.error(err.stack)
84+
}
85+
});
86+
res.send('OK');
87+
});
88+
89+
module.exports = router;

0 commit comments

Comments
 (0)