mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 21:30:31 +00:00
refactor(nestjs): bank transactions matching
This commit is contained in:
@@ -7,6 +7,7 @@ import { IItemsFilter } from './types/Items.types';
|
||||
import { ItemTransformer } from './Item.transformer';
|
||||
import { TenantModelProxy } from '../System/models/TenantBaseModel';
|
||||
import { ISortOrder } from '../DynamicListing/DynamicFilter/DynamicFilter.types';
|
||||
import { GetItemsQueryDto } from './dtos/GetItemsQuery.dto';
|
||||
|
||||
@Injectable()
|
||||
export class GetItemsService {
|
||||
@@ -32,7 +33,7 @@ export class GetItemsService {
|
||||
* Retrieves items datatable list.
|
||||
* @param {IItemsFilter} itemsFilter - Items filter.
|
||||
*/
|
||||
public async getItems(filterDto: Partial<IItemsFilter>) {
|
||||
public async getItems(filterDto: Partial<GetItemsQueryDto>) {
|
||||
const _filterDto = {
|
||||
sortOrder: ISortOrder.DESC,
|
||||
columnSortBy: 'created_at',
|
||||
|
||||
@@ -23,6 +23,7 @@ import {
|
||||
} from '@nestjs/swagger';
|
||||
import { IItemsFilter } from './types/Items.types';
|
||||
import { CreateItemDto, EditItemDto } from './dtos/Item.dto';
|
||||
import { GetItemsQueryDto } from './dtos/GetItemsQuery.dto';
|
||||
|
||||
@Controller('/items')
|
||||
@UseGuards(SubscriptionGuard)
|
||||
@@ -99,7 +100,7 @@ export class ItemsController extends TenantController {
|
||||
type: Boolean,
|
||||
description: 'Filter for inactive items',
|
||||
})
|
||||
async getItems(@Query() filterDTO: IItemsFilter): Promise<any> {
|
||||
async getItems(@Query() filterDTO: GetItemsQueryDto): Promise<any> {
|
||||
return this.itemsApplication.getItems(filterDTO);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import { Injectable } from '@nestjs/common';
|
||||
import { GetItemsService } from './GetItems.service';
|
||||
import { IItemsFilter } from './types/Items.types';
|
||||
import { EditItemDto, CreateItemDto } from './dtos/Item.dto';
|
||||
import { GetItemsQueryDto } from './dtos/GetItemsQuery.dto';
|
||||
|
||||
@Injectable()
|
||||
export class ItemsApplicationService {
|
||||
@@ -94,7 +95,7 @@ export class ItemsApplicationService {
|
||||
* Retrieves the paginated filterable items list.
|
||||
* @param {Partial<IItemsFilter>} filterDTO
|
||||
*/
|
||||
async getItems(filterDTO: Partial<IItemsFilter>) {
|
||||
async getItems(filterDTO: Partial<GetItemsQueryDto>) {
|
||||
return this.getItemsService.getItems(filterDTO);
|
||||
}
|
||||
|
||||
|
||||
22
packages/server/src/modules/Items/dtos/GetItemsQuery.dto.ts
Normal file
22
packages/server/src/modules/Items/dtos/GetItemsQuery.dto.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { ToNumber } from '@/common/decorators/Validators';
|
||||
import { DynamicFilterQueryDto } from '@/modules/DynamicListing/dtos/DynamicFilterQuery.dto';
|
||||
import { parseBoolean } from '@/utils/parse-boolean';
|
||||
import { Transform, Type } from 'class-transformer';
|
||||
import { IsBoolean, IsInt, IsOptional } from 'class-validator';
|
||||
|
||||
export class GetItemsQueryDto extends DynamicFilterQueryDto {
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@ToNumber()
|
||||
page?: number;
|
||||
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@ToNumber()
|
||||
pageSize?: number;
|
||||
|
||||
@IsOptional()
|
||||
@Transform((param) => parseBoolean(param.value, false))
|
||||
@IsBoolean()
|
||||
inactiveMode?: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user