homemanager-be/src/objects/group/group.entity.ts

45 lines
871 B
TypeScript

import { ApiProperty } from '@nestjs/swagger';
import {
Column,
CreateDateColumn,
Entity,
JoinTable,
ManyToMany,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm';
import { Building } from '../building/entities/building.entity';
import { User } from '../user/user.entity';
@Entity()
export class Group {
@ApiProperty()
@PrimaryGeneratedColumn()
id: number;
@ApiProperty()
@Column()
name: string;
@ApiProperty()
@Column()
color: string;
@ApiProperty()
@CreateDateColumn()
createdAt: Date;
@ApiProperty()
@UpdateDateColumn()
updatedAt: Date;
@ApiProperty({ type: User, isArray: true })
@ManyToMany(() => User, (member) => member.groups)
@JoinTable()
members: User[];
@ApiProperty({ type: Building, isArray: true })
@ManyToMany(() => Building, (building) => building.groups)
buildings: Building[];
}