forked from kaverti/website
88 lines
2.6 KiB
JavaScript
88 lines
2.6 KiB
JavaScript
let createDOMPurify = require('dompurify');
|
|
let { JSDOM } = require('jsdom');
|
|
|
|
let window = new JSDOM('').window;
|
|
let DOMPurify = createDOMPurify(window);
|
|
var escaped_str = require('querystring')
|
|
const Errors = require('../lib/errors')
|
|
let pagination = require('../lib/pagination.js')
|
|
|
|
|
|
module.exports = (sequelize, DataTypes) => {
|
|
let TeamMemberRole = sequelize.define('TeamMemberRole', {
|
|
TeamId: {
|
|
type: DataTypes.BIGINT,
|
|
allowNull: false
|
|
},
|
|
RoleId: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role2Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role3Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role4Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role5Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role6Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role7Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role8Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role9Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
Role10Id: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
UserId: {
|
|
type: DataTypes.BIGINT,
|
|
allowNull: false
|
|
},
|
|
createdAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false
|
|
},
|
|
updatedAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false
|
|
}
|
|
})
|
|
TeamMemberRole.associate = function (models) {
|
|
TeamMemberRole.belongsTo(models.User)
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role2'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role3'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role4'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role5'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role6'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role7'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role8'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role9'})
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Role10'})
|
|
|
|
TeamMemberRole.belongsTo(models.TeamRoles, { as: 'Team' })
|
|
}
|
|
TeamMemberRole.includeOptions = function () {
|
|
let models = sequelize.models
|
|
|
|
return [
|
|
{model: models.User, as: 'User', attributes: ['username', 'createdAt', 'id', 'color', 'picture']},
|
|
{model: models.TeamRoles},
|
|
]
|
|
}
|
|
TeamMemberRole.prototype.leaveTeam = function () {
|
|
this.destroy()
|
|
}
|
|
return TeamMemberRole
|
|
}
|