@@ -29,7 +29,7 @@ import {
2929 ApiTags ,
3030} from "@nestjs/swagger" ;
3131import { plainToInstance } from "class-transformer" ;
32- import { FilterQuery , QueryOptions } from "mongoose" ;
32+ import { QueryOptions } from "mongoose" ;
3333import { firstValueFrom } from "rxjs" ;
3434import { AttachmentsService } from "src/attachments/attachments.service" ;
3535import { AllowAny } from "src/auth/decorators/allow-any.decorator" ;
@@ -65,10 +65,7 @@ import {
6565 RegisteredPipe ,
6666} from "./pipes/registered.pipe" ;
6767import { PublishedDataService } from "./published-data.service" ;
68- import {
69- PublishedData ,
70- PublishedDataDocument ,
71- } from "./schemas/published-data.schema" ;
68+ import { PublishedData } from "./schemas/published-data.schema" ;
7269import { V3_FILTER_TO_V4_PIPE } from "./pipes/v3-filter.pipe" ;
7370
7471@ApiBearerAuth ( )
@@ -272,16 +269,6 @@ export class PublishedDataController {
272269 description : "Database filters to apply when retrieve all published data" ,
273270 required : false ,
274271 } )
275- @ApiQuery ( {
276- name : "limits" ,
277- description : "Database limits to apply when retrieve all published data" ,
278- required : false ,
279- } )
280- @ApiQuery ( {
281- name : "fields" ,
282- description : "Database fields to apply apply filters on" ,
283- required : false ,
284- } )
285272 @ApiResponse ( {
286273 status : HttpStatus . OK ,
287274 type : PublishedDataObsoleteDto ,
@@ -296,25 +283,9 @@ export class PublishedDataController {
296283 @Query ( ...V3_FILTER_TO_V4_PIPE , RegisteredFilterPipe )
297284 filter ?: {
298285 filter : IPublishedDataFilters ;
299- fields : string ;
300- limits : string ;
301286 } ,
302287 ) : Promise < PublishedDataObsoleteDto [ ] > {
303288 const publishedDataFilters : IPublishedDataFilters = filter ?. filter ?? { } ;
304- const publishedDataLimits : {
305- skip : number ;
306- limit : number ;
307- order : string ;
308- } = JSON . parse ( filter ?. limits ?? "{}" ) ;
309- const publishedDataFields = JSON . parse ( filter ?. fields ?? "{}" ) ;
310-
311- if ( ! publishedDataFilters . limits ) {
312- publishedDataFilters . limits = publishedDataLimits ;
313- }
314- if ( ! publishedDataFilters . fields ) {
315- publishedDataFilters . fields = publishedDataFields ;
316- }
317-
318289 const fetchedData =
319290 await this . publishedDataService . findAll ( publishedDataFilters ) ;
320291
@@ -344,23 +315,12 @@ export class PublishedDataController {
344315 @Query ( ...V3_FILTER_TO_V4_PIPE , RegisteredFilterPipe )
345316 filter ?: {
346317 filter : IPublishedDataFilters ;
347- fields : string ;
348- limits : string ;
349318 } ,
350319 ) {
351- const jsonFilters : IPublishedDataFilters = filter ?. filter ?? { } ;
352- const jsonFields : FilterQuery < PublishedDataDocument > = filter ?. fields
353- ? JSON . parse ( filter . fields )
354- : { } ;
355-
356- const filters : FilterQuery < PublishedDataDocument > = {
357- where : jsonFilters ,
358- fields : jsonFields ,
359- } ;
360-
320+ const filters : IPublishedDataFilters = filter ?. filter ?? { } ;
361321 const options : QueryOptions = {
362- limit : jsonFilters ?. limits ?. limit ,
363- skip : jsonFilters ?. limits ?. skip ,
322+ limit : filters ?. limits ?. limit ,
323+ skip : filters ?. limits ?. skip ,
364324 } ;
365325
366326 return this . publishedDataService . countDocuments ( filters , options ) ;
@@ -454,11 +414,14 @@ export class PublishedDataController {
454414 } )
455415 async findOne (
456416 @Param ( new IdToDoiPipe ( ) , RegisteredPipe )
457- idFilter : {
458- doi : string ;
459- registered ?: string ;
417+ filter : {
418+ where : {
419+ doi : string ;
420+ registered ?: string ;
421+ } ;
460422 } ,
461423 ) : Promise < PublishedDataObsoleteDto > {
424+ const idFilter = filter . where ;
462425 const publishedData = await this . publishedDataService . findOne ( idFilter ) ;
463426 if ( ! publishedData ) {
464427 throw new NotFoundException (
0 commit comments