new endpoints
This commit is contained in:
@@ -11,13 +11,24 @@ export class WithdrawRequestRepository extends Repository<RewardWithdrawRequest>
|
||||
super(repository.target, repository.manager, repository.queryRunner);
|
||||
}
|
||||
|
||||
async findPaginatedList(queryDto: SearchRewardsRequestQueryDto) {
|
||||
async findPaginatedListForAdmin(queryDto: SearchRewardsRequestQueryDto) {
|
||||
const { limit, skip } = PaginationUtils(queryDto);
|
||||
|
||||
const queryBuilder = this.createQueryBuilder("request")
|
||||
.leftJoinAndSelect("request.user", "user")
|
||||
.orderBy("ticket.createdAt", "DESC");
|
||||
|
||||
.orderBy("ticket.createdAt", "DESC");
|
||||
|
||||
return queryBuilder.skip(skip).take(limit).getManyAndCount();
|
||||
}
|
||||
|
||||
async findPaginatedList(userId: string, queryDto: SearchRewardsRequestQueryDto) {
|
||||
const { limit, skip } = PaginationUtils(queryDto);
|
||||
|
||||
const queryBuilder = this.createQueryBuilder("request")
|
||||
.where("request.user.id = :userId", { userId })
|
||||
.leftJoinAndSelect("request.user", "user")
|
||||
.orderBy("ticket.createdAt", "DESC");
|
||||
|
||||
return queryBuilder.skip(skip).take(limit).getManyAndCount();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,22 +116,30 @@ export class ResellerController {
|
||||
return this.walletsService.getBalance(userId)
|
||||
}
|
||||
|
||||
// ============ WithDraw Request =============
|
||||
// ============Payment WithDraw Request =============
|
||||
@ApiOperation({ summary: "Create Reseller/Agent withdraw request ==> reseller route" })
|
||||
@ResellerRoute()
|
||||
@Post('wallet/withdraw')
|
||||
@Post('payment/withdraw')
|
||||
withdrawRequest(@UserDec("id") userId: string, @Body() dto: CreateWithdrawRequestDto) {
|
||||
return this.resellerService.createWithdrawRequest(userId, dto.amount)
|
||||
}
|
||||
|
||||
// ============ Remove WithDraw Request =============
|
||||
// ============ Remove payment WithDraw Request =============
|
||||
@ApiOperation({ summary: "remove Reseller/Agent withdraw request ==> reseller route" })
|
||||
@ResellerRoute()
|
||||
@Delete('wallet/withdraw/:id')
|
||||
@Delete('paymant/withdraw/:id')
|
||||
removeWithdrawRequest(@UserDec("id") userId: string, @Param('id') id: string) {
|
||||
return this.resellerService.removeWithdrawRequest(userId, id)
|
||||
}
|
||||
|
||||
// ============ Payment list=============
|
||||
@ApiOperation({ summary: "Get Payment list ==> reseller route" })
|
||||
@ResellerRoute()
|
||||
@Get('payment')
|
||||
getPayments(@UserDec("id") userId: string, @Body() dto: SearchRewardsRequestQueryDto) {
|
||||
return this.resellerService.getRewrdsRequests(userId, dto)
|
||||
}
|
||||
|
||||
// ============ Bank Account =============
|
||||
@ApiOperation({ summary: "Create Bank Account ==> reseller route" })
|
||||
@ResellerRoute()
|
||||
@@ -140,6 +148,15 @@ export class ResellerController {
|
||||
return this.resellerService.createUserBankAccount(userId, dto)
|
||||
}
|
||||
|
||||
|
||||
// ============ Get Bank Account =============
|
||||
@ApiOperation({ summary: "Get Bank Account ==> reseller route" })
|
||||
@ResellerRoute()
|
||||
@Get('bank-account')
|
||||
getBankAccount(@UserDec("id") userId: string) {
|
||||
return this.resellerService.getUserBankAccount(userId)
|
||||
}
|
||||
|
||||
// ============ Remove Bank Account =============
|
||||
@ApiOperation({ summary: "remove User Bank account ==> reseller route" })
|
||||
@ResellerRoute()
|
||||
|
||||
@@ -127,9 +127,16 @@ export class ResellerService {
|
||||
return this.referralService.findRewards(agentIds, query)
|
||||
}
|
||||
|
||||
async getRewrdsRequests(queryDto: SearchRewardsRequestQueryDto) {
|
||||
async getRewrdsRequestsForAdmin(queryDto: SearchRewardsRequestQueryDto) {
|
||||
|
||||
const [requests, count] = await this.withdrawRequestRepository.findPaginatedList(queryDto);
|
||||
const [requests, count] = await this.withdrawRequestRepository.findPaginatedListForAdmin(queryDto);
|
||||
|
||||
return { requests, count, paginate: true };
|
||||
}
|
||||
|
||||
async getRewrdsRequests(userId: string, queryDto: SearchRewardsRequestQueryDto) {
|
||||
|
||||
const [requests, count] = await this.withdrawRequestRepository.findPaginatedList(userId, queryDto);
|
||||
|
||||
return { requests, count, paginate: true };
|
||||
}
|
||||
@@ -168,6 +175,14 @@ export class ResellerService {
|
||||
return this.withdrawRequestRepository.remove(request)
|
||||
}
|
||||
|
||||
//********* Bank Account ***********/
|
||||
async getUserBankAccount(userId: string) {
|
||||
|
||||
return this.userBankAccountRepository.find({
|
||||
where: { user: { id: userId } }
|
||||
})
|
||||
}
|
||||
|
||||
//********* Bank Account ***********/
|
||||
async createUserBankAccount(userId: string, dto: CreateUserBankAccountDto) {
|
||||
const { user } = await this.usersService.findOneById(userId)
|
||||
|
||||
Reference in New Issue
Block a user