import {Entity, Column, OneToMany, PrimaryGeneratedColumn, Generated} from 'typeorm'; import { IsNotEmpty, IsString, IsOptional } from 'class-validator'; import { Song } from '../song/song.entity'; import { UUID } from 'crypto'; @Entity('album') export class Album { @PrimaryGeneratedColumn() @Generated("uuid") uuid: UUID; @Column({ unique: true }) @IsString() @IsNotEmpty() title: string; @Column() @IsString() @IsNotEmpty() artist: string; @Column() @IsString() @IsNotEmpty() genre: string; @IsOptional() @OneToMany(() => Song, (song) => song.album, { eager: true, onDelete: 'CASCADE', }) songs: Song[]; }