module.exports = function(sequelize, DataTypes) {
var ReportCallHistory = sequelize.define('ReportCallHistory', {
+ sourceid: DataTypes.INTEGER,
+ uniqueid: {
+ type: DataTypes.STRING,
+ unique: true
+ },
+ type: {
+ type: DataTypes.ENUM,
+ values: ['inbound', 'internal', 'outbound', 'inbound-fax', 'outbound-fax', 'tigerdial']
+ },
+ tag: DataTypes.STRING,
accountcode: DataTypes.STRING,
source: DataTypes.STRING,
destination: DataTypes.STRING,
lastapplication: DataTypes.STRING,
lastdata: DataTypes.STRING,
starttime: DataTypes.DATE,
- answertime: {
- type: DataTypes.DATE,
- set: function(answertime) {
- if (answertime !== '') {
- this.setDataValue('answertime', answertime);
- } else {
- this.setDataValue('answertime', null);
- }
- }
- },
+ answertime: DataTypes.DATE,
endtime: DataTypes.DATE,
duration: DataTypes.INTEGER,
billableseconds: DataTypes.INTEGER,
disposition: DataTypes.STRING,
amaflags: DataTypes.STRING,
- uniqueid: {
- type: DataTypes.STRING,
- primaryKey: true
- },
- userfield: DataTypes.STRING,
+ userfield: DataTypes.STRING
}, {
tableName: 'report_call_history',
+ indexes: [{
+ name: 'sourceid',
+ fields: ['sourceid']
+ }],
associate: function(models) {
- ReportCallHistory.hasMany(models.ReportQueueHistory, {
- as: 'HistoryQueueCalls',
- foreignKey: 'uniqueid',
- constraints: false
- });
- ReportCallHistory.hasMany(models.ReportAgentHistory, {
- as: 'HistoryReportAgents',
- foreignKey: 'uniqueid',
- constraints: false
- });
+ // ReportCallHistory.hasMany(models.ReportQueueHistory, {
+ // as: 'HistoryQueueCalls',
+ // foreignKey: 'uniqueid',
+ // constraints: false
+ // });
+ // ReportCallHistory.hasMany(models.ReportAgentHistory, {
+ // as: 'HistoryReportAgents',
+ // foreignKey: 'uniqueid',
+ // constraints: false
+ // });
}
});
-
ReportCallHistory.removeAttribute('id');
return ReportCallHistory;
};