// @flow import { DataTypes, sequelize } from '../sequelize'; import Collection from './Collection'; const Team = sequelize.define( 'team', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, }, name: DataTypes.STRING, slackId: { type: DataTypes.STRING, allowNull: true }, slackData: DataTypes.JSONB, }, { indexes: [ { unique: true, fields: ['slackId'], }, ], } ); Team.associate = models => { Team.hasMany(models.Collection, { as: 'collections' }); Team.hasMany(models.Document, { as: 'documents' }); Team.hasMany(models.User, { as: 'users' }); }; Team.prototype.createFirstCollection = async function(userId) { const atlas = await Collection.create({ name: this.name, description: 'Your first Collection', type: 'atlas', teamId: this.id, creatorId: userId, }); return atlas; }; export default Team;