29 lines
1.0 KiB
TypeScript
Executable File
29 lines
1.0 KiB
TypeScript
Executable File
import { Injectable } from "@nestjs/common";
|
|
import { InjectRepository } from "@nestjs/typeorm";
|
|
import { Repository } from "typeorm";
|
|
|
|
import { ReferralReward } from "../entities/referral-reward.entity";
|
|
import { PaginationUtils } from "../../utils/providers/pagination.utils";
|
|
import { SearchRewardsRequestQueryDto } from "../../reseller/dto/search-reward-requests.dto";
|
|
|
|
@Injectable()
|
|
export class ReferralRewardsRepository extends Repository<ReferralReward> {
|
|
constructor(@InjectRepository(ReferralReward) repository: Repository<ReferralReward>) {
|
|
super(repository.target, repository.manager, repository.queryRunner);
|
|
}
|
|
|
|
async findPaginatedList(userIds: string[], queryDto: SearchRewardsRequestQueryDto) {
|
|
const { limit, skip } = PaginationUtils(queryDto);
|
|
console.log(userIds)
|
|
const qb = this.createQueryBuilder("rr")
|
|
// .where("rr.userId IN (:...userIds)", { userIds })
|
|
.leftJoinAndSelect("rr.user", "user")
|
|
.orderBy("rr.createdAt", "DESC")
|
|
.skip(skip)
|
|
.take(limit);
|
|
|
|
return qb.getManyAndCount();
|
|
}
|
|
|
|
}
|