@@ -390,7 +390,12 @@ export class DevlogService {
390390 return await this . handleList ( projectFilter , queryBuilder , pagination , sortOptions ) ;
391391 }
392392
393- async search ( query : string , filter ?: DevlogFilter ) : Promise < PaginatedResult < DevlogEntry > > {
393+ async search (
394+ query : string ,
395+ filter ?: DevlogFilter ,
396+ pagination ?: PaginationMeta ,
397+ sortOptions ?: SortOptions ,
398+ ) : Promise < PaginatedResult < DevlogEntry > > {
394399 await this . ensureInitialized ( ) ;
395400
396401 const { projectFilter, queryBuilder } = this . prepareListQuery ( filter ) ;
@@ -402,7 +407,7 @@ export class DevlogService {
402407 . orWhere ( 'devlog.businessContext LIKE :query' , { query : `%${ query } %` } )
403408 . orWhere ( 'devlog.technicalContext LIKE :query' , { query : `%${ query } %` } ) ;
404409
405- return await this . handleList ( projectFilter , queryBuilder ) ;
410+ return await this . handleList ( projectFilter , queryBuilder , pagination , sortOptions ) ;
406411 }
407412
408413 /**
@@ -838,53 +843,53 @@ export class DevlogService {
838843 */
839844 private async applySearchFilters (
840845 queryBuilder : SelectQueryBuilder < DevlogEntryEntity > ,
841- projectFilter : DevlogFilter ,
846+ filter : DevlogFilter ,
842847 ) : Promise < void > {
843848 // Apply project filter
844- if ( projectFilter . projectId !== undefined ) {
849+ if ( filter . projectId !== undefined ) {
845850 queryBuilder . andWhere ( 'devlog.projectId = :projectId' , {
846- projectId : projectFilter . projectId ,
851+ projectId : filter . projectId ,
847852 } ) ;
848853 }
849854
850855 // Apply status filter
851- if ( projectFilter . status && projectFilter . status . length > 0 ) {
852- queryBuilder . andWhere ( 'devlog.status IN (:...statuses)' , { statuses : projectFilter . status } ) ;
856+ if ( filter . status && filter . status . length > 0 ) {
857+ queryBuilder . andWhere ( 'devlog.status IN (:...statuses)' , { statuses : filter . status } ) ;
853858 }
854859
855860 // Apply type filter
856- if ( projectFilter . type && projectFilter . type . length > 0 ) {
857- queryBuilder . andWhere ( 'devlog.type IN (:...types)' , { types : projectFilter . type } ) ;
861+ if ( filter . type && filter . type . length > 0 ) {
862+ queryBuilder . andWhere ( 'devlog.type IN (:...types)' , { types : filter . type } ) ;
858863 }
859864
860865 // Apply priority filter
861- if ( projectFilter . priority && projectFilter . priority . length > 0 ) {
866+ if ( filter . priority && filter . priority . length > 0 ) {
862867 queryBuilder . andWhere ( 'devlog.priority IN (:...priorities)' , {
863- priorities : projectFilter . priority ,
868+ priorities : filter . priority ,
864869 } ) ;
865870 }
866871
867872 // Apply assignee filter
868- if ( projectFilter . assignee !== undefined ) {
869- if ( projectFilter . assignee === null ) {
873+ if ( filter . assignee !== undefined ) {
874+ if ( filter . assignee === null ) {
870875 queryBuilder . andWhere ( 'devlog.assignee IS NULL' ) ;
871876 } else {
872- queryBuilder . andWhere ( 'devlog.assignee = :assignee' , { assignee : projectFilter . assignee } ) ;
877+ queryBuilder . andWhere ( 'devlog.assignee = :assignee' , { assignee : filter . assignee } ) ;
873878 }
874879 }
875880
876881 // Apply archived filter
877- if ( projectFilter . archived !== undefined ) {
878- queryBuilder . andWhere ( 'devlog.archived = :archived' , { archived : projectFilter . archived } ) ;
882+ if ( filter . archived !== undefined ) {
883+ queryBuilder . andWhere ( 'devlog.archived = :archived' , { archived : filter . archived } ) ;
879884 }
880885
881886 // Apply date range filters
882- if ( projectFilter . fromDate ) {
883- queryBuilder . andWhere ( 'devlog.createdAt >= :fromDate' , { fromDate : projectFilter . fromDate } ) ;
887+ if ( filter . fromDate ) {
888+ queryBuilder . andWhere ( 'devlog.createdAt >= :fromDate' , { fromDate : filter . fromDate } ) ;
884889 }
885890
886- if ( projectFilter . toDate ) {
887- queryBuilder . andWhere ( 'devlog.createdAt <= :toDate' , { toDate : projectFilter . toDate } ) ;
891+ if ( filter . toDate ) {
892+ queryBuilder . andWhere ( 'devlog.createdAt <= :toDate' , { toDate : filter . toDate } ) ;
888893 }
889894 }
890895
0 commit comments