Commit c1e6950b52c7a2dc31a67ff7e5c84071c00ee169

Authored by Adhidarma Hadiwinoto
1 parent 4a7ed5bd6b
Exists in master

Change api-server.router-config.save using config-save

Showing 1 changed file with 27 additions and 29 deletions Side-by-side Diff

api-server/router-config.js
  1 +const MODULE_NAME = 'KOMODO-SDK.API-SERVER.ROUTER-CONFIG';
  2 +
1 3 const fs = require('fs');
2 4 const express = require('express');
3 5 const bodyParser = require('body-parser');
4 6 const jsonQuery = require('json-query');
5 7 const dot = require('dot-object');
6   -const copyFile = require('fs-copy-file');
7   -const moment = require('moment');
  8 +const logger = require('tektrans-logger');
8 9  
9 10 const config = require('../config');
10 11 const matrix = require('../matrix');
  12 +const configSave = require('./config-save');
11 13  
12 14 const router = express.Router();
13 15 module.exports = router;
... ... @@ -57,34 +59,30 @@ function delConfigElement(req, res) {
57 59 });
58 60 }
59 61  
60   -function saveConfig(req, res) {
61   - copyFile('config.json', `config-backup/config_${moment().format('YYYYMMDD_HHmmss.SS')}.json`, (err) => {
62   - if (err) {
63   - res.json({
64   - method: '/config/save',
65   - error: err.toString(),
66   - });
67   - return;
68   - }
69   -
70   - fs.writeFile('config.json', JSON.stringify(config, null, 2), (errWriteFile) => {
71   - if (errWriteFile) {
72   - res.json({
73   - method: '/config/save',
74   - error: errWriteFile.toString(),
75   - });
76   -
77   - return;
78   - }
79   -
80   - matrix.config_is_dirty = false;
81   -
82   - res.json({
83   - method: '/config/save',
84   - error: null,
85   - });
  62 +async function saveConfig(req, res) {
  63 + const { xid } = res.locals;
  64 + try {
  65 + await configSave(xid);
  66 +
  67 + res.json({
  68 + method: '/config/save',
  69 + error: null,
86 70 });
87   - });
  71 + } catch (e) {
  72 + logger.warn(`${MODULE_NAME} 22E7FCA2: Exception on saving`, {
  73 + xid,
  74 + eCode: e.code,
  75 + eMessage: e.message || e,
  76 + });
  77 +
  78 + res.json({
  79 + method: '/config/save',
  80 + error: [
  81 + e.code || 'UNKNOWN',
  82 + e.message || 'ERROR',
  83 + ].join(' - '),
  84 + });
  85 + }
88 86 }
89 87  
90 88 function isDirty(req, res) {