From 556f9c99278d855bfccfb273dc523b51ba40ceba Mon Sep 17 00:00:00 2001 From: Phill Pover Date: Mon, 7 Apr 2025 07:09:13 +0100 Subject: [PATCH] Removing due to circular dependency --- backend/src/album/album.entity.ts | 2 -- .../middleware/uniqueAlbumTitle.middleware.ts | 32 ------------------- backend/src/song/song.entity.ts | 2 +- 3 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 backend/src/album/middleware/uniqueAlbumTitle.middleware.ts diff --git a/backend/src/album/album.entity.ts b/backend/src/album/album.entity.ts index e81cbc3..473a51a 100644 --- a/backend/src/album/album.entity.ts +++ b/backend/src/album/album.entity.ts @@ -1,6 +1,5 @@ import { Entity, Column, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; import { IsNotEmpty, IsString } from 'class-validator'; -import { AlbumTitleUnique } from './middleware/uniqueAlbumTitle.middleware'; import { Song } from '../song/song.entity'; @Entity() @@ -11,7 +10,6 @@ export class Album { @Column() @IsString() @IsNotEmpty() - @AlbumTitleUnique() title: string @Column() diff --git a/backend/src/album/middleware/uniqueAlbumTitle.middleware.ts b/backend/src/album/middleware/uniqueAlbumTitle.middleware.ts deleted file mode 100644 index c69efd1..0000000 --- a/backend/src/album/middleware/uniqueAlbumTitle.middleware.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { registerDecorator, ValidationOptions, ValidatorConstraint, ValidatorConstraintInterface } from 'class-validator'; -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; - -@ValidatorConstraint({ async: true }) -export class UniqueAlbumTitle implements ValidatorConstraintInterface { - constructor(@InjectRepository(Album) - private albumRepository: Repository -) {} - - validate(albumTitle: string) { - return this.albumRepository.findOneBy({ - where: { - id: title - }).then((albumTitle) => { - return albumTitle === undefined; - }); - } -} - -export function AlbumTitleUnique(validationOptions?: ValidationOptions) { - return function (object: object, propertyName: string) { - registerDecorator({ - target: object.constructor, - propertyName: propertyName, - options: validationOptions, - constraints: [], - validator: AlbumTitleUnique, - }); - }; -} diff --git a/backend/src/song/song.entity.ts b/backend/src/song/song.entity.ts index 37e3eab..c356fe6 100644 --- a/backend/src/song/song.entity.ts +++ b/backend/src/song/song.entity.ts @@ -1,6 +1,6 @@ import { Entity, Column, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; import { IsNotEmpty, IsNumber, IsString } from 'class-validator'; -import { Album } from '../album/album.entity'; +import { Album } from '@/album/album.entity'; @Entity() export class Song {