Skip to content

Commit

Permalink
Fix/bugs (#839)
Browse files Browse the repository at this point in the history
* fix: send email verification issue

Signed-off-by: bhavanakarwade <[email protected]>

* refcator: schema endorsement flow

Signed-off-by: bhavanakarwade <[email protected]>

* fix: resolved sonar lint issues

Signed-off-by: bhavanakarwade <[email protected]>

* fix: worked on sonarcloud issues

Signed-off-by: bhavanakarwade <[email protected]>

* fix: delete organization bugs

Signed-off-by: bhavanakarwade <[email protected]>

* fix: cred def id space fixes

Signed-off-by: bhavanakarwade <[email protected]>

* fix: create organization bug

Signed-off-by: bhavanakarwade <[email protected]>

* fix: pagination issue for preview file

Signed-off-by: bhavanakarwade <[email protected]>

* fix: pagination issue

Signed-off-by: bhavanakarwade <[email protected]>

---------

Signed-off-by: bhavanakarwade <[email protected]>
  • Loading branch information
bhavanakarwade authored Jul 11, 2024
1 parent 6f9b018 commit f4e29c9
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 53 deletions.
46 changes: 13 additions & 33 deletions apps/api-gateway/src/issuance/dtos/issuance.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ import { IsCredentialJsonLdContext, SingleOrArray } from '../utils/helper';
import { IssueCredentialType, JsonLdCredentialDetailCredentialStatusOptions, JsonLdCredentialDetailOptionsOptions, JsonObject } from '../interfaces';
import { Transform, Type } from 'class-transformer';

import { AutoAccept, SchemaType } from '@credebl/enum/enum';
import { AutoAccept, SchemaType, SortValue } from '@credebl/enum/enum';
import { SortFields } from 'apps/connection/src/enum/connection.enum';
import { SortValue } from '../../enum';
import { trim } from '@credebl/common/cast.helper';

class Issuer {
Expand Down Expand Up @@ -430,38 +429,20 @@ export class OOBCredentialDtoWithEmail {
orgId: string;
}


export class PreviewFileDetails {
@ApiProperty({
required: false
})
@Transform(({ value }) => trim(value))
@IsOptional()
@IsEnum(SortFields)
sortField: string = SortFields.CREATED_DATE_TIME;

@ApiProperty({
enum: [SortValue.DESC, SortValue.ASC],
required: false
})
@Transform(({ value }) => trim(value))
@IsOptional()
@IsEnum(SortValue)
sortBy: string = SortValue.DESC;

@ApiProperty({ required: false, example: '10' })
@IsOptional()
pageSize: number = 10;
@ApiProperty({ required: false, example: '1' })
@IsOptional()
pageNumber: number = 1;

@ApiProperty({ required: false, example: '1' })
@IsOptional()
pageNumber: number = 1;
@ApiProperty({ required: false, example: '10' })
@IsOptional()
pageSize: number = 10;

@ApiProperty({ required: false })
@IsOptional()
@Transform(({ value }) => trim(value))
@Type(() => String)
searchByText: string = '';
@ApiProperty({ required: false })
@IsOptional()
@Transform(({ value }) => trim(value))
@Type(() => String)
searchByText: string = '';
}

export class FileParameter {
Expand Down Expand Up @@ -563,8 +544,7 @@ export class FileQuery {
}

export class RequestIdQuery {
@ApiPropertyOptional({ required: false })
@IsOptional()
@ApiProperty({ required: true })
@IsString({ message: 'requestId should be string' })
@IsNotEmpty({ message: 'requestId Id is required' })
@Transform(({ value }) => trim(value))
Expand Down
18 changes: 4 additions & 14 deletions apps/api-gateway/src/issuance/issuance.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ async downloadBulkIssuanceCSVTemplate(
required: false
})
@ApiQuery({
name: 'search',
name: 'searchByText',
type: String,
required: false
})
Expand All @@ -349,26 +349,16 @@ async downloadBulkIssuanceCSVTemplate(
type: Number,
required: false
})
@ApiQuery({
name: 'sortBy',
type: String,
required: false
})
@ApiQuery({
name: 'sortValue',
type: Number,
required: false
})
async previewFileDataForIssuance(
@Param('orgId') orgId: string,
@Query(new ValidationPipe({ transform: true })) query: RequestIdQuery,
@Query() previewFileDetails: PreviewFileDetails,
@Res() res: Response
): Promise<object> {
): Promise<Response> {

const { requestId } = query;
const previewCSVDetails = await this.issueCredentialService.previewCSVDetails(requestId, orgId, previewFileDetails);
const finalResponse: IResponseType = {
const finalResponse: IResponse = {
statusCode: HttpStatus.OK,
message: ResponseMessages.issuance.success.previewCSV,
data: previewCSVDetails
Expand Down Expand Up @@ -506,7 +496,7 @@ async downloadBulkIssuanceCSVTemplate(
})
async getFileDetailsByFileId(
@Param('orgId') orgId: string,
@Query(new ValidationPipe({ transform: true })) query: FileQuery,
@Param(new ValidationPipe({ transform: true })) query: FileQuery,
@Query() fileParameter: FileParameter,
@Res() res: Response
): Promise<object> {
Expand Down
4 changes: 2 additions & 2 deletions apps/issuance/interfaces/issuance.interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,8 @@ export interface PreviewRequest {
pageNumber: number,
pageSize: number,
searchByText: string,
sortField: string,
sortBy: string
sortField?: string,
sortBy?: string
}

export interface FileUpload {
Expand Down
20 changes: 16 additions & 4 deletions apps/issuance/src/issuance.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { parse as paParse } from 'papaparse';
import { v4 as uuidv4 } from 'uuid';
import { Cache } from 'cache-manager';
import { CACHE_MANAGER } from '@nestjs/cache-manager';
import { convertUrlToDeepLinkUrl, orderValues, paginator } from '@credebl/common/common.utils';
import { convertUrlToDeepLinkUrl, paginator } from '@credebl/common/common.utils';
import { InjectQueue } from '@nestjs/bull';
import { Queue } from 'bull';
import { FileUploadStatus, FileUploadType } from 'apps/api-gateway/src/enum';
Expand Down Expand Up @@ -1077,6 +1077,7 @@ async sendEmailForCredentialOffer(sendEmailCredentialOffer: SendEmailCredentialO
}
}


async previewFileDataForIssuance(
requestId: string,
previewRequest: PreviewRequest
Expand All @@ -1091,9 +1092,19 @@ async sendEmailForCredentialOffer(sendEmailCredentialOffer: SendEmailCredentialO
throw new BadRequestException(ResponseMessages.issuance.error.previewCachedData);
}
const parsedData = JSON.parse(cachedData as string).fileData.data;
parsedData.sort(orderValues(previewRequest.sortBy, previewRequest.sortField));
const finalData = paginator(parsedData, previewRequest.pageNumber, previewRequest.pageSize);


// Apply search to the entire dataset if searchByText is provided
let filteredData = parsedData;
if (previewRequest.searchByText) {
const searchTerm = previewRequest.searchByText.toLowerCase();
filteredData = parsedData.filter(item => item.email_identifier.toLowerCase().includes(searchTerm) ||
item.name.toLowerCase().includes(searchTerm)
);
}

// Apply pagination to the filtered data
const finalData = paginator(filteredData, previewRequest.pageNumber, previewRequest.pageSize);

return finalData;
} else {
throw new BadRequestException(ResponseMessages.issuance.error.previewFile);
Expand All @@ -1103,6 +1114,7 @@ async sendEmailForCredentialOffer(sendEmailCredentialOffer: SendEmailCredentialO
throw new RpcException(error.response);
}
}


async getFileDetailsByFileId(
fileId: string,
Expand Down

0 comments on commit f4e29c9

Please sign in to comment.