Built motion from commit b33b832.|1.0.17
[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: 'username'
10     },
11     remoteUri: {
12       type: DataTypes.STRING,
13       unique: 'remoteUri'
14     },
15     apiKey: DataTypes.STRING,
16     serverUrl: DataTypes.STRING
17   }, {
18     tableName: 'int_freshdesk_accounts',
19     associate: function(models) {
20       models.FreshdeskAccount.hasMany(models.FreshdeskConfiguration, {
21         as: 'Configurations',
22         foreignKey: 'AccountId'
23       });
24       models.FreshdeskAccount.addScope('configurations', {
25         include: [{
26           model: models.FreshdeskConfiguration,
27           as: 'Configurations',
28           required: false,
29           attributes: ['id', 'name']
30         }]
31       });
32     }
33   });
34 };