Skip to content

Commit 7b8fd35

Browse files
committed
refactor: mediaType capitalization
1 parent aedb716 commit 7b8fd35

File tree

7 files changed

+73
-34
lines changed

7 files changed

+73
-34
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { MigrationInterface, QueryRunner } from 'typeorm';
2+
3+
export class RenameMediatype1743155964012 implements MigrationInterface {
4+
public async up(queryRunner: QueryRunner): Promise<void> {
5+
queryRunner.query(
6+
`UPDATE library_item SET mediaType = 'movie' WHERE mediaType = 'Movie';`,
7+
);
8+
queryRunner.query(
9+
`UPDATE library_item SET mediaType = 'series' WHERE mediaType = 'Series';`,
10+
);
11+
queryRunner.query(
12+
`UPDATE library_item SET mediaType = 'episode' WHERE mediaType = 'Episode';`,
13+
);
14+
queryRunner.query(
15+
`UPDATE play_state SET mediaType = 'movie' WHERE mediaType = 'Movie';`,
16+
);
17+
queryRunner.query(
18+
`UPDATE play_state SET mediaType = 'series' WHERE mediaType = 'Series';`,
19+
);
20+
queryRunner.query(
21+
`UPDATE play_state SET mediaType = 'episode' WHERE mediaType = 'Episode';`,
22+
);
23+
}
24+
25+
public async down(queryRunner: QueryRunner): Promise<void> {
26+
queryRunner.query(
27+
`UPDATE library_item SET mediaType = 'Movie' WHERE mediaType = 'movie';`,
28+
);
29+
queryRunner.query(
30+
`UPDATE library_item SET mediaType = 'Series' WHERE mediaType = 'series';`,
31+
);
32+
queryRunner.query(
33+
`UPDATE library_item SET mediaType = 'Episode' WHERE mediaType = 'episode';`,
34+
);
35+
queryRunner.query(
36+
`UPDATE play_state SET mediaType = 'Movie' WHERE mediaType = 'movie';`,
37+
);
38+
queryRunner.query(
39+
`UPDATE play_state SET mediaType = 'Series' WHERE mediaType = 'series';`,
40+
);
41+
queryRunner.query(
42+
`UPDATE play_state SET mediaType = 'Episode' WHERE mediaType = 'episode';`,
43+
);
44+
}
45+
}

backend/src/common/common.dto.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ export class SuccessResponseDto {
4949
}
5050

5151
export enum MediaType {
52-
Movie = 'Movie',
53-
Series = 'Series',
54-
Episode = 'Episode',
52+
Movie = 'movie',
53+
Series = 'series',
54+
}
55+
56+
export enum MediaTypeFull {
57+
Movie = 'movie',
58+
Series = 'series',
59+
Episode = 'episode',
5560
}

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

+5-9
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ import {
1919
MediaType,
2020
PaginatedResponseDto,
2121
PaginationParamsDto,
22-
SuccessResponseDto,
22+
SuccessResponseDto
2323
} from 'src/common/common.dto';
2424
import { MediaSourcesService } from 'src/users/media-sources/media-sources.service';
2525
import {
2626
CatalogueFilter,
2727
LibraryItemDto,
28-
MyListSortBy,
2928
MyListFilter,
29+
MyListSortBy,
3030
SortByDirection,
3131
} from './library.dto';
3232
import { LibraryService } from './library.service';
@@ -68,12 +68,7 @@ export class LibraryController {
6868
return {
6969
...response,
7070
items: await Promise.all(
71-
response.items.map((i) =>
72-
this.libraryService.getLibraryItemDto({
73-
...i,
74-
mediaType: i.mediaType === MediaType.Movie ? 'movie' : 'series',
75-
}),
76-
),
71+
response.items.map((i) => this.libraryService.getLibraryItemDto(i)),
7772
),
7873
};
7974
}
@@ -111,7 +106,8 @@ export class LibraryController {
111106
async addLibraryItem(
112107
@Param('userId') userId: string,
113108
@Param('tmdbId') tmdbId: string,
114-
@Query('mediaType', new ParseEnumPipe(MediaType)) mediaType: MediaType,
109+
@Query('mediaType', new ParseEnumPipe(MediaType))
110+
mediaType: MediaType,
115111
): Promise<SuccessResponseDto> {
116112
const item = await this.libraryService.findOrCreateByTmdbId(
117113
userId,

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { ApiProperty } from '@nestjs/swagger';
22
import { MediaType } from 'src/common/common.dto';
3+
import { MovieMetadata, SeriesMetadata } from 'src/metadata/metadata.entity';
34
import { User } from 'src/users/user.entity';
45
import {
56
Column,
@@ -13,9 +14,8 @@ import {
1314
Unique,
1415
UpdateDateColumn,
1516
} from 'typeorm';
16-
import { PlayState } from '../play-state/play-state.entity';
1717
import { PlayStateDto } from '../play-state/play-state.dto';
18-
import { MovieMetadata, SeriesMetadata } from 'src/metadata/metadata.entity';
18+
import { PlayState } from '../play-state/play-state.entity';
1919

2020
@Entity()
2121
@Unique(['tmdbId', 'userId'])

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

+5-12
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@ import {
55
PaginationParamsDto,
66
} from 'src/common/common.dto';
77
import { MetadataService } from 'src/metadata/metadata.service';
8+
import { MediaSourcesService } from 'src/users/media-sources/media-sources.service';
89
import { Repository } from 'typeorm';
10+
import { PlayState } from '../play-state/play-state.entity';
911
import {
1012
LibraryItemDto,
11-
MyListSortBy,
1213
MyListFilter,
14+
MyListSortBy,
1315
SortByDirection,
1416
} from './library.dto';
1517
import { LibraryItem } from './library.entity';
1618
import { USER_LIBRARY_REPOSITORY } from './library.providers';
17-
import { SourceProvidersService } from 'src/source-providers/source-providers.service';
18-
import { MediaSourcesService } from 'src/users/media-sources/media-sources.service';
19-
import { PlayState } from '../play-state/play-state.entity';
2019

2120
@Injectable()
2221
export class LibraryService {
@@ -114,7 +113,7 @@ export class LibraryService {
114113
};
115114
}
116115

117-
async getCatalogueItems<T extends object = object>(options: {
116+
async getCatalogueItems(options: {
118117
sourceId: string;
119118
token: string;
120119
pagination: PaginationParamsDto;
@@ -211,13 +210,7 @@ export class LibraryService {
211210
return {
212211
...response,
213212
items: await Promise.all(
214-
response.items.map(async (item) =>
215-
this.getLibraryItemDto({
216-
...item,
217-
mediaType:
218-
item.mediaType === MediaType.Movie ? 'movie' : 'series',
219-
}),
220-
),
213+
response.items.map((item) => this.getLibraryItemDto(item)),
221214
),
222215
};
223216
}

backend/src/user-data/play-state/play-state.entity.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
UpdateDateColumn,
1111
} from 'typeorm';
1212
import { LibraryItem } from '../library/library.entity';
13-
import { MediaType } from 'src/common/common.dto';
13+
import { MediaTypeFull } from 'src/common/common.dto';
1414
import { User } from 'src/users/user.entity';
1515

1616
@Entity()
@@ -24,9 +24,9 @@ export class PlayState {
2424
@Column()
2525
tmdbId: string;
2626

27-
@ApiProperty({ enum: MediaType })
27+
@ApiProperty({ enum: MediaTypeFull })
2828
@Column()
29-
mediaType: MediaType;
29+
mediaType: MediaTypeFull;
3030

3131
@ApiProperty({ required: true, type: 'string' })
3232
@Column()

backend/src/user-data/play-state/play-states.service.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Inject, Injectable } from '@nestjs/common';
2-
import { MediaType } from 'src/common/common.dto';
2+
import { MediaTypeFull } from 'src/common/common.dto';
33
import { Repository } from 'typeorm';
44
import { BulkUpdatePlayStateDto, UpdatePlayStateDto } from './play-state.dto';
55
import { PlayState } from './play-state.entity';
@@ -67,7 +67,7 @@ export class PlayStatesService {
6767
options: {
6868
season?: number;
6969
episode?: number;
70-
mediaType: MediaType;
70+
mediaType: MediaTypeFull;
7171
save?: boolean;
7272
},
7373
) {
@@ -100,7 +100,7 @@ export class PlayStatesService {
100100
playState: UpdatePlayStateDto,
101101
) {
102102
const state = await this.getOrCreatePlayState(userId, tmdbId, {
103-
mediaType: MediaType.Movie,
103+
mediaType: MediaTypeFull.Movie,
104104
});
105105

106106
if (playState.progress !== undefined) state.progress = playState.progress;
@@ -119,7 +119,7 @@ export class PlayStatesService {
119119
const state = await this.getOrCreatePlayState(userId, tmdbId, {
120120
season,
121121
episode,
122-
mediaType: MediaType.Episode,
122+
mediaType: MediaTypeFull.Episode,
123123
});
124124

125125
if (playState.progress !== undefined) state.progress = playState.progress;
@@ -156,7 +156,7 @@ export class PlayStatesService {
156156
const state = await this.getOrCreatePlayState(userId, tmdbId, {
157157
season: updatedState.season,
158158
episode: updatedState.episode,
159-
mediaType: MediaType.Episode,
159+
mediaType: MediaTypeFull.Episode,
160160
});
161161

162162
if (updatedState.progress !== undefined)

0 commit comments

Comments
 (0)