|
|
@@ -1,11 +1,12 @@
|
|
|
import { Injectable, Req } from '@nestjs/common'
|
|
|
import { InjectRepository } from '@nestjs/typeorm'
|
|
|
import { PhoneList } from './entities/phone-list.entity'
|
|
|
-import { DataSource, Repository } from 'typeorm'
|
|
|
+import { DataSource, In, Repository } from 'typeorm'
|
|
|
import { Phone } from './entities/phone.entity'
|
|
|
import { PageRequest } from '../common/dto/page-request'
|
|
|
import { Pagination, paginate } from 'nestjs-typeorm-paginate'
|
|
|
import { Response } from 'express'
|
|
|
+import { Users } from '../users/entities/users.entity'
|
|
|
|
|
|
@Injectable()
|
|
|
export class PhoneListService {
|
|
|
@@ -14,11 +15,28 @@ export class PhoneListService {
|
|
|
private phoneListRepository: Repository<PhoneList>,
|
|
|
@InjectRepository(Phone)
|
|
|
private phoneRepository: Repository<Phone>,
|
|
|
+ @InjectRepository(Users)
|
|
|
+ private userRepository: Repository<Users>,
|
|
|
private readonly dataSource: DataSource
|
|
|
) {}
|
|
|
|
|
|
async findAllPhoneList(req: PageRequest<PhoneList>): Promise<Pagination<PhoneList>> {
|
|
|
- return await paginate<PhoneList>(this.phoneListRepository, req.page, req.search)
|
|
|
+ const page = await paginate<PhoneList>(this.phoneListRepository, req.page, req.search)
|
|
|
+ if (page.items.length !== 0) {
|
|
|
+ let items = page.items
|
|
|
+ const userIds = items.map(item => item.userId)
|
|
|
+ const users = await this.userRepository.findBy({
|
|
|
+ id: In(userIds)
|
|
|
+ })
|
|
|
+ for (let i = 0; i < items.length; i++) {
|
|
|
+ const item = items[i]
|
|
|
+ const user = users.find(user => user.id === item.userId)
|
|
|
+ if (user) {
|
|
|
+ item.userName = user.username
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return page
|
|
|
}
|
|
|
|
|
|
async findAllPhone(req: PageRequest<Phone>): Promise<Pagination<Phone>> {
|