Skip to content

Manual Journals pagination ignored - page and pageSize missing from DynamicFilterQueryDto #1117

Description

@stephanleiser

Bug Description

The Manual Journals list endpoint /api/manual-journals ignores page and
pageSize query parameters. Every request always returns page 1 with 12 items,
regardless of the parameters sent.

Root Cause

page and pageSize properties are missing from DynamicFilterQueryDto.
NestJS ValidationPipe with whitelist: true strips unknown properties before
they reach the service layer.

The service (GetManualJournals.service.ts) correctly handles pagination:

const _filterDto = {
  page: 1,
  pageSize: 12,
  ...filterDTO,  // filterDTO never contains page/pageSize → defaults always used
};

Fix

Add page and pageSize to DynamicFilterQuery.dto.ts:

@ApiPropertyOptional({ description: 'Page number', type: Number })
@IsOptional()
@ToNumber()
page?: number;

@ApiPropertyOptional({ description: 'Page size', type: Number })
@IsOptional()
@ToNumber()
pageSize?: number;

Affected Version

bigcapitalhq/server:latest (tested June 2026)

Impact

Journal list pagination is completely broken in self-hosted deployments.
Frontend sends correct requests but API always returns first page.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions