Listory/src/music-library/track.entity.ts

31 lines
632 B
TypeScript
Raw Normal View History

2020-02-02 19:21:58 +01:00
import {
Column,
Entity,
JoinTable,
ManyToMany,
ManyToOne,
2020-05-02 17:17:20 +02:00
PrimaryGeneratedColumn,
2020-02-02 19:21:58 +01:00
} from "typeorm";
2020-09-05 21:07:05 +02:00
import { SpotifyLibraryDetails } from "../sources/spotify/spotify-library-details.entity";
2020-02-02 19:21:58 +01:00
import { Album } from "./album.entity";
import { Artist } from "./artist.entity";
@Entity()
export class Track {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column()
name: string;
2021-05-25 18:12:42 +02:00
@ManyToOne(() => Album, (album) => album.tracks)
album?: Album;
2020-02-02 19:21:58 +01:00
2021-05-25 18:12:42 +02:00
@ManyToMany(() => Artist)
2020-05-03 20:18:42 +02:00
@JoinTable({ name: "track_artists" })
artists?: Artist[];
2020-02-02 19:21:58 +01:00
2021-05-25 18:12:42 +02:00
@Column(() => SpotifyLibraryDetails)
2020-02-02 19:21:58 +01:00
spotify?: SpotifyLibraryDetails;
}