feat: add page size in all the rest API

This commit is contained in:
caturbgs
2021-12-22 15:23:05 +07:00
parent cdd6d39c90
commit c3df45dc9a
14 changed files with 135 additions and 124 deletions

View File

@@ -1,10 +1,4 @@
import {
forwardRef,
HttpException,
HttpStatus,
Inject,
Injectable,
} from '@nestjs/common';
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Connection, Not, Repository } from 'typeorm';
import { CoaService } from '../../transaction/coa.service';
@@ -135,10 +129,10 @@ export class PartnerService {
return partnerData;
};
findAllPartner(page) {
findAllPartner(page, pageSize?) {
return this.partnerRepository.findAndCount({
skip: page * 10,
take: 10,
skip: page * (pageSize || 10),
take: pageSize || 10,
order: {
version: 'DESC',
},

View File

@@ -1,10 +1,4 @@
import {
forwardRef,
HttpException,
HttpStatus,
Inject,
Injectable,
} from '@nestjs/common';
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Connection, EntityNotFoundError, Not, Repository } from 'typeorm';
import { Supplier } from '../entities/supplier.entity';
@@ -130,7 +124,7 @@ export class SupplierService {
return supplierData;
};
async findAllSupplier(page) {
async findAllSupplier(page, pageSize?) {
const baseQuery = this.supplierRepository
.createQueryBuilder('supplier')
.leftJoinAndMapOne(
@@ -148,8 +142,8 @@ export class SupplierService {
.select(['supplier', 'coa.amount', 'coa_undistribute.amount']);
const data = await baseQuery
.skip(page * 10)
.take(10)
.skip(page * (pageSize || 10))
.take(pageSize || 10)
.getMany();
const totalData = await baseQuery.getCount();

View File

@@ -125,8 +125,12 @@ export class UsersController {
@Public()
@Get('supplier')
async findAllSupplier(@Query('page') page: number) {
const data = await this.supplierService.findAllSupplier(page);
async findAllSupplier(
@Query('page') page: number,
@Query('pageSize') pageSize: number,
@Request() req,
) {
const data = await this.supplierService.findAllSupplier(page, pageSize);
return {
...data,
@@ -136,8 +140,15 @@ export class UsersController {
}
@Get('partner')
async findAllPartner(@Query('page') page: number) {
const [data, count] = await this.partnerService.findAllPartner(page);
async findAllPartner(
@Query('page') page: number,
@Query('pageSize') pageSize: number,
@Request() req,
) {
const [data, count] = await this.partnerService.findAllPartner(
page,
pageSize,
);
return {
data,
@@ -162,8 +173,13 @@ export class UsersController {
async findByRoles(
@Param('id', ParseUUIDPipe) id: string,
@Query('page') page: number,
@Query('pageSize') pageSize: number,
) {
const [data, count] = await this.usersService.findByRoles(id, page);
const [data, count] = await this.usersService.findByRoles(
id,
page,
pageSize,
);
return {
data,

View File

@@ -1,19 +1,7 @@
import {
forwardRef,
HttpException,
HttpStatus,
Inject,
Injectable,
} from '@nestjs/common';
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateUserDto } from './dto/update-user.dto';
import {
Connection,
EntityNotFoundError,
Equal,
Not,
Repository,
} from 'typeorm';
import { Connection, EntityNotFoundError, Not, Repository } from 'typeorm';
import { User } from './entities/user.entity';
import { InjectRepository } from '@nestjs/typeorm';
import { randomStringGenerator } from '@nestjs/common/utils/random-string-generator.util';
@@ -155,10 +143,10 @@ export class UsersService {
};
}
findByRoles(relationId: string, page: number) {
findByRoles(relationId: string, page: number, pageSize?: number) {
return this.usersRepository.findAndCount({
skip: page * 10,
take: 10,
skip: page * (pageSize || 10),
take: pageSize || 10,
where: {
roles: relationId,
},