6282ad3118890adc0a223ed6abb1fbf10584c7e2
[motion.git] / server / models / int_freshdesk_account.js
1 'use strict';
2
3 module.exports = function(sequelize, DataTypes) {
4   return sequelize.define('FreshdeskAccount', {
5     name: DataTypes.STRING,
6     description: DataTypes.STRING,
7     username: {
8       type: DataTypes.STRING,
9       unique: true
10     },
11     remoteUri: {
12       type: DataTypes.STRING,
13       unique: true
14     },
15     apiKey: DataTypes.STRING
16   }, {
17     tableName: 'int_freshdesk_accounts',
18     associate: function(models) {
19       models.FreshdeskAccount.hasMany(models.FreshdeskConfiguration, {
20         as: 'Configurations',
21         foreignKey: 'AccountId'
22       });
23       models.FreshdeskAccount.addScope('configurations', {
24         include: [{
25           model: models.FreshdeskConfiguration,
26           as: 'Configurations',
27           required: false,
28           attributes: ['id', 'name']
29         }]
30       });
31     }
32   });
33 };