Built motion from commit 2239aeb.|0.0.113
[motion.git] / server / models / int_zendesk_account.js
1 'use strict';
2
3 module.exports = function(sequelize, DataTypes) {
4
5   var ZendeskAccount = sequelize.define('ZendeskAccount', {
6     name: DataTypes.STRING,
7     description: DataTypes.STRING,
8     username: {
9       type: DataTypes.STRING,
10       unique: true
11     },
12     password: DataTypes.STRING,
13     token: DataTypes.STRING,
14     remoteUri: {
15       type: DataTypes.STRING,
16       unique: true
17     },
18     authType: {
19       type: DataTypes.ENUM('password', 'token'),
20       defaultValue: 'password'
21     },
22     serverUrl: DataTypes.STRING
23   }, {
24     tableName: 'int_zendesk_accounts',
25     associate: function(models) {
26       ZendeskAccount.hasMany(models.ZendeskConfiguration, {
27         as: 'Configurations',
28         foreignKey: 'AccountId'
29       });
30       ZendeskAccount.addScope('configurations', {
31         include: [{
32           model: models.ZendeskConfiguration,
33           as: 'Configurations',
34           required: false,
35           attributes: ['id', 'name']
36         }]
37       });
38     }
39   });
40
41   return ZendeskAccount;
42
43 };