Built motion from commit 95b01fa.|0.0.70
[motion.git] / server / models / chat_visitor.js
1 /**
2  * Chat Website Model
3  */
4
5 var crypto = require('crypto');
6
7 module.exports = function(sequelize, DataTypes) {
8
9         var ChatVisitor = sequelize.define('ChatVisitor', {
10                 fullname: DataTypes.STRING,
11                 email: DataTypes.STRING,
12                 remote_address: {
13                         type: DataTypes.STRING
14                 },
15                 user_agent: DataTypes.STRING,
16                 visitor_language: DataTypes.STRING,
17                 referer: DataTypes.STRING,
18                 browser: DataTypes.STRING,
19                 engine: DataTypes.STRING,
20                 os: 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'),
28                 status: {
29                         type: DataTypes.ENUM('pending', 'accepted', 'unserved', 'served', 'blacklist', 'abandon'),
30                         defaultValue: 'pending'
31                 },
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
44         }, {
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);
51                 }
52         });
53
54         return ChatVisitor;
55 };