import { BelongsToGetAssociationMixin, UUIDV4 } from 'sequelize'; import { Association, DataTypes, HasManyAddAssociationMixin, HasManyCountAssociationsMixin, HasManyCreateAssociationMixin, HasManyGetAssociationsMixin, HasManyHasAssociationMixin, HasManySetAssociationsMixin, HasManyAddAssociationsMixin, HasManyHasAssociationsMixin, HasManyRemoveAssociationMixin, HasManyRemoveAssociationsMixin, Model, ModelDefined, Optional, Sequelize, InferAttributes, InferCreationAttributes, CreationOptional, NonAttribute, ForeignKey, } from 'sequelize'; import { UserModel } from '@/model/sequelize/User'; const sequelize = new Sequelize({ dialect: 'sqlite', storage: 'db.sqlite' }); class ResourceModel extends Model, InferCreationAttributes>{ declare id: CreationOptional; declare path: string; declare owner: NonAttribute; declare getOwner: BelongsToGetAssociationMixin; // user_id: number | undefined; createdAt?: Date; updatedAt?: Date; // declare title declare static associations: { owner: Association; }; } ResourceModel.init({ id: { allowNull: false, autoIncrement: false, type: DataTypes.UUID, defaultValue: UUIDV4, primaryKey: true, unique: true, }, path: { type: DataTypes.STRING }, createdAt: { type: DataTypes.DATE }, updatedAt: { type: DataTypes.DATE } },{ sequelize, tableName: 'Resource' }); // export const MResource = sequelize.define( // 'Resource', // { // id: { // allowNull: false, // autoIncrement: false, // type: DataTypes.UUID, // defaultValue: UUIDV4, // primaryKey: true, // unique: true, // }, // path: { // type: DataTypes.STRING, // }, // user_id: { // type: DataTypes.INTEGER, // key: "User" // } // } // ); // UserModel.hasMany(MResource); // ResourceModel.belongsTo(UserModel);