Listory/src/music-library
Julian Tölle 8721fd101d
feat: use bulk Spotify API calls & inserts to make spotify crawling more efficient (#271)
* feat(spotify-api): bulk endpoints
* feat(music-library): allow bulk operations
* feat(spotify): bulk track+album+artist+genre import
* feat(spotify): use bulk import api for user crawl
* feat(spotify): bulk listen insert

For the benchmark case of a new user where Listory imports 50 new listens along with all now tracks, artists, albums & genres we significantly reduced the number of things happening:

    Spotify API Requests: 208 => 8
    DB Insert: 96 => 8
    Tracing Spans: 1953 => 66
2023-05-07 02:20:43 +02:00
..
dto feat(api): update existing artists in MusicLibrary 2021-11-21 15:53:49 +01:00
album.entity.ts feat: top genres report 2021-11-21 15:53:49 +01:00
album.repository.ts chore(deps): update typeorm 2022-06-25 16:26:58 +02:00
artist.entity.ts feat(api): update existing artists in MusicLibrary 2021-11-21 15:53:49 +01:00
artist.repository.ts chore(deps): update typeorm 2022-06-25 16:26:58 +02:00
genre.entity.ts feat(server): save genres for artists and albums 2021-05-25 19:23:42 +02:00
genre.repository.ts chore(deps): update typeorm 2022-06-25 16:26:58 +02:00
music-library.module.ts chore(deps): update typeorm 2022-06-25 16:26:58 +02:00
music-library.service.spec.ts chore(deps): update typeorm 2022-06-25 16:26:58 +02:00
music-library.service.ts feat: use bulk Spotify API calls & inserts to make spotify crawling more efficient (#271) 2023-05-07 02:20:43 +02:00
track.entity.ts chore(lint): switch to eslint 2021-05-25 18:12:42 +02:00
track.repository.ts chore(deps): update typeorm 2022-06-25 16:26:58 +02:00