Built motion from commit 1243baf.|0.0.90
[motion.git] / server / models / sms_account.js
1 'use strict';
2
3 module.exports = function(sequelize, DataTypes) {
4   var SmsAccount = sequelize.define('SmsAccount', {
5     name: {
6       type: DataTypes.STRING
7     },
8     description: {
9       type: DataTypes.STRING
10     },
11     type: {
12       type: DataTypes.ENUM('twilio', 'skebby')
13     },
14     smstype: {
15       type: DataTypes.ENUM('basic', 'classic', 'classic+')
16     },
17     remote: DataTypes.STRING,
18     fidelity: {
19       type: DataTypes.BOOLEAN,
20       defaultValue: false
21     },
22     timeout: {
23       type: DataTypes.INTEGER,
24       defaultValue: 0
25     },
26     phone: {
27       // type: DataTypes.INTEGER,
28       // unique: true
29       type: DataTypes.STRING,
30       unique: true,
31       validate: {
32         is: /^[0-9]+$/
33       }
34     },
35     sid: {
36       type: DataTypes.STRING
37     },
38     token: {
39       type: DataTypes.STRING
40     },
41     username: {
42       type: DataTypes.STRING
43     },
44     password: {
45       type: DataTypes.STRING
46     }
47
48   }, {
49     tableName: 'sms_accounts',
50     associate: function(models) {
51       SmsAccount.hasMany(models.SmsRoom);
52       SmsAccount.hasMany(models.SmsApplication, {
53         onDelete: 'cascade'
54       });
55       SmsAccount.hasMany(models.SmsMessage);
56       // SCOPES
57
58     }
59   });
60   return SmsAccount;
61 };