mirror of
https://github.com/apricote/Listory.git
synced 2026-02-06 17:57:03 +00:00
refactor(server): do not export listen repository to outside modules
This commit is contained in:
parent
11af91cadb
commit
ad0d197105
3 changed files with 9 additions and 8 deletions
|
|
@ -7,7 +7,7 @@ import { ListensService } from "./listens.service";
|
||||||
@Module({
|
@Module({
|
||||||
imports: [TypeOrmModule.forFeature([ListenRepository])],
|
imports: [TypeOrmModule.forFeature([ListenRepository])],
|
||||||
providers: [ListensService],
|
providers: [ListensService],
|
||||||
exports: [ListensService, TypeOrmModule],
|
exports: [ListensService],
|
||||||
controllers: [ListensController],
|
controllers: [ListensController],
|
||||||
})
|
})
|
||||||
export class ListensModule {}
|
export class ListensModule {}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import {
|
||||||
import { CreateListenDto } from "./dto/create-listen.dto";
|
import { CreateListenDto } from "./dto/create-listen.dto";
|
||||||
import { GetListensDto } from "./dto/get-listens.dto";
|
import { GetListensDto } from "./dto/get-listens.dto";
|
||||||
import { Listen } from "./listen.entity";
|
import { Listen } from "./listen.entity";
|
||||||
import { ListenRepository } from "./listen.repository";
|
import { ListenRepository, ListenScopes } from "./listen.repository";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ListensService {
|
export class ListensService {
|
||||||
|
|
@ -64,4 +64,8 @@ export class ListensService {
|
||||||
limit,
|
limit,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getScopedQueryBuilder(): ListenScopes {
|
||||||
|
return this.listenRepository.scoped;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ import {
|
||||||
startOfDay,
|
startOfDay,
|
||||||
sub,
|
sub,
|
||||||
} from "date-fns";
|
} from "date-fns";
|
||||||
import { ListenRepository } from "../listens/listen.repository";
|
|
||||||
import { ListensService } from "../listens/listens.service";
|
import { ListensService } from "../listens/listens.service";
|
||||||
import { GetListenReportDto } from "./dto/get-listen-report.dto";
|
import { GetListenReportDto } from "./dto/get-listen-report.dto";
|
||||||
import { GetTopArtistsReportDto } from "./dto/get-top-artists-report.dto";
|
import { GetTopArtistsReportDto } from "./dto/get-top-artists-report.dto";
|
||||||
|
|
@ -63,10 +62,7 @@ const PAGINATION_LIMIT_UNLIMITED = 10000000;
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ReportsService {
|
export class ReportsService {
|
||||||
constructor(
|
constructor(private readonly listensService: ListensService) {}
|
||||||
private readonly listensService: ListensService,
|
|
||||||
private readonly listenRepository: ListenRepository
|
|
||||||
) {}
|
|
||||||
|
|
||||||
async getListens(options: GetListenReportDto): Promise<ListenReportDto> {
|
async getListens(options: GetListenReportDto): Promise<ListenReportDto> {
|
||||||
const { user, timeFrame, timeStart, timeEnd } = options;
|
const { user, timeFrame, timeStart, timeEnd } = options;
|
||||||
|
|
@ -112,7 +108,8 @@ export class ReportsService {
|
||||||
customTimeEnd,
|
customTimeEnd,
|
||||||
});
|
});
|
||||||
|
|
||||||
const getArtistsWithCountQB = this.listenRepository.scoped
|
const getArtistsWithCountQB = this.listensService
|
||||||
|
.getScopedQueryBuilder()
|
||||||
.byUser(user)
|
.byUser(user)
|
||||||
.duringInterval(interval)
|
.duringInterval(interval)
|
||||||
.leftJoin("listen.track", "track")
|
.leftJoin("listen.track", "track")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue