include order in typeorm query

This commit is contained in:
Ulf Gebhardt 2023-06-14 13:44:54 +02:00
parent e412265b3a
commit 360dcc1ebe
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9

View File

@ -1,5 +1,6 @@
import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm' import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm'
import { User as DbUser } from '@entity/User' import { User as DbUser } from '@entity/User'
import { Order } from '@enum/Order'
import { SearchUsersFilters } from '@/graphql/arg/SearchUsersFilters' import { SearchUsersFilters } from '@/graphql/arg/SearchUsersFilters'
@ -11,6 +12,7 @@ export class UserRepository extends Repository<DbUser> {
filters: SearchUsersFilters | null, filters: SearchUsersFilters | null,
currentPage: number, currentPage: number,
pageSize: number, pageSize: number,
order = Order.ASC
): Promise<[DbUser[], number]> { ): Promise<[DbUser[], number]> {
const query = this.createQueryBuilder('user') const query = this.createQueryBuilder('user')
.select(select) .select(select)
@ -46,6 +48,7 @@ export class UserRepository extends Repository<DbUser> {
} }
return query return query
.orderBy({'user.id': order})
.take(pageSize) .take(pageSize)
.skip((currentPage - 1) * pageSize) .skip((currentPage - 1) * pageSize)
.getManyAndCount() .getManyAndCount()