Compare View

switch
from
...
to
 
Commits (3)

Changes

Showing 4 changed files Side-by-side Diff

1 1 /node_modules/
  2 +/logs/
... ... @@ -0,0 +1,41 @@
  1 +"use strict";
  2 +
  3 +/**
  4 + * API Server
  5 + *
  6 + * @todo make it work
  7 + */
  8 +
  9 +const express = require('express');
  10 +
  11 +const config = require('../config');
  12 +const logger = require('../logger');
  13 +const matrix = require('../matrix');
  14 +const routerConfig = require('./router-config');
  15 +
  16 +const app = express();
  17 +
  18 +function isConfigured() {
  19 + return Boolean(config && config.apiserver && config.apiserver.apikey && config.apiserver.port);
  20 +}
  21 +
  22 +function isValidApiKey(apikey) {
  23 + return isConfigured() && (config.apiserver.apikey === apikey);
  24 +}
  25 +
  26 +function needValidApikey(req, res, next) {
  27 + if (isValidApikey(req.params.apikey)) {
  28 + next();
  29 + }
  30 + else {
  31 + res.end('INVALID_APIKEY');
  32 + }
  33 +}
  34 +
  35 +isConfigured() && app.listen(config.push_server.advice.port, function () {
  36 + logger.info('API-SERVER listening', {port: config.push_server.advice.port});
  37 +});
  38 +
  39 +
  40 +app.use('/apikey/:apikey', needValidApikey);
  41 +app.use('/apikey/:apikey/config', routerConfig);
api-server/router-config.js
... ... @@ -0,0 +1,23 @@
  1 +"use strict";
  2 +
  3 +const express = require('express');
  4 +
  5 +const config = require('../config');
  6 +const logger = require('../logger');
  7 +const matrix = require('../matrix');
  8 +
  9 +const router = express.Router();
  10 +module.exports = router;
  11 +
  12 +function getJsonConfig(req, res, next) {
  13 + res.json(config);
  14 +}
  15 +
  16 +function getConfigElement(req, res, next) {
  17 + const paths = req.path.split('.');
  18 + res.json(paths);
  19 +}
  20 +
  21 +router.get('/', getJsonConfig);
  22 +router.post('/', getJsonConfig);
  23 +router.use('/get', getConfigElement);
1 1 {
2 2 "name": "komodo-sdk",
3   - "version": "1.23.7",
  3 + "version": "1.24.0",
4 4 "description": "SDK for Komodo",
5 5 "main": "index.js",
6 6 "scripts": {