Skip to content

Commit 19689cb

Browse files
committed
chore: add tsc-alias and update package dependencies for improved TypeScript support
1 parent 305c3b8 commit 19689cb

5 files changed

Lines changed: 115 additions & 1 deletion

File tree

package-lock.json

Lines changed: 93 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"scripts": {
99
"prebuild": "rimraf dist",
1010
"build": "nest build",
11+
"postbuild": "tsc-alias",
1112
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
1213
"start": "nest start",
1314
"start:dev": "nest start --watch",
@@ -58,6 +59,7 @@
5859
"ts-jest": "28.0.1",
5960
"ts-loader": "^9.2.3",
6061
"ts-node": "^10.0.0",
62+
"tsc-alias": "^1.8.16",
6163
"tsconfig-paths": "4.0.0",
6264
"typescript": "^5.9.3"
6365
},

src/app.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler';
1111
import { APP_GUARD } from '@nestjs/core/constants';
1212
import { CacheService } from '@Utils/cache/services/cache.service';
1313
import { PrismaModule } from '@Prisma/prisma.module';
14+
import { TrackRepository } from '@Tracks/repositories/track.repository';
1415

1516
@Module({
1617
imports: [
@@ -32,6 +33,7 @@ import { PrismaModule } from '@Prisma/prisma.module';
3233
FindTrackIdsByPlaylistIdsService,
3334
FindSimilarTracksService,
3435
FindMinimizedTrackService,
36+
TrackRepository,
3537
CacheService,
3638
ValidateProfileByIdService,
3739
{

src/tracks/services/find-similar-tracks.service.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ import { GetAccessToken } from '@Utils/auth/services/useCases/get-access-token';
66
import { DetailedTrack } from '@Tracks/models/detailed-track.model';
77
import { MinimizedTrack } from '@Tracks/models/minimized-track.model';
88
import { ArtistTracks } from '@Tracks/models/artist-tracks.model';
9+
import { TrackRepository } from '@Tracks/repositories/track.repository';
910

1011
@Injectable()
1112
export class FindSimilarTracksService implements FindSimilarTracks {
1213
url = 'https://api.spotify.com/v1/tracks/';
1314
getAccessTokenService: GetAccessToken;
1415

15-
constructor(getAccessTokenService: GetAccessTokenService) {
16+
constructor(
17+
getAccessTokenService: GetAccessTokenService,
18+
readonly trackRepository: TrackRepository,
19+
) {
1620
this.getAccessTokenService = getAccessTokenService;
1721
}
1822
async find(
@@ -141,6 +145,17 @@ export class FindSimilarTracksService implements FindSimilarTracks {
141145
}
142146
});
143147

148+
await this.trackRepository.createMany(
149+
similarTracks.map((track) => ({
150+
artist: track.artist,
151+
spotifyId: track.href.split('/').pop(),
152+
title: track.track,
153+
album: track.album,
154+
releaseDate: track.releaseDate,
155+
durationMs: track.length,
156+
})),
157+
);
158+
144159
return similarTracks;
145160
}
146161

src/tracks/tests/spy/services/find-similar-tracks.service.spy.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { GetAccessTokenService } from '@Utils/auth/services/get-access-token.service';
22
import { MinimizedTrack } from '@Tracks/models/minimized-track.model';
33
import { FindSimilarTracksService } from '@Tracks/services/find-similar-tracks.service';
4+
import { TrackRepository } from '@Tracks/repositories/track.repository';
45

56
export class FindSimilarTracksServiceSpy implements FindSimilarTracksService {
67
url: string;
78
getAccessTokenService: GetAccessTokenService;
9+
readonly trackRepository: TrackRepository;
810
findCount = 0;
911
findResponse: MinimizedTrack[] = [
1012
{

0 commit comments

Comments
 (0)