Skip to content

Commit 4c908d4

Browse files
committed
refactor(paginated.decorator.ts): add support for different versions of entitiesField
feat(paginated.decorator.ts): add booleanFields to entitiesField and versionsEntityField
1 parent f1ab0b8 commit 4c908d4

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

src/common/decorators/paginated.decorator.ts

+24-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export interface EntityFields {
1313
dateSearchKeys: string[];
1414
numberSearchKeys: string[];
1515
blacklistFields?: string[];
16+
booleanFields?: string[];
1617
}
1718

1819
export interface Entities {
@@ -94,6 +95,7 @@ const entitiesField: Entities = {
9495
'videos.trailers.size',
9596
'videos.teasers.size',
9697
],
98+
booleanFields: ['ticketsOnSale', 'isSeries'],
9799
},
98100
person: {
99101
blacklistFields: [
@@ -130,6 +132,7 @@ const entitiesField: Entities = {
130132
'spouses.children',
131133
'spouses.name',
132134
],
135+
booleanFields: [],
133136
},
134137
review: {
135138
excludedValuesFields: [],
@@ -139,6 +142,7 @@ const entitiesField: Entities = {
139142
regexSearchKeys: [],
140143
dateSearchKeys: ['date'],
141144
numberSearchKeys: ['movieId', 'id'],
145+
booleanFields: [],
142146
},
143147
season: {
144148
excludedValuesFields: [],
@@ -157,6 +161,7 @@ const entitiesField: Entities = {
157161
regexSearchKeys: [],
158162
dateSearchKeys: ['episodes.date'],
159163
numberSearchKeys: ['movieId', 'number', 'episodesCount', 'episodes.number'],
164+
booleanFields: [],
160165
},
161166
image: {
162167
excludedValuesFields: [],
@@ -166,6 +171,7 @@ const entitiesField: Entities = {
166171
regexSearchKeys: [],
167172
dateSearchKeys: [],
168173
numberSearchKeys: ['movieId', 'height', 'width'],
174+
booleanFields: [],
169175
},
170176
personaward: {
171177
excludedValuesFields: [],
@@ -175,6 +181,7 @@ const entitiesField: Entities = {
175181
regexSearchKeys: ['nomination.award.title', 'movie.name'],
176182
dateSearchKeys: [],
177183
numberSearchKeys: ['movie.id', 'personId', 'movie.rating'],
184+
booleanFields: [],
178185
},
179186
movieaward: {
180187
excludedValuesFields: [],
@@ -184,6 +191,7 @@ const entitiesField: Entities = {
184191
regexSearchKeys: ['nomination.award.title', 'movie.name'],
185192
dateSearchKeys: [],
186193
numberSearchKeys: ['movieId'],
194+
booleanFields: [],
187195
},
188196
keyword: {
189197
excludedValuesFields: [],
@@ -193,6 +201,7 @@ const entitiesField: Entities = {
193201
regexSearchKeys: ['title'],
194202
dateSearchKeys: [],
195203
numberSearchKeys: ['id', 'movies.id'],
204+
booleanFields: [],
196205
},
197206
studio: {
198207
excludedValuesFields: [],
@@ -202,16 +211,30 @@ const entitiesField: Entities = {
202211
regexSearchKeys: ['title'],
203212
dateSearchKeys: [],
204213
numberSearchKeys: ['id', 'movies.id'],
214+
booleanFields: [],
205215
},
206216
};
207217

218+
const versionsEntityField: Entities = {
219+
moviedtov1: entitiesField.movie,
220+
moviedtov1_3: entitiesField.movie,
221+
person: entitiesField.person,
222+
review: entitiesField.review,
223+
season: entitiesField.season,
224+
image: entitiesField.image,
225+
personaward: entitiesField.personaward,
226+
movieaward: entitiesField.movieaward,
227+
keyword: entitiesField.keyword,
228+
studio: entitiesField.studio,
229+
};
230+
208231
export const Paginated = (
209232
entityDto: any,
210233
entity: any,
211234
{ findForAllProperties, isArray }: { findForAllProperties?: boolean; isArray?: boolean },
212235
) => {
213236
return applyDecorators(
214-
UsePipes(new QueryPipe(entitiesField[entity.name.toLowerCase()])),
237+
UsePipes(new QueryPipe(versionsEntityField[entity.name.toLowerCase()])),
215238
findForAllProperties
216239
? ApiDotNotationQuery(ToolsQueryDto, PaginatedQueryDto, entity)
217240
: ApiDotNotationQuery(ToolsQueryDto, PaginatedQueryDto),

0 commit comments

Comments
 (0)