Built motion from commit d415888.|0.0.73
[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   }, {
23     tableName: 'int_zendesk_accounts',
24     associate: function(models) {
25       ZendeskAccount.hasMany(models.ZendeskConfiguration, {
26         as: 'Configurations',
27         foreignKey: 'AccountId'
28       });
29       ZendeskAccount.addScope('configurations', {
30         include: [{
31           model: models.ZendeskConfiguration,
32           as: 'Configurations',
33           required: false,
34           attributes: ['id', 'name']
35         }]
36       });
37     }
38   });
39
40   return ZendeskAccount;
41
42 };