Skip to content

Commit 9f48c97

Browse files
authored
Merge pull request #3085 from DFXswiss/develop
Release: develop -> main
2 parents 24391f4 + e5aa05e commit 9f48c97

4 files changed

Lines changed: 39 additions & 0 deletions

File tree

src/subdomains/generic/support/dto/user-data-support.dto.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ export class SellSupportInfo {
8080
volume: number;
8181
}
8282

83+
export class KycFileListEntry {
84+
kycFileId: number;
85+
id: number;
86+
amlAccountType?: string;
87+
verifiedName?: string;
88+
}
89+
8390
export class UserDataSupportInfoDetails {
8491
userData: UserData;
8592
kycFiles: KycFile[];

src/subdomains/generic/support/support.controller.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { UserRole } from 'src/shared/auth/user-role.enum';
1717
import { RefundDataDto } from 'src/subdomains/core/history/dto/refund-data.dto';
1818
import { BankRefundDto } from 'src/subdomains/core/history/dto/transaction-refund.dto';
1919
import {
20+
KycFileListEntry,
2021
UserDataSupportInfoDetails,
2122
UserDataSupportInfoResult,
2223
UserDataSupportQuery,
@@ -35,6 +36,14 @@ export class SupportController {
3536
return this.supportService.searchUserDataByKey(query);
3637
}
3738

39+
@Get('kycFileList')
40+
@ApiBearerAuth()
41+
@ApiExcludeEndpoint()
42+
@UseGuards(AuthGuard(), RoleGuard(UserRole.COMPLIANCE), UserActiveGuard())
43+
async getKycFileList(): Promise<KycFileListEntry[]> {
44+
return this.supportService.getKycFileList();
45+
}
46+
3847
@Get(':id')
3948
@ApiBearerAuth()
4049
@ApiExcludeEndpoint()

src/subdomains/generic/support/support.service.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import {
3939
BankTxSupportInfo,
4040
BuySupportInfo,
4141
ComplianceSearchType,
42+
KycFileListEntry,
4243
KycStepSupportInfo,
4344
SellSupportInfo,
4445
TransactionSupportInfo,
@@ -106,8 +107,21 @@ export class SupportService {
106107
};
107108
}
108109

110+
getKycFileList(): Promise<KycFileListEntry[]> {
111+
return this.userDataService.getUserDatasWithKycFile().then((u) => u.map((d) => this.toKycFileListEntry(d)));
112+
}
113+
109114
// --- MAPPING METHODS --- //
110115

116+
private toKycFileListEntry(userData: UserData): KycFileListEntry {
117+
return {
118+
kycFileId: userData.kycFileId,
119+
id: userData.id,
120+
amlAccountType: userData.amlAccountType,
121+
verifiedName: userData.verifiedName,
122+
};
123+
}
124+
111125
private toKycStepSupportInfo(step: KycStep): KycStepSupportInfo {
112126
return {
113127
id: step.id,

src/subdomains/generic/user/models/user-data/user-data.service.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,15 @@ export class UserDataService {
218218
return this.userDataRepo.findBy({ phone });
219219
}
220220

221+
async getUserDatasWithKycFile(): Promise<UserData[]> {
222+
return this.userDataRepo
223+
.createQueryBuilder('userData')
224+
.select(['userData.id', 'userData.kycFileId', 'userData.amlAccountType', 'userData.verifiedName'])
225+
.where('userData.kycFileId > 0')
226+
.orderBy('userData.kycFileId', 'ASC')
227+
.getMany();
228+
}
229+
221230
async getUserDataByKey(key: string, value: any): Promise<UserData> {
222231
return this.userDataRepo
223232
.createQueryBuilder('userData')

0 commit comments

Comments
 (0)