import { PrimaryGeneratedColumn, Column, OneToMany, Entity, ManyToOne } from "typeorm"; import { IsInt, IsNotEmpty, IsOptional, IsString, } from "class-validator"; import { Permission } from "./Permission"; /** * Defines the UserGroup interface. */ @Entity() export abstract class UserGroup { /** * Autogenerated unique id (primary key). */ @PrimaryGeneratedColumn() @IsOptional() @IsInt() id: number; /** * permissions */ @ManyToOne(() => Permission, permission => permission.groups, { nullable: true }) permissions: Permission[]; /** * The group's name */ @Column() @IsNotEmpty() @IsString() name: string; /** * The group's description */ @Column({nullable: true}) @IsOptional() @IsString() description?: string; }