79 lines
1.8 KiB
TypeScript
79 lines
1.8 KiB
TypeScript
import {
|
||
Column,
|
||
CreateDateColumn,
|
||
Entity,
|
||
PrimaryGeneratedColumn,
|
||
UpdateDateColumn,
|
||
} from 'typeorm';
|
||
|
||
/**
|
||
* 使用手册表 manual
|
||
* - 自引用 parentId 实现多级树形结构
|
||
* - type=0 为目录节点(无 content),type=1 为文档节点(有 content)
|
||
*/
|
||
@Entity('manual')
|
||
export class Manual {
|
||
/** 主键ID */
|
||
@PrimaryGeneratedColumn({ type: 'int', unsigned: true })
|
||
id: number;
|
||
|
||
/** 父节点ID,NULL 表示根节点 */
|
||
@Column({
|
||
name: 'parent_id',
|
||
type: 'int',
|
||
unsigned: true,
|
||
nullable: true,
|
||
comment: '父节点ID,NULL=根节点',
|
||
})
|
||
parentId: number | null;
|
||
|
||
/** 标题 */
|
||
@Column({ type: 'varchar', length: 200, comment: '标题' })
|
||
title: string;
|
||
|
||
/** 节点类型:0=目录 1=文档 */
|
||
@Column({
|
||
type: 'tinyint',
|
||
default: 1,
|
||
comment: '类型:0=目录节点 1=文档节点',
|
||
})
|
||
type: number;
|
||
|
||
/** 文档正文(富文本 HTML 或 Markdown;目录节点为 null) */
|
||
@Column({
|
||
type: 'longtext',
|
||
nullable: true,
|
||
comment: '文档正文(目录节点为空)',
|
||
})
|
||
content: string | null;
|
||
|
||
/** 正文格式:html=富文本 markdown=Markdown */
|
||
@Column({
|
||
name: 'content_format',
|
||
type: 'varchar',
|
||
length: 10,
|
||
default: 'html',
|
||
comment: '正文格式:html=富文本 markdown=Markdown',
|
||
})
|
||
contentFormat: 'html' | 'markdown';
|
||
|
||
/** 排序值,越小越靠前 */
|
||
@Column({ type: 'int', default: 0, comment: '排序值' })
|
||
sort: number;
|
||
|
||
/** 是否显示:1显示 0隐藏 */
|
||
@Column({
|
||
name: 'is_show',
|
||
type: 'tinyint',
|
||
default: 1,
|
||
comment: '是否显示 1是0否',
|
||
})
|
||
isShow: number;
|
||
|
||
@CreateDateColumn({ name: 'created_at', type: 'datetime' })
|
||
createdAt: Date;
|
||
|
||
@UpdateDateColumn({ name: 'updated_at', type: 'datetime' })
|
||
updatedAt: Date;
|
||
}
|