Вложенные типы в sequelize nest.js

Рейтинг: 0Ответов: 0Опубликовано: 26.01.2023

Пишу облачное хранилище. Фреймворк Nest.js, база данных postgresql, orm sequelize.

По функционалу есть возможность создавать папки, а в них вкладывать файлы. Файлы и папки в бд описываю по единой модели. Проблема в том, что я не совсем понимаю, как правильно описывать в модели наличие вложенных файлов в папку.

Код модели:

@Table({tableName: "File"})
export class File extends Model<File, FileCreationAttrs> {
@Column({type: DataType.INTEGER, unique: true, autoIncrement: true, primaryKey: true})
id: number;

@Column({type: DataType.STRING, allowNull: false})
name: string;

@Column({type: DataType.STRING})
accessLink: string;

@Column({type: DataType.INTEGER, allowNull: false, defaultValue: 0})
size: number;

@Column({type: DataType.STRING, allowNull: false, defaultValue: ''})
path: string;

@ForeignKey(() => User)
@Column({type: DataType.INTEGER})
userId: number;

@BelongsTo(() => User)
owner: User;
}

Тут же надо описать поле children, которое и будет отвечать за связь родительской папки с дочерними файлами и папками. То есть по сути это должно быть поле типа File[].

Если кто-то знает, как можно это грамотно сделать, подскажите, пожалуйста.

Ответы

Ответов пока нет.