music-collection/backend/src/song/song.entity.ts
Phill Pover 4996a573dc
Some checks failed
Music Collection CI Workflow / test (./backend) (push) Successful in 29s
Music Collection CI Workflow / test (./frontend) (push) Successful in 35s
Music Collection CI Workflow / deploy (push) Has been cancelled
Music Collection CI Workflow / build-and-push-images (./frontend/Dockerfile, git.anatid.net/tabris/music-collection-frontend, ./frontend) (push) Has been cancelled
Music Collection CI Workflow / build-and-push-images (./backend/Dockerfile, git.anatid.net/tabris/music-collection-backend, ./backend) (push) Has been cancelled
Bringing back lint
2025-04-07 08:26:20 +01:00

26 lines
536 B
TypeScript

import { Entity, Column, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { IsNotEmpty, IsNumber, IsString } from 'class-validator';
import { Album } from '../album/album.entity';
@Entity('song')
export class Song {
@PrimaryGeneratedColumn()
id: number;
@Column({ unique: true })
@IsString()
@IsNotEmpty()
title: string;
@Column()
@IsNumber()
duration: number;
@Column()
@IsNumber()
trackNumber: number;
@ManyToOne(() => Album, (album) => album.songs, { onDelete: 'CASCADE' })
album: Album;
}