import { sequelize } from '../modules/sequelize.ts'; import { DataTypes, Model } from 'sequelize'; export type RouterCode = { id: string; path: string; key: string; active: boolean; project: string; code: string; type: RouterCodeType; }; export enum RouterCodeType { route = 'route', middleware = 'middleware', } export class RouterCodeModel extends Model { declare id: string; declare path: string; declare key: string; declare active: boolean; declare project: string; declare code: string; declare type: RouterCodeType; } RouterCodeModel.init( { id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4, comment: '用户id', }, path: { type: DataTypes.STRING, allowNull: false, }, key: { type: DataTypes.STRING, allowNull: false, }, active: { type: DataTypes.BOOLEAN, defaultValue: false, }, project: { type: DataTypes.STRING, defaultValue: 'default', }, code: { type: DataTypes.STRING, defaultValue: '', }, type: { type: DataTypes.ENUM(RouterCodeType.route, RouterCodeType.middleware), defaultValue: RouterCodeType.route, }, middleware: { type: DataTypes.ARRAY(DataTypes.STRING), defaultValue: [], }, next: { type: DataTypes.STRING, defaultValue: '', }, }, { sequelize, tableName: 'cf_router_code', }, ); // RouterCodeModel.sync({ alter: true }); // RouterCodeModel.sync({force: true});