/** 数据大屏 */
@skipComponent(controllerTest-listPage-listComponent-updateComponent-clientService)
@importData
@editInModal
@extendAbstractAuditingEntity
@listBy(list)
entity BigScreen {
	/** 大屏标题 */
	title String
	/** 大屏背景 */
	backgroundUrl String
	/** 发布密码 */
	password String
	/** 发布状态 */
	published Boolean
}

/**
 * Many to one relationship.
 */
relationship ManyToOne {

	/** 创建部门 */
	BigScreen{department(name)}
	to
	Department

}

/**
 * One to many relationship.
 */
relationship OneToMany {
	/** 大屏列表 */
	BigScreenCategory{bigScreens(title)}
	to
	/** 所属分类 */
	BigScreen{category(categoryValue)}
}

/** 可视化分类表 */
@importData
@editInModal
@extendAbstractAuditingEntity
entity BigScreenCategory {
	/** 分类键值 */
	categoryKey String maxlength(12)
	/** 分类名称 */
	categoryValue String maxlength(64)
}

/** 可视化配置表 */
@skipMenu
@importData
@extendAbstractAuditingEntity
entity BigScreenConfig {
	/** 配置json */
	detailJson TextBlob
	/** 组件json */
	componentJson TextBlob
}

relationship OneToOne {
	BigScreenConfig{bigScreen(title)} to BigScreen with jpaDerivedIdentifier
}
/** 可视化地图配置表 */
@importData
@editInModal
@extendAbstractAuditingEntity
entity BigScreenMap {
	name String maxlength(255) /** 地图名称 */
	@endUsed(codeEditor)
	data TextBlob /** 地图数据 */
}

filter *
service all with serviceClass
clientRootFolder BigScreen, BigScreenCategory, BigScreenConfig, BigScreenMap with report
dto BigScreen, BigScreenCategory, BigScreenConfig, BigScreenMap with mapstruct
paginate BigScreen, BigScreenCategory, BigScreenConfig, BigScreenMap with pagination
