2020-07-21 13:20:51 +00:00
|
|
|
import {BaseEntity, Column, Entity, JoinTable, ManyToMany, OneToOne, PrimaryGeneratedColumn} from "typeorm";
|
|
|
|
|
|
|
|
import {AclRule} from "./AclRule";
|
|
|
|
import {User} from "./User";
|
|
|
|
|
|
|
|
@Entity({name: 'groups'})
|
|
|
|
export class Group extends BaseEntity {
|
|
|
|
|
|
|
|
@PrimaryGeneratedColumn()
|
|
|
|
public id: number;
|
|
|
|
|
2023-05-23 19:17:28 +00:00
|
|
|
@Column({type: String})
|
2020-07-21 13:20:51 +00:00
|
|
|
public name: string;
|
|
|
|
|
|
|
|
@ManyToMany(type => User)
|
|
|
|
@JoinTable({
|
|
|
|
name: 'group_users',
|
|
|
|
joinColumn: {name: 'group_id'},
|
|
|
|
inverseJoinColumn: {name: 'user_id'}
|
|
|
|
})
|
|
|
|
public memberUsers: User[];
|
|
|
|
|
|
|
|
@ManyToMany(type => Group)
|
|
|
|
@JoinTable({
|
|
|
|
name: 'group_groups',
|
|
|
|
joinColumn: {name: 'group_id'},
|
|
|
|
inverseJoinColumn: {name: 'subgroup_id'}
|
|
|
|
})
|
|
|
|
public memberGroups: Group[];
|
|
|
|
|
|
|
|
@OneToOne(type => AclRule, aclRule => aclRule.group)
|
|
|
|
public aclRule: AclRule;
|
|
|
|
}
|