chanmin0723's picture
Initial obcon SCADA deploy
e4bf523
Raw
History Blame Contribute Delete
3.61 kB
'use strict'
/**
* Copyright (c) 2018~2019, OBCon Inc.
* All rights reserved.
*/
/**
* @file
* @copyright OBCon Inc. Korea 2018~2019
* @author gye hyun james kim [pnuskgh@gmail.com]
*/
//--- http://docs.sequelizejs.com/
let Sequelize = require('sequelize');
let Model = utils.getClass('include', 'model.js');
//--- Setting Class는 정적인 설정을 관리하고
//--- Setting 모듈은 동적인 설정을 관리 한다.
/*
SELECT id, site, moduleName, moduleId, category, name
FROM settings
ORDER BY site ASC, category ASC, name ASC, moduleName ASC, moduleId ASC;
*/
class SettingsModel extends Model {
constructor() {
super();
this._title = '설정';
this._database = db.db_scada;
this._tableName = 'setting';
}
get fields() {
let fields = Object.assign({
site: { //--- 0. service별 설정, 기타. 사이트별 설정
type: Sequelize.INTEGER(11),
allowNull: true,
defaultValue: 0,
validate: {
},
title: '사이트',
strType: 'integer'
},
moduleName: { //--- 모듈 이름 (단수 형태)
type: Sequelize.STRING(32),
allowNull: true,
defaultValue: '',
validate: {
},
title: '모듈 이름',
strType: 'string'
},
moduleId: { //--- 0. 모듈의 전역 설정, 기타. 모듈별 설정
type: Sequelize.INTEGER(11),
allowNull: true,
defaultValue: 0,
validate: {
},
title: '모듈',
strType: 'integer'
},
category: { //--- 분류
type: Sequelize.STRING(72),
allowNull: true,
defaultValue: '',
validate: {
},
title: '분류',
strType: 'string'
},
// title: { //--- name 필드를 대신 사용함
// type: Sequelize.STRING(72),
// allowNull: true,
// defaultValue: '',
// validate: {
// },
// title: '설정 이름',
// strType: 'string'
// },
custom: { //--- JSON 형태로 설정값을 저장 한다.
type: Sequelize.STRING(10240),
allowNull: true,
defaultValue: '{}',
validate: {
},
title: '설정값',
strType: 'string'
}
}, super.fields);
return fields;
}
newRecord(site, moduleName, moduleId, category, name) {
let rtObj = {
id: '',
site: site,
moduleName: moduleName,
moduleId: moduleId,
category: category,
name: name,
custom: '{}'
// description: '',
// assignedUserId: 1,
// createdBy: 1,
// updatedBy: 1,
// deleted: false
};
return rtObj;
}
}
module.exports = SettingsModel;