homemanager-be/src/objects/building/entities/acl.entity.ts

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;
}