5 var crypto = require('crypto');
7 module.exports = function(sequelize, DataTypes) {
9 var ChatVisitor = sequelize.define('ChatVisitor', {
10 fullname: DataTypes.STRING,
11 email: DataTypes.STRING,
13 type: DataTypes.STRING
15 user_agent: DataTypes.STRING,
16 visitor_language: DataTypes.STRING,
17 referer: DataTypes.STRING,
18 browser: DataTypes.STRING,
19 engine: DataTypes.STRING,
21 device: DataTypes.STRING,
22 country: DataTypes.STRING,
23 region: DataTypes.STRING,
24 city: DataTypes.STRING,
25 latitude: DataTypes.STRING,
26 longitude: DataTypes.STRING,
27 origin: DataTypes.ENUM('webchat', 'enquiry'),
29 type: DataTypes.ENUM('pending', 'accepted', 'unserved', 'served', 'blacklist', 'abandon'),
30 defaultValue: 'pending'
32 data1: DataTypes.STRING,
33 data2: DataTypes.STRING,
34 data3: DataTypes.STRING,
35 offlineData1: DataTypes.STRING,
36 offlineData2: DataTypes.STRING,
37 offlineData3: DataTypes.STRING,
38 labelData1: DataTypes.STRING,
39 labelData2: DataTypes.STRING,
40 labelData3: DataTypes.STRING,
41 labelOfflineData1: DataTypes.STRING,
42 labelOfflineData2: DataTypes.STRING,
43 labelOfflineData3: DataTypes.STRING
45 tableName: 'chat_visitors',
46 associate: function(models) {
47 ChatVisitor.hasOne(models.ChatEnquiry);
48 ChatVisitor.hasMany(models.ChatMessage);
49 ChatVisitor.hasMany(models.ChatRoom);
50 ChatVisitor.belongsTo(models.ChatWebsite);