Files
dsc-api/src/modules/referrals/repositories/referral-rewards.repository.ts
T
2026-04-15 12:50:24 +03:30

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();
}
}