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;
|