mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 00:52:50 +00:00
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { BaseEntity } from "@edr/api-common";
|
|
import { Column, Entity, Index, OneToMany } from "typeorm";
|
|
|
|
import { DropdownOption } from "./dropdown-option.entity";
|
|
|
|
export interface DropdownSettingMeta {
|
|
icon?: string;
|
|
color?: string;
|
|
searchable?: boolean;
|
|
clearable?: boolean;
|
|
permissions?: string[];
|
|
version?: string;
|
|
}
|
|
|
|
@Entity({ name: "dropdown_settings" })
|
|
@Index(["code"], { unique: true })
|
|
export class DropdownSetting extends BaseEntity {
|
|
@Column({ name: "code", type: "varchar", length: 128, unique: true })
|
|
code!: string;
|
|
|
|
@Column({ name: "label", type: "varchar", length: 256 })
|
|
label!: string;
|
|
|
|
@Column({ name: "description", type: "text", nullable: true })
|
|
description?: string | null;
|
|
|
|
@Column({ name: "multiple", type: "boolean", default: false })
|
|
multiple!: boolean;
|
|
|
|
@Column({ name: "meta", type: "jsonb", nullable: true })
|
|
meta?: DropdownSettingMeta | null;
|
|
|
|
@OneToMany(() => DropdownOption, (option) => option.setting, {
|
|
cascade: true,
|
|
})
|
|
children!: DropdownOption[];
|
|
}
|