Built motion from commit d415888.|0.0.73
[motion.git] / server / models / salesforce_account.js
1 'use strict';
2
3 module.exports = function(sequelize, DataTypes) {
4   return sequelize.define('SalesforceAccount', {
5     name: DataTypes.STRING,
6     description: DataTypes.STRING,
7     username: {
8       type: DataTypes.STRING,
9       unique: true
10     },
11     remoteUri: DataTypes.STRING,
12     password: DataTypes.STRING,
13     clientId: DataTypes.STRING,
14     clientSecret: DataTypes.STRING,
15     securityToken: DataTypes.STRING
16   }, {
17     tableName: 'salesforce_accounts',
18     associate: function(models) {
19       models.SalesforceAccount.hasMany(models.SalesforceConfiguration, {
20         as: 'Configurations',
21         foreignKey: 'AccountId'
22       });
23       models.SalesforceAccount.addScope('configurations', {
24         include: [{
25           model: models.SalesforceConfiguration,
26           as: 'Configurations',
27           required: false,
28           attributes: ['id', 'name']
29         }]
30       });
31     }
32   });
33 };