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

@@ -47,7 +47,12 @@ export class ProductService {
return this.productRepository.findOneOrFail(result.identifiers[0].id);
}
async findAll(page: number, supplier: string, subCategories: string) {
async findAll(
page: number,
supplier: string,
subCategories: string,
pageSize?: number,
) {
let filterSupplier, filterSubCategories;
if (supplier) {
@@ -61,10 +66,6 @@ export class ProductService {
return data.trim();
});
}
// if (supplier.length > 0) {
// const dataSupplier = await this.supplierService.findByActiveAll();
// supplier = dataSupplier.map((item) => item.id);
// }
const baseQuery = this.productRepository
.createQueryBuilder('product')
@@ -72,9 +73,6 @@ export class ProductService {
.leftJoin('sub_categories.category', 'category')
.leftJoin('product.supplier', 'supplier')
.where('supplier.status = :status', { status: true })
// .where(`product.supplier_id = :supplier_id`, {
// supplier_id: In(supplier),
// })
.leftJoinAndMapOne(
'product.currentPrice',
'product.priceHistory',
@@ -106,15 +104,9 @@ export class ProductService {
});
}
// if (categories != 'null' && categories) {
// baseQuery.andWhere('sub_categories.category_id = :id', {
// id: categories,
// });
// }
const data = await baseQuery
.offset(page * 10)
.limit(10)
.offset(page * (pageSize || 10))
.limit(pageSize || 10)
.getRawMany();
const totalData = await baseQuery.getCount();
@@ -156,7 +148,7 @@ export class ProductService {
};
}
async findAllBySubCategories(page, subCategories, supplier) {
async findAllBySubCategories(page, subCategories, supplier, pageSize?) {
if (supplier != 'null' && !supplier) {
supplier = (await this.supplierService.findByActive()).id;
}
@@ -184,8 +176,8 @@ export class ProductService {
}
const data = await baseQuery
.skip(page * 10)
.take(10)
.skip(page * (pageSize || 10))
.take(pageSize || 10)
.getMany();
const totalData = await baseQuery.getCount();