38 lines
969 B
TypeScript
38 lines
969 B
TypeScript
|
import { ApiProperty } from '@nestjs/swagger';
|
||
|
import { User } from 'src/objects/user/user.entity';
|
||
|
import { Building } from 'src/objects/building/entities/building.entity';
|
||
|
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
|
||
|
import { Group } from 'src/objects/group/group.entity';
|
||
|
import { Access } from 'src/objects/enums/access-control.enum';
|
||
|
|
||
|
@Entity()
|
||
|
export class UserBuildingAccessControl {
|
||
|
@PrimaryGeneratedColumn()
|
||
|
id: number;
|
||
|
|
||
|
@ApiProperty({ type: () => User })
|
||
|
@ManyToOne(() => User, {
|
||
|
onDelete: 'CASCADE',
|
||
|
onUpdate: 'CASCADE',
|
||
|
})
|
||
|
user: User;
|
||
|
|
||
|
@ApiProperty({ type: () => Building })
|
||
|
@ManyToOne(() => Building, {
|
||
|
onDelete: 'CASCADE',
|
||
|
onUpdate: 'CASCADE',
|
||
|
})
|
||
|
building: Building;
|
||
|
|
||
|
@ApiProperty({ type: () => Group })
|
||
|
@ManyToOne(() => Group, {
|
||
|
onDelete: 'CASCADE',
|
||
|
onUpdate: 'CASCADE',
|
||
|
})
|
||
|
group: Group;
|
||
|
|
||
|
@ApiProperty({ enum: Access })
|
||
|
@Column({ type: String })
|
||
|
access: Access;
|
||
|
}
|