From ad0d197105121bdb2281cd155e5779ddec1bc3ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20T=C3=B6lle?= Date: Sun, 12 Jul 2020 15:00:02 +0200 Subject: [PATCH] refactor(server): do not export listen repository to outside modules --- src/listens/listens.module.ts | 2 +- src/listens/listens.service.ts | 6 +++++- src/reports/reports.service.ts | 9 +++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/listens/listens.module.ts b/src/listens/listens.module.ts index 6571bed..870ff82 100644 --- a/src/listens/listens.module.ts +++ b/src/listens/listens.module.ts @@ -7,7 +7,7 @@ import { ListensService } from "./listens.service"; @Module({ imports: [TypeOrmModule.forFeature([ListenRepository])], providers: [ListensService], - exports: [ListensService, TypeOrmModule], + exports: [ListensService], controllers: [ListensController], }) export class ListensModule {} diff --git a/src/listens/listens.service.ts b/src/listens/listens.service.ts index 589f503..04cbdf3 100644 --- a/src/listens/listens.service.ts +++ b/src/listens/listens.service.ts @@ -8,7 +8,7 @@ import { import { CreateListenDto } from "./dto/create-listen.dto"; import { GetListensDto } from "./dto/get-listens.dto"; import { Listen } from "./listen.entity"; -import { ListenRepository } from "./listen.repository"; +import { ListenRepository, ListenScopes } from "./listen.repository"; @Injectable() export class ListensService { @@ -64,4 +64,8 @@ export class ListensService { limit, }); } + + getScopedQueryBuilder(): ListenScopes { + return this.listenRepository.scoped; + } } diff --git a/src/reports/reports.service.ts b/src/reports/reports.service.ts index b0af62c..1c33c2a 100644 --- a/src/reports/reports.service.ts +++ b/src/reports/reports.service.ts @@ -15,7 +15,6 @@ import { startOfDay, sub, } from "date-fns"; -import { ListenRepository } from "../listens/listen.repository"; import { ListensService } from "../listens/listens.service"; import { GetListenReportDto } from "./dto/get-listen-report.dto"; import { GetTopArtistsReportDto } from "./dto/get-top-artists-report.dto"; @@ -63,10 +62,7 @@ const PAGINATION_LIMIT_UNLIMITED = 10000000; @Injectable() export class ReportsService { - constructor( - private readonly listensService: ListensService, - private readonly listenRepository: ListenRepository - ) {} + constructor(private readonly listensService: ListensService) {} async getListens(options: GetListenReportDto): Promise { const { user, timeFrame, timeStart, timeEnd } = options; @@ -112,7 +108,8 @@ export class ReportsService { customTimeEnd, }); - const getArtistsWithCountQB = this.listenRepository.scoped + const getArtistsWithCountQB = this.listensService + .getScopedQueryBuilder() .byUser(user) .duringInterval(interval) .leftJoin("listen.track", "track")