Skip to content

Commit d75859a

Browse files
refactor:Conditions to get issued credential list for OOB issuance (#1125)
Signed-off-by: pranalidhanavade <[email protected]>
1 parent 017e901 commit d75859a

File tree

5 files changed

+17
-20
lines changed

5 files changed

+17
-20
lines changed

apps/issuance/src/issuance.repository.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,12 @@ export class IssuanceRepository {
121121
orgId: string;
122122
}[];
123123
}> {
124-
try {
125-
124+
try {
126125
const issuedCredentialsList = await this.prisma.credentials.findMany({
127126
where: {
128127
orgId,
129-
OR: [
130-
{ schemaId: { in: schemaIds } },
131-
{ connectionId: { contains: issuedCredentialsSearchCriteria.search, mode: 'insensitive' } }
132-
]
128+
...(schemaIds?.length ? { schemaId: { in: schemaIds } } : {}),
129+
...(!schemaIds?.length && issuedCredentialsSearchCriteria.search ? { OR: [{ connectionId: { contains: issuedCredentialsSearchCriteria.search, mode: 'insensitive' } }, { schemaId: { contains: issuedCredentialsSearchCriteria.search, mode: 'insensitive' } }] } : {})
133130
},
134131
select: {
135132
credentialExchangeId: true,
@@ -147,14 +144,11 @@ export class IssuanceRepository {
147144
take: Number(issuedCredentialsSearchCriteria.pageSize),
148145
skip: (issuedCredentialsSearchCriteria.pageNumber - 1) * issuedCredentialsSearchCriteria.pageSize
149146
});
150-
151147
const issuedCredentialsCount = await this.prisma.credentials.count({
152148
where: {
153149
orgId,
154-
OR: [
155-
{ schemaId: { in: schemaIds } },
156-
{ connectionId: { contains: issuedCredentialsSearchCriteria.search, mode: 'insensitive' } }
157-
]
150+
...(schemaIds?.length ? { schemaId: { in: schemaIds } } : {}),
151+
...(!schemaIds?.length && issuedCredentialsSearchCriteria.search ? { OR: [{ connectionId: { contains: issuedCredentialsSearchCriteria.search, mode: 'insensitive' } }, { schemaId: { contains: issuedCredentialsSearchCriteria.search, mode: 'insensitive' } }] } : {})
158152
}
159153
});
160154

apps/issuance/src/issuance.service.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,8 @@ export class IssuanceService {
460460

461461
let schemaIds;
462462
if (issuedCredentialsSearchCriteria?.search) {
463-
const schemaDetails = await this._getSchemaDetailsByName(issuedCredentialsSearchCriteria?.search);
463+
464+
const schemaDetails = await this._getSchemaDetailsByName(issuedCredentialsSearchCriteria?.search, orgId);
464465

465466
if (schemaDetails && 0 < schemaDetails?.length) {
466467
schemaIds = schemaDetails.map(item => item?.schemaLedgerId);
@@ -519,11 +520,11 @@ export class IssuanceService {
519520
}
520521
}
521522

522-
async _getSchemaDetailsByName(schemaName: string): Promise<ISchemaId[]> {
523+
async _getSchemaDetailsByName(schemaName: string, orgId: string): Promise<ISchemaId[]> {
523524
const pattern = { cmd: 'get-schemas-details-by-name' };
524-
525+
const payload = {schemaName, orgId};
525526
const schemaDetails = await this.natsClient
526-
.send<ISchemaId[]>(this.issuanceServiceProxy, pattern, schemaName)
527+
.send<ISchemaId[]>(this.issuanceServiceProxy, pattern, payload)
527528

528529
.catch((error) => {
529530
this.logger.error(`catch: ${JSON.stringify(error)}`);

apps/ledger/src/schema/repositories/schema.repository.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,10 @@ export class SchemaRepository {
157157
}
158158
}
159159

160-
async getSchemasDetailsBySchemaName(schemaName: string): Promise<ISchemaId[]> {
160+
async getSchemasDetailsBySchemaName(schemaName: string, orgId: string): Promise<ISchemaId[]> {
161161
const schemaDetails = await this.prisma.schema.findMany({
162162
where: {
163+
orgId,
163164
name: { contains: schemaName, mode: 'insensitive' }
164165
},
165166

apps/ledger/src/schema/schema.controller.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ export class SchemaController {
3535
}
3636

3737
@MessagePattern({ cmd: 'get-schemas-details-by-name' })
38-
async getSchemasDetailsBySchemaName(schemaName: string): Promise<ISchemaId[]> {
39-
return this.schemaService.getSchemaDetailsBySchemaName(schemaName);
38+
async getSchemasDetailsBySchemaName(payload:{schemaName:string, orgId:string}): Promise<ISchemaId[]> {
39+
const {orgId, schemaName} = payload;
40+
return this.schemaService.getSchemaDetailsBySchemaName(schemaName, orgId);
4041
}
4142

4243
@MessagePattern({ cmd: 'get-schema-by-id' })

apps/ledger/src/schema/schema.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -716,9 +716,9 @@ export class SchemaService extends BaseService {
716716
}
717717
}
718718

719-
async getSchemaDetailsBySchemaName(schemaName: string): Promise<ISchemaId[]> {
719+
async getSchemaDetailsBySchemaName(schemaName: string, orgId:string): Promise<ISchemaId[]> {
720720
try {
721-
const getSchemaDetails = await this.schemaRepository.getSchemasDetailsBySchemaName(schemaName);
721+
const getSchemaDetails = await this.schemaRepository.getSchemasDetailsBySchemaName(schemaName, orgId);
722722
return getSchemaDetails;
723723
} catch (error) {
724724
throw new RpcException(error.response ? error.response : error);

0 commit comments

Comments
 (0)