29 lines
585 B
JavaScript
29 lines
585 B
JavaScript
|
import {
|
||
|
DataTypes,
|
||
|
sequelize,
|
||
|
} from '../sequelize';
|
||
|
import randomstring from 'randomstring';
|
||
|
|
||
|
const Team = sequelize.define('team', {
|
||
|
id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true },
|
||
|
name: DataTypes.STRING,
|
||
|
secret: { type: DataTypes.STRING, unique: true },
|
||
|
userId: {
|
||
|
type: DataTypes.UUID,
|
||
|
allowNull: false,
|
||
|
references: {
|
||
|
model: 'users',
|
||
|
},
|
||
|
},
|
||
|
}, {
|
||
|
tableName: 'apiKeys',
|
||
|
paranoid: true,
|
||
|
hooks: {
|
||
|
beforeValidate: (key) => {
|
||
|
key.secret = randomstring.generate(38);
|
||
|
},
|
||
|
},
|
||
|
});
|
||
|
|
||
|
export default Team;
|