import { Application } from 'egg';import * as uuidv4 from 'uuid/v4';/** 用户资料表,修改邮箱和手机号时,需要同步到userAuth表 */export default function(app: Application) {  const { STRING, BOOLEAN, DATE, UUID, ARRAY } = app.Sequelize;  const tableName = 'user';  const User = app.model.define(    tableName,    {      id: {        type: UUID,        unique: true,        primaryKey: true,        allowNull: false,        defaultValue: () => {          return uuidv4().replace(/-/g, '');        },      },      username: {        type: STRING(32),        unique: true,        allowNull: false,        comment: '用户名',      },      password: {        type: STRING(255),        allowNull: false,        comment: '密码',      },      email: {        type: STRING(64),        unique: true,        allowNull: true,        comment: '邮箱地址',      },      phone: {        type: STRING(20),        unique: true,        allowNull: true,        comment: '手机号码',      },      avatar: {        type: STRING(150),        allowNull: true,        comment: '头像',      },      alias: {        type: STRING(30),        comment: '别名',      },      realName: {        type: STRING(30),        allowNull: true,        comment: '真实姓名',      },      signature: {        type: STRING(255),        allowNull: true,        comment: '签名',      },      status: {        type: BOOLEAN,        allowNull: false,        defaultValue: 1,        comment: '用户状态: 1 正常; 0 禁用',      },      lastActivedAt: DATE,      createdAt: DATE,      updatedAt: DATE,    },    {      tableName,      comment: '用户表',      timestamps: true,      underscored: false,    }  );  class UserModal extends User {    id: string;    username: string;    email: string;    phone: string;    avatar: string;    alias: string;    realName: string;    signature: string;    status: boolean;    roles: any[];    lastActivedAt: number;    static associate() {      app.model.User.hasMany(app.model.UserAuth, { as: 'userAuths', sourceKey: 'id', foreignKey: 'userId' });      app.model.User.belongsToMany(app.model.Role, { as: 'roles', through: app.model.UserRoleRelation, foreignKey: 'userId' });    }  }  return UserModal;}