Built motion from commit 95b01fa.|0.0.70
[motion.git] / server / models / team.js
1 /**
2  * User Model
3  */
4
5 var crypto = require('crypto');
6
7 module.exports = function(sequelize, DataTypes) {
8
9   var Team = sequelize.define('Team', {
10     name: {
11       type: DataTypes.STRING,
12       allowNull: false,
13       unique: true
14     },
15     description: {
16       type: DataTypes.STRING
17     },
18     defaultEntry: {
19       type: DataTypes.BOOLEAN,
20       defaultValue: 0
21     }
22   }, {
23     tableName: 'teams',
24     associate: function(models) {
25       Team.belongsToMany(models.User, {
26         through: models.UserHasTeam
27       });
28       Team.addScope('default', {
29         include: [{
30           model: models.User,
31           where: {
32             role: 'agent'
33           },
34           required: false,
35           attributes: ['id', 'name', 'fullname', 'email', 'internal']
36         }]
37       });
38     }
39   });
40
41   return Team;
42 };