Built motion from commit 0dbf6b8.|0.0.131
[motion.git] / server / models / chat_website.js
index e508f5a..6d06923 100644 (file)
@@ -1 +1,201 @@
-var _0x1091=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x53\x54\x52\x49\x4E\x47","\x23\x30\x30\x30\x30\x38\x30","\x42\x4F\x4F\x4C\x45\x41\x4E","\x72\x6F\x75\x6E\x64\x65\x64","\x73\x71\x75\x61\x72\x65\x64","\x57\x65\x20\x61\x72\x65\x20\x68\x65\x72\x65\x21","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x51\x75\x65\x73\x74\x69\x6F\x6E\x73\x3F\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x6E\x73\x65\x72\x74\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x61\x6E\x64\x20\x65\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73\x20\x74\x6F\x20\x73\x74\x61\x72\x74\x20\x61\x20\x6C\x69\x76\x65\x2D\x63\x68\x61\x74\x20\x77\x69\x74\x68\x20\x6F\x75\x72\x20\x73\x75\x70\x70\x6F\x72\x74\x20\x74\x65\x61\x6D\x2E","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65","\x59\x6F\x75\x72\x20\x65\x2D\x6D\x61\x69\x6C\x20\x61\x64\x64\x72\x65\x73\x73","\x43\x68\x61\x74","\x43\x6F\x6E\x74\x61\x63\x74\x20\x75\x73","\x3C\x73\x74\x72\x6F\x6E\x67\x3E\x57\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x6F\x6E\x6C\x69\x6E\x65\x2E\x3C\x2F\x73\x74\x72\x6F\x6E\x67\x3E\x3C\x62\x72\x20\x2F\x3E\x49\x74\x20\x64\x6F\x65\x73\x6E\x27\x74\x20\x6D\x65\x61\x6E\x20\x77\x65\x27\x72\x65\x20\x6E\x6F\x74\x20\x74\x68\x65\x72\x65\x20\x74\x6F\x20\x68\x65\x6C\x70\x20\x2D\x20\x6C\x65\x61\x76\x65\x20\x79\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x62\x65\x6C\x6F\x77\x20\x61\x6E\x64\x20\x77\x65\x27\x6C\x6C\x20\x62\x65\x20\x69\x6E\x20\x74\x6F\x75\x63\x68\x20\x61\x73\x20\x73\x6F\x6F\x6E\x20\x61\x73\x20\x70\x6F\x73\x73\x69\x62\x6C\x65\x2E","\x59\x6F\x75\x72\x20\x6D\x65\x73\x73\x61\x67\x65\x2E\x2E\x2E","\x4C\x65\x61\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65","\x63\x68\x61\x74\x5F\x77\x65\x62\x73\x69\x74\x65\x73","\x4F\x66\x66\x6C\x69\x6E\x65\x54\x65\x6D\x70\x6C\x61\x74\x65","\x62\x65\x6C\x6F\x6E\x67\x73\x54\x6F","\x68\x61\x73\x4D\x61\x6E\x79","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x1091[0]);module[_0x1091[1]]=function(_0x35ffx2,_0x35ffx3){var _0x35ffx4=_0x35ffx2[_0x1091[21]](_0x1091[2],{name:_0x35ffx3[_0x1091[3]],address:{type:_0x35ffx3[_0x1091[3]],unique:true},description:_0x35ffx3[_0x1091[3]],color:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[4]},color_focus:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[4]},color_button:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[4]},remote:_0x35ffx3[_0x1091[3]],animation:{type:_0x35ffx3[_0x1091[5]],defaultValue:true},header_shape:{type:_0x35ffx3.ENUM(_0x1091[6],_0x1091[7]),defaultValue:_0x1091[6]},header_online:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[8]},online_message:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[9]},username_placeholder:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[10]},email_placeholder:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[11]},start_chat_button:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[12]},header_offline:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[13]},offline_message:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[14]},enquiry_message_placeholder:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[15]},enquiry_button:{type:_0x35ffx3[_0x1091[3]],defaultValue:_0x1091[16]},download_transcript:{type:_0x35ffx3[_0x1091[5]],defaultValue:true},enquiry_forwarding:{type:_0x35ffx3[_0x1091[5]],defaultValue:false},enquiry_forwarding_address:{type:_0x35ffx3[_0x1091[3]]}},{tableName:_0x1091[17],associate:function(_0x35ffx5){_0x35ffx4[_0x1091[19]](_0x35ffx5.MailTemplate,{as:_0x1091[18]});_0x35ffx4[_0x1091[20]](_0x35ffx5.ChatRoom);_0x35ffx4[_0x1091[20]](_0x35ffx5.ChatApplication)}});return _0x35ffx4}
\ No newline at end of file
+/**
+ * Chat Website Model
+ */
+
+var crypto = require('crypto');
+
+module.exports = function(sequelize, DataTypes) {
+
+       var ChatWebsite = sequelize.define('ChatWebsite', {
+               name: DataTypes.STRING,
+               address: {
+                       type: DataTypes.STRING,
+                       unique: true
+               },
+               description: DataTypes.STRING,
+               color: {
+                       type: DataTypes.STRING,
+                       defaultValue: '#000080'
+               },
+               color_focus: {
+                       type: DataTypes.STRING,
+                       defaultValue: '#000080'
+               },
+               color_button: {
+                       type: DataTypes.STRING,
+                       defaultValue: '#000080'
+               },
+               remote: DataTypes.STRING,
+               animation: {
+                       type: DataTypes.BOOLEAN,
+                       defaultValue: true
+               },
+               header_shape: {
+                       type: DataTypes.ENUM('rounded', 'squared'),
+                       defaultValue: 'rounded'
+               },
+               header_online: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'We are here!'
+               },
+               online_message: {
+                       type: DataTypes.STRING,
+                       defaultValue: '<strong>Questions?<\/strong><br \/>Insert your name and email address to start a live-chat with our support team.'
+               },
+               username_placeholder: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'Your name'
+               },
+               email_placeholder: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'Your e-mail address'
+               },
+               start_chat_button: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'Chat'
+               },
+               header_offline: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'Contact us'
+               },
+               offline_message: {
+                       type: DataTypes.STRING,
+                       defaultValue: '<strong>We\'re not online.<\/strong><br \/>It doesn\'t mean we\'re not there to help - leave your message below and we\'ll be in touch as soon as possible.'
+               },
+               enquiry_message_placeholder: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'Your message...'
+               },
+               enquiry_button: {
+                       type: DataTypes.STRING,
+                       defaultValue: 'Leave message'
+               },
+               download_transcript: {
+                       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);
+               }
+       });
+
+       return ChatWebsite;
+};