Built motion from commit 0dbf6b8.|0.0.131
[motion.git] / server / models / chat_website.js
index 6beba8c..6d06923 100644 (file)
@@ -74,12 +74,126 @@ module.exports = function(sequelize, DataTypes) {
                        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);
                }
        });