From 5192673bc42d13fa57e6a6de05164d72957174ae Mon Sep 17 00:00:00 2001 From: Stepan Kiryakov Date: Thu, 30 Jan 2025 20:49:11 +0400 Subject: [PATCH] fix Signed-off-by: Stepan Kiryakov --- .../src/api/services/analytics.ts | 6 +++--- .../src/api/services/entities.ts | 1 - .../src/dto/details/policy.details.ts | 5 +++++ .../src/dto/details/vc.details.ts | 5 +++++ indexer-common/src/messages/message-api.ts | 6 +++--- .../src/interfaces/details/formula.details.ts | 5 ++--- indexer-interfaces/src/models/schema.ts | 4 ++-- indexer-service/src/api/analytics.service.ts | 9 +++++---- indexer-service/src/api/entities.service.ts | 6 ++---- indexer-service/src/app.ts | 19 +------------------ .../helpers/synchronizers/synchronize-all.ts | 4 ++-- .../synchronizers/synchronize-formula.ts | 1 - .../src/loaders/hedera-service.ts | 8 ++++---- .../src/loaders/ipfs-service.ts | 12 ++++++------ .../src/loaders/ipfs/http-node.ts | 6 +----- worker-service/src/api/worker.ts | 1 - 16 files changed, 41 insertions(+), 57 deletions(-) diff --git a/indexer-api-gateway/src/api/services/analytics.ts b/indexer-api-gateway/src/api/services/analytics.ts index 8416fa79df..aad743c51f 100644 --- a/indexer-api-gateway/src/api/services/analytics.ts +++ b/indexer-api-gateway/src/api/services/analytics.ts @@ -7,7 +7,7 @@ import { ApiTags, ApiUnprocessableEntityResponse, } from '@nestjs/swagger'; -import { IndexerMessageAPI, Message } from '@indexer/common'; +import { IndexerMessageAPI } from '@indexer/common'; import { ApiClient } from '../api-client.js'; import { InternalServerErrorDTO, @@ -47,7 +47,7 @@ export class AnalyticsApi extends ApiClient { body ); } - + @ApiOperation({ summary: 'Search contract retirements', description: 'Returns contract retirements result', @@ -75,7 +75,7 @@ export class AnalyticsApi extends ApiClient { body ); } - + @Get('/checkAvailability') @ApiOperation({ summary: 'Get indexer availability', diff --git a/indexer-api-gateway/src/api/services/entities.ts b/indexer-api-gateway/src/api/services/entities.ts index 51f03e0532..5046fdf12b 100644 --- a/indexer-api-gateway/src/api/services/entities.ts +++ b/indexer-api-gateway/src/api/services/entities.ts @@ -1124,7 +1124,6 @@ export class EntityApi extends ApiClient { } //#endregion - //#region FORMULAS @Get('/formulas') @ApiOperation({ diff --git a/indexer-api-gateway/src/dto/details/policy.details.ts b/indexer-api-gateway/src/dto/details/policy.details.ts index 003741a3d2..043898aa54 100644 --- a/indexer-api-gateway/src/dto/details/policy.details.ts +++ b/indexer-api-gateway/src/dto/details/policy.details.ts @@ -150,6 +150,11 @@ export class PolicyActivityDTO implements PolicyActivity { example: 10, }) roles: number; + @ApiProperty({ + description: 'Formulas', + example: 10, + }) + formulas: number; } export class PolicyDTO diff --git a/indexer-api-gateway/src/dto/details/vc.details.ts b/indexer-api-gateway/src/dto/details/vc.details.ts index 01108a5dd3..c55b3b6e08 100644 --- a/indexer-api-gateway/src/dto/details/vc.details.ts +++ b/indexer-api-gateway/src/dto/details/vc.details.ts @@ -217,4 +217,9 @@ export class VCDetailsDTO }, }) schema?: any; + + @ApiProperty({ + description: 'Formulas data', + }) + formulasData?: any; } diff --git a/indexer-common/src/messages/message-api.ts b/indexer-common/src/messages/message-api.ts index e73c08881e..83d66826e2 100644 --- a/indexer-common/src/messages/message-api.ts +++ b/indexer-common/src/messages/message-api.ts @@ -85,6 +85,6 @@ export enum IndexerMessageAPI { UPDATE_FILES = 'INDEXER_API_UPDATE_FILES', - GET_INDEXER_AVAILABILITY = "INDEXER_API_GET_INDEXER_AVAILABILITY", - GET_RETIRE_DOCUMENTS = "INDEXER_API_GET_RETIRE_DOCUMENTS" -} + GET_INDEXER_AVAILABILITY = 'INDEXER_API_GET_INDEXER_AVAILABILITY', + GET_RETIRE_DOCUMENTS = 'INDEXER_API_GET_RETIRE_DOCUMENTS' +} \ No newline at end of file diff --git a/indexer-interfaces/src/interfaces/details/formula.details.ts b/indexer-interfaces/src/interfaces/details/formula.details.ts index 30d65fdadf..e5a2ec1cbd 100644 --- a/indexer-interfaces/src/interfaces/details/formula.details.ts +++ b/indexer-interfaces/src/interfaces/details/formula.details.ts @@ -76,12 +76,11 @@ export interface FormulaRelationships { formulas?: Formula[]; } - /** * Formula activity */ -export interface FormulaActivity { -} +// tslint:disable-next-line:no-empty-interface +export interface FormulaActivity {} /** * Formula diff --git a/indexer-interfaces/src/models/schema.ts b/indexer-interfaces/src/models/schema.ts index 145c1a82ac..cae9aaf102 100644 --- a/indexer-interfaces/src/models/schema.ts +++ b/indexer-interfaces/src/models/schema.ts @@ -102,8 +102,8 @@ export class Schema { } /** - * Get all fields - */ + * Get all fields + */ private _getFields(result: SchemaField[], fields?: SchemaField[]): SchemaField[] { if (Array.isArray(fields)) { for (const field of fields) { diff --git a/indexer-service/src/api/analytics.service.ts b/indexer-service/src/api/analytics.service.ts index 222086e27c..ab385654d0 100644 --- a/indexer-service/src/api/analytics.service.ts +++ b/indexer-service/src/api/analytics.service.ts @@ -136,7 +136,7 @@ export class AnalyticsService { try { const { topicId } = msg; const em = DataBaseHelper.getEntityManager(); - const [messages, count] = (await em.findAndCount( + const [messages] = (await em.findAndCount( Message, { topicId, @@ -152,22 +152,23 @@ export class AnalyticsService { )) as any; for (const message of messages) { - let VCdocuments: VCDetails[] = []; + const VCdocuments: VCDetails[] = []; for (const fileName of message.files) { try { const file = await DataBaseHelper.loadFile(fileName); VCdocuments.push(JSON.parse(file) as VCDetails); + // tslint:disable-next-line:no-empty } catch (error) { } } message.documents = VCdocuments; - var messageCache = messagesCache.find((cache: MessageCache) => cache.consensusTimestamp == message.consensusTimestamp); + const messageCache = messagesCache.find((cache: MessageCache) => cache.consensusTimestamp === message.consensusTimestamp); if (messageCache) { message.sequenceNumber = messageCache.sequenceNumber; } } - + return new MessageResponse(messages); } catch (error) { return new MessageError(error); diff --git a/indexer-service/src/api/entities.service.ts b/indexer-service/src/api/entities.service.ts index 489040158b..4fe425bac8 100644 --- a/indexer-service/src/api/entities.service.ts +++ b/indexer-service/src/api/entities.service.ts @@ -1410,7 +1410,7 @@ export class EntityService { try { const { messageId } = msg; const em = DataBaseHelper.getEntityManager(); - let item = await em.findOne(Message, { + const item = await em.findOne(Message, { consensusTimestamp: messageId, type: MessageType.FORMULA, action: MessageAction.PublishFormula @@ -1448,7 +1448,7 @@ export class EntityService { try { const { messageId } = msg; const em = DataBaseHelper.getEntityManager(); - let item = await em.findOne(Message, { + const item = await em.findOne(Message, { consensusTimestamp: messageId, type: MessageType.FORMULA, action: MessageAction.PublishFormula @@ -1787,8 +1787,6 @@ export class EntityService { }); } - - item = await loadDocuments(item, true); const schema = await loadSchema(item, true); diff --git a/indexer-service/src/app.ts b/indexer-service/src/app.ts index 1c6b0599a9..46ee5115d2 100644 --- a/indexer-service/src/app.ts +++ b/indexer-service/src/app.ts @@ -10,24 +10,7 @@ import { EntityService } from './api/entities.service.js'; import { FiltersService } from './api/filters.service.js'; import { LandingService } from './api/landing.service.js'; import { AnalyticsService } from './api/analytics.service.js'; -import { - SynchronizationAnalytics, - SynchronizationContracts, - SynchronizationDid, - SynchronizationModules, - SynchronizationPolicy, - SynchronizationProjects, - SynchronizationRegistries, - SynchronizationRoles, - SynchronizationSchemas, - SynchronizationTools, - SynchronizationTopics, - SynchronizationVCs, - SynchronizationVPs, - SynchronizationLabels, - SynchronizationFormulas, - SynchronizationAll -} from './helpers/synchronizers/index.js'; +import { SynchronizationAll } from './helpers/synchronizers/index.js'; import { fixtures } from './helpers/fixtures.js'; const channelName = ( diff --git a/indexer-service/src/helpers/synchronizers/synchronize-all.ts b/indexer-service/src/helpers/synchronizers/synchronize-all.ts index ee9e2cab80..af0e18c83b 100644 --- a/indexer-service/src/helpers/synchronizers/synchronize-all.ts +++ b/indexer-service/src/helpers/synchronizers/synchronize-all.ts @@ -98,9 +98,9 @@ export class SynchronizationAll extends SynchronizationTask { public static createAllTasks() { if (process.env.SYNC_ALL_MASK) { - this.createSyncTasks(); + SynchronizationAll.createSyncTasks(); } else { - this.createAsyncTasks(); + SynchronizationAll.createAsyncTasks(); } } diff --git a/indexer-service/src/helpers/synchronizers/synchronize-formula.ts b/indexer-service/src/helpers/synchronizers/synchronize-formula.ts index 04d73e7fdd..b05617f58e 100644 --- a/indexer-service/src/helpers/synchronizers/synchronize-formula.ts +++ b/indexer-service/src/helpers/synchronizers/synchronize-formula.ts @@ -90,7 +90,6 @@ export class SynchronizationFormulas extends SynchronizationTask { } analytics.config = formulaData.formula; - const policyMessage = policyMap.get(document.options?.policyInstanceTopicId); if (policyMessage) { analytics.policyId = policyMessage.consensusTimestamp; diff --git a/indexer-worker-service/src/loaders/hedera-service.ts b/indexer-worker-service/src/loaders/hedera-service.ts index 8eec524e8f..cacce02b24 100644 --- a/indexer-worker-service/src/loaders/hedera-service.ts +++ b/indexer-worker-service/src/loaders/hedera-service.ts @@ -10,12 +10,12 @@ export class HederaService { public static readonly REST_API_MAX_LIMIT: number = 100; public static async init() { - this.mirrorNodeUrl = Environment.mirrorNode; + HederaService.mirrorNodeUrl = Environment.mirrorNode; } public static async getMessages(topicId: string, lastNumber: number): Promise { try { - const url = this.mirrorNodeUrl + 'topics/' + topicId + '/messages'; + const url = HederaService.mirrorNodeUrl + 'topics/' + topicId + '/messages'; const option: any = { params: { limit: HederaService.REST_API_MAX_LIMIT @@ -44,7 +44,7 @@ export class HederaService { public static async getToken(tokenId: string): Promise { try { - const url = this.mirrorNodeUrl + 'tokens/' + tokenId; + const url = HederaService.mirrorNodeUrl + 'tokens/' + tokenId; const option: any = { responseType: 'json', timeout: 2 * 60 * 1000, @@ -63,7 +63,7 @@ export class HederaService { } public static async getSerials(tokenId: string, lastNumber: number): Promise { - const url = this.mirrorNodeUrl + 'tokens/' + tokenId + '/nfts'; + const url = HederaService.mirrorNodeUrl + 'tokens/' + tokenId + '/nfts'; const option: any = { params: { order: 'asc', diff --git a/indexer-worker-service/src/loaders/ipfs-service.ts b/indexer-worker-service/src/loaders/ipfs-service.ts index 1fce42dbd8..04597fe8c5 100644 --- a/indexer-worker-service/src/loaders/ipfs-service.ts +++ b/indexer-worker-service/src/loaders/ipfs-service.ts @@ -11,8 +11,8 @@ export class IPFSService { public static node: BaseNode; public static async init() { - this.node = new HttpNode(); - await this.node.start(); + IPFSService.node = new HttpNode(); + await IPFSService.node.start(); } public static parseCID(file: string): CID | null { @@ -28,14 +28,14 @@ export class IPFSService { } private static async loadFile(cid: string): Promise { - const check = await this.node.check(cid); + const check = await IPFSService.node.check(cid); if (check.check === true) { - const file = await this.node.get(cid); + const file = await IPFSService.node.get(cid); console.log(`IPFS loaded: ${cid}`); return file; } else if (check.check === undefined) { console.log(`IPFS check: ${cid}`, check.error); - const file = await this.node.get(cid); + const file = await IPFSService.node.get(cid); console.log(`IPFS loaded: ${cid}`); return file; } else { @@ -52,7 +52,7 @@ export class IPFSService { reject(new Error('Timeout exceeded')); }, IPFSService.LOAD_TIMEOUT); }); - return await Promise.race([this.loadFile(cid), timeoutPromise]); + return await Promise.race([IPFSService.loadFile(cid), timeoutPromise]); } catch (error) { console.log(`IPFS error: ${cid}`, error.message); return undefined; diff --git a/indexer-worker-service/src/loaders/ipfs/http-node.ts b/indexer-worker-service/src/loaders/ipfs/http-node.ts index 19eebded30..85e57bb7f9 100644 --- a/indexer-worker-service/src/loaders/ipfs/http-node.ts +++ b/indexer-worker-service/src/loaders/ipfs/http-node.ts @@ -6,10 +6,6 @@ export class HttpNode implements BaseNode { private readonly LOAD_TIMEOUT: number = 60 * 1000; private readonly CHECK_TIMEOUT: number = 15 * 1000; - constructor() { - - } - private parseCID(cid: string): string { return new CID(cid).toV1().toString('base32'); } @@ -24,7 +20,7 @@ export class HttpNode implements BaseNode { } public async stop() { - + return; } public async get(cid: string, timeout?: number): Promise { diff --git a/worker-service/src/api/worker.ts b/worker-service/src/api/worker.ts index 5917d70e8f..a2e3555b75 100644 --- a/worker-service/src/api/worker.ts +++ b/worker-service/src/api/worker.ts @@ -19,7 +19,6 @@ function rejectTimeout(t: number): Promise { }) } - function getAnalytycsHeaders() { const headers: any = {}; const token = process.env.ANALYTICS_SERVICE_TOKEN;