* Chat Website Model
*/
-var crypto = require('crypto');
-
module.exports = function(sequelize, DataTypes) {
var ChatWebsite = sequelize.define('ChatWebsite', {
type: DataTypes.BOOLEAN,
defaultValue: true
},
+ enquiry_forwarding: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ },
+ enquiry_forwarding_address: {
+ type: DataTypes.STRING
+ },
+ enquiry_enable: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: true
+ },
+ rating_enable: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: true
+ },
+ rating_message: {
+ type: DataTypes.STRING,
+ defaultValue: 'Would you like rate this chat?'
+ },
+ rating_send: {
+ type: DataTypes.STRING,
+ defaultValue: 'Send'
+ },
+ rating_skip: {
+ type: DataTypes.STRING,
+ defaultValue: 'Skip'
+ },
+ show_service_name: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ },
+ service_name: {
+ type: DataTypes.STRING
+ },
+ fidelity: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: false
+ },
+ timeout: {
+ type: DataTypes.INTEGER,
+ defaultValue: 0
+ },
+ agents_busy: {
+ type: DataTypes.STRING,
+ defaultValue: 'In this moment all agents are busy. Try again!'
+ },
+ name_title: {
+ type: DataTypes.STRING,
+ defaultValue: 'Name'
+ },
+ email_title: {
+ type: DataTypes.STRING,
+ defaultValue: 'Email Address'
+ },
+ message_title: {
+ type: DataTypes.STRING,
+ defaultValue: 'Message'
+ },
+ logo: {
+ type: DataTypes.STRING
+ },
+ defaultLogo: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: true
+ },
+ whiteLabel: {
+ type: DataTypes.STRING,
+ defaultValue: 'Powered by xCALLY'
+ },
+ defaultWhiteLabel: {
+ type: DataTypes.BOOLEAN,
+ defaultValue: true
+ },
+ acceptUrl: {
+ type: DataTypes.STRING
+ },
+ rejectUrl: {
+ type: DataTypes.STRING
+ },
+ closeUrl: {
+ type: DataTypes.STRING
+ },
+ closeMethod: {
+ type: DataTypes.ENUM('GET', 'POST')
+ },
+ acceptMethod: {
+ type: DataTypes.ENUM('GET', 'POST')
+ },
+ rejectMethod: {
+ type: DataTypes.ENUM('GET', 'POST')
+ },
+ actions: {
+ type: DataTypes.STRING,
+ get: function() {
+ return this.getDataValue('actions') ? JSON.parse(this.getDataValue('actions')) : [];
+ },
+ set: function(val) {
+ return this.setDataValue('actions', JSON.stringify(val));
+ }
+ }
}, {
tableName: 'chat_websites',
associate: function(models) {
// hasMany relations
+ ChatWebsite.belongsTo(models.Template, {
+ as: 'OfflineTemplate'
+ });
ChatWebsite.hasMany(models.ChatRoom);
ChatWebsite.hasMany(models.ChatApplication);
+ ChatWebsite.belongsTo(models.List);
+ ChatWebsite.hasMany(models.ChatWebsitesField, {
+ as: 'Online',
+ foreignKey: 'OnlineId'
+ });
+ ChatWebsite.hasMany(models.ChatWebsitesField, {
+ as: 'Offline',
+ foreignKey: 'OfflineId'
+ });
+ ChatWebsite.hasMany(models.ChatProactiveAction);
+ ChatWebsite.hasMany(models.ChatDisposition);
}
});