Skip to content

Commit 8b4a455

Browse files
committed
refactor: LibraryItemDto2
1 parent da682b2 commit 8b4a455

File tree

5 files changed

+17
-38
lines changed

5 files changed

+17
-38
lines changed

backend/src/user-data/library/library.controller.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {
2020
PaginationParamsDto,
2121
SuccessResponseDto,
2222
} from 'src/common/common.dto';
23-
import { LibraryItemDto2 } from './library.dto';
23+
import { LibraryItemDto } from './library.dto';
2424
import { LibraryService } from './library.service';
2525

2626
@ApiTags('users')
@@ -30,11 +30,11 @@ export class LibraryController {
3030
constructor(private libraryService: LibraryService) {}
3131

3232
@Get()
33-
@PaginatedApiOkResponse(LibraryItemDto2)
33+
@PaginatedApiOkResponse(LibraryItemDto)
3434
async getLibraryItems(
3535
@GetPaginationParams() pagination: PaginationParamsDto,
3636
@Param('userId') userId: string,
37-
): Promise<PaginatedResponseDto<LibraryItemDto2>> {
37+
): Promise<PaginatedResponseDto<LibraryItemDto>> {
3838
// const user = await this.userService.findOne(userId);
3939

4040
const items = await this.libraryService.getLibraryItemDtos(

backend/src/user-data/library/library.dto.ts

+4-25
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,8 @@
11
import { ApiProperty, PickType } from '@nestjs/swagger';
2-
import { MovieDto } from 'src/metadata/metadata.dto';
2+
import { MediaType } from 'src/common/common.dto';
33
import { MovieMetadata, SeriesMetadata } from 'src/metadata/metadata.entity';
4+
import { TmdbMovie, TmdbSeries } from 'src/metadata/tmdb/tmdb.dto';
45
import { LibraryItem } from './library.entity';
5-
import {
6-
TmdbMovie,
7-
TmdbMovieFull,
8-
TmdbSeries,
9-
} from 'src/metadata/tmdb/tmdb.dto';
10-
import { MediaType } from 'src/common/common.dto';
11-
12-
export class LibraryItemDto extends PickType(LibraryItem, [
13-
'tmdbId',
14-
'mediaType',
15-
'playStates',
16-
'createdAt',
17-
]) {
18-
@ApiProperty({ type: MovieDto, required: false })
19-
movieMetadata?: MovieDto;
20-
21-
@ApiProperty({ type: SeriesMetadata, required: false })
22-
seriesMetadata?: SeriesMetadata;
23-
24-
@ApiProperty({ required: false })
25-
watched?: boolean;
26-
}
276

287
class NextEpisodeToAir {
298
@ApiProperty({ required: false })
@@ -56,7 +35,7 @@ class Season {
5635
vote_average?: number;
5736
}
5837

59-
export class LibraryItemDto2
38+
export class LibraryItemDto
6039
extends PickType(LibraryItem, [
6140
'tmdbId',
6241
'mediaType',
@@ -113,7 +92,7 @@ export class LibraryItemDto2
11392
libraryItem: LibraryItem;
11493
movieMetadata?: MovieMetadata;
11594
seriesMetadata?: SeriesMetadata;
116-
}): LibraryItemDto2 {
95+
}): LibraryItemDto {
11796
const { libraryItem, movieMetadata, seriesMetadata } = options;
11897

11998
if (!movieMetadata && !seriesMetadata) {

backend/src/user-data/library/library.service.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
22
import { MediaType, PaginationParamsDto } from 'src/common/common.dto';
33
import { MetadataService } from 'src/metadata/metadata.service';
44
import { Repository } from 'typeorm';
5-
import { LibraryItemDto2 } from './library.dto';
5+
import { LibraryItemDto } from './library.dto';
66
import { LibraryItem } from './library.entity';
77
import { USER_LIBRARY_REPOSITORY } from './library.providers';
88

@@ -17,7 +17,7 @@ export class LibraryService {
1717
async getLibraryItemDtos(
1818
userId: string,
1919
pagination: PaginationParamsDto,
20-
): Promise<LibraryItemDto2[]> {
20+
): Promise<LibraryItemDto[]> {
2121
const items = await this.getLibraryItems(userId, pagination);
2222

2323
return Promise.all(
@@ -31,7 +31,7 @@ export class LibraryService {
3131
? await this.metadataService.getMovieByTmdbId(item.tmdbId)
3232
: undefined;
3333

34-
return LibraryItemDto2.create({
34+
return LibraryItemDto.create({
3535
libraryItem: item,
3636
seriesMetadata,
3737
movieMetadata,

src/lib/apis/reiverr/reiverr.openapi.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ export interface Season {
529529
vote_average?: number;
530530
}
531531

532-
export interface LibraryItemDto2 {
532+
export interface LibraryItemDto {
533533
tmdbId: string;
534534
mediaType: 'Movie' | 'Series' | 'Episode';
535535
playStates?: PlayStateDto[];
@@ -1033,7 +1033,7 @@ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDa
10331033
getLibraryItems: (userId: string, params: RequestParams = {}) =>
10341034
this.request<
10351035
PaginatedResponseDto & {
1036-
items: LibraryItemDto2[];
1036+
items: LibraryItemDto[];
10371037
},
10381038
any
10391039
>({

src/lib/pages/LibraryPage/LibraryPage.svelte

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import type { LibraryItemDto2 } from '$lib/apis/reiverr/reiverr.openapi';
2+
import type { LibraryItemDto } from '$lib/apis/reiverr/reiverr.openapi';
33
import Button from '$lib/components/Button.svelte';
44
import Carousel from '$lib/components/Carousel/Carousel.svelte';
55
import Container from '$lib/components/Container.svelte';
@@ -33,9 +33,9 @@
3333
[sortedLibraryItems, libraryViewSettings],
3434
([items, viewSettings]) => {
3535
let categorizedItems = {
36-
upcoming: [] as LibraryItemDto2[],
37-
main: [] as LibraryItemDto2[],
38-
watched: [] as LibraryItemDto2[]
36+
upcoming: [] as LibraryItemDto[],
37+
main: [] as LibraryItemDto[],
38+
watched: [] as LibraryItemDto[]
3939
};
4040
4141
if (!viewSettings.separateUpcoming && !viewSettings.separateWatched) {
@@ -80,7 +80,7 @@
8080
);
8181
8282
function sortItems(
83-
items: LibraryItemDto2[] | undefined,
83+
items: LibraryItemDto[] | undefined,
8484
viewSettings: LibraryViewSettings,
8585
category: 'all' | 'series' | 'movies'
8686
) {

0 commit comments

Comments
 (0)