Проблема с типами в пагинации
async getAll(options: IPaginationOptions):Promise<Pagination<IUser>> {
const user = await this.userRepository.getAll();
return paginate<User>(user, options);
}
В user.service есть функция getAll, которая вызывает getAll из UserRepository для извлечения информации из БД.
async getAll(): Promise<User[]> {
return await this.userRepository.find();
}
Интерфейс IUserRepository:
import { ICreateUser } from "./ICreateUser";
import { IUser } from "./IUser";
export interface IUserRepository {
getAll(): Promise<IUser[]>;
getOneById(id: number): Promise<IUser>;
create(data: ICreateUser): Promise<ICreateUser>;
delete(id: number): Promise<boolean>;
update(id: number, data: any): Promise<boolean>;
}
Контролер users.controller:
@Get('manager')
index(@Query('page') page: number = 1, @Query('limit') limit: number = 10): Promise<Pagination<IUser>> {
limit = limit > 100 ? 100 : limit;
return this.usersService.getAll({page, limit, route:'http://localhost:5000/manager'});
}
