File size: 1,505 Bytes
e4bf523
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'use strict'
/**

 * Copyright (c) 2017~2019, OBCon Inc.

 * All rights reserved.

 */

/**

 * @file

 * @copyright 2017~2019, OBCon Inc.

 * @author gye hyun james kim [pnuskgh@gmail.com]

 */

//--- http://docs.sequelizejs.com/
const Sequelize = require('sequelize');

//--- ORM(Object Relation Mapper)
class Databases {

    constructor() {
        const pwPlain = security.decrypt(config.databases.scada.password);
        console.log("[DB scada runtime]",
          {
            host: config.databases.scada.host,
            port: config.databases.scada.port,
            user: config.databases.scada.username,
            db:   config.databases.scada.database,
            pw_len: pwPlain ? pwPlain.length : null,
            pw_mask: pwPlain ? (pwPlain.slice(0,2) + "scada" + pwPlain.slice(-2)) : null
          }
        );
        //--- OBCon_SCADA 데이터베이스
        this._scada = new Sequelize(
            config.databases.scada.database, 
            config.databases.scada.username, 
            security.decrypt(config.databases.scada.password), 
            config.databases.scada
        );

        this._data = null;
        // this._data = new Sequelize('sqlite:' + path.join(config.folder_root, config.databases.data.storage));
    }

    get scada() {
        return this._scada;
    }

    get data() {
        return this._data;
    }

    get dataTypes() {
        return Sequelize;
    }
}

module.exports = Databases;