Built motion from commit 7afcba0.|0.0.74
[motion.git] / server / models / int_zendesk_configuration.js
1 'use strict';
2
3 module.exports = function(sequelize, DataTypes) {
4
5   var ZendeskConfiguration = sequelize.define('ZendeskConfiguration', {
6     name: DataTypes.STRING,
7     description: DataTypes.STRING
8   }, {
9     tableName: 'int_zendesk_configurations',
10     associate: function(models) {
11       ZendeskConfiguration.belongsTo(models.ZendeskAccount, {
12         foreignKey: 'AccountId'
13       });
14       ZendeskConfiguration.addScope('account', function(AccountId) {
15         return {
16           where: {
17             AccountId: AccountId
18           },
19           include: [{
20             all: true
21           }]
22         }
23       });
24       ZendeskConfiguration.hasMany(models.ZendeskField, {
25         as: 'Subject',
26         foreignKey: 'SubjectId'
27       });
28       ZendeskConfiguration.hasMany(models.ZendeskField, {
29         as: 'Description',
30         foreignKey: 'DescriptionId'
31       });
32       ZendeskConfiguration.hasMany(models.ZendeskField, {
33         as: 'Field',
34         foreignKey: 'FieldId'
35       });
36       ZendeskConfiguration.belongsToMany(models.Tag, {
37         through: 'zendesk_configuration_has_tags'
38       });
39     }
40   });
41
42   return ZendeskConfiguration;
43
44 };