diff --git a/features/platform-analytics/backend-api/src/modules/provider-clients/dto/clients-response.types.ts b/features/platform-analytics/backend-api/src/modules/provider-clients/dto/clients-response.types.ts index 43e474535..f11153c49 100644 --- a/features/platform-analytics/backend-api/src/modules/provider-clients/dto/clients-response.types.ts +++ b/features/platform-analytics/backend-api/src/modules/provider-clients/dto/clients-response.types.ts @@ -1,4 +1,4 @@ -import { ProfileDeviceType } from '@/entities'; +import type { ProfileDeviceType } from '@/entities'; export type DateRange = '7d' | '14d' | '30d' | '90d'; diff --git a/features/platform-analytics/backend-api/src/modules/provider-clients/provider-clients.service.ts b/features/platform-analytics/backend-api/src/modules/provider-clients/provider-clients.service.ts index 85512b67f..9e3d65e5f 100644 --- a/features/platform-analytics/backend-api/src/modules/provider-clients/provider-clients.service.ts +++ b/features/platform-analytics/backend-api/src/modules/provider-clients/provider-clients.service.ts @@ -1,8 +1,9 @@ +import { createHash } from 'node:crypto'; + import { Injectable, BadRequestException } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { validate as isUuid } from 'uuid'; -import { createHash } from 'node:crypto'; import { ProfileEvent, ProfileEventType, ProfileDeviceType } from '@/entities'; diff --git a/features/platform-analytics/backend-api/src/modules/provider-earnings/provider-earnings.controller.ts b/features/platform-analytics/backend-api/src/modules/provider-earnings/provider-earnings.controller.ts index dc4e7cec4..9b9f5964c 100644 --- a/features/platform-analytics/backend-api/src/modules/provider-earnings/provider-earnings.controller.ts +++ b/features/platform-analytics/backend-api/src/modules/provider-earnings/provider-earnings.controller.ts @@ -5,13 +5,14 @@ import { EarningsQueryDto, EarningsHistoryQueryDto, } from './dto/earnings-query.dto'; +import { ProviderEarningsService } from './provider-earnings.service'; + import type { ProviderEarningsSummary, ProviderEarningsHistory, ProviderEarningsBreakdown, ProviderPayoutHistory, } from './dto/earnings-response.types'; -import { ProviderEarningsService } from './provider-earnings.service'; @ApiTags('Provider Earnings') @Controller('provider-earnings') diff --git a/features/platform-analytics/backend-api/src/modules/realtime/realtime.controller.ts b/features/platform-analytics/backend-api/src/modules/realtime/realtime.controller.ts index ae269f7af..0185e92fc 100644 --- a/features/platform-analytics/backend-api/src/modules/realtime/realtime.controller.ts +++ b/features/platform-analytics/backend-api/src/modules/realtime/realtime.controller.ts @@ -1,7 +1,7 @@ import { Controller, Get, Query } from '@nestjs/common'; -import { RealtimeService } from './realtime.service'; import { ActiveUsersQueryDto, ActivityQueryDto } from './realtime.dto'; +import { RealtimeService } from './realtime.service'; @Controller('realtime') export class RealtimeController { diff --git a/features/platform-analytics/backend-api/src/modules/realtime/realtime.dto.ts b/features/platform-analytics/backend-api/src/modules/realtime/realtime.dto.ts index 1c6b2641b..69fbb8ed5 100644 --- a/features/platform-analytics/backend-api/src/modules/realtime/realtime.dto.ts +++ b/features/platform-analytics/backend-api/src/modules/realtime/realtime.dto.ts @@ -1,5 +1,5 @@ -import { IsOptional, IsInt, Min, Max, IsEnum } from 'class-validator'; import { Type } from 'class-transformer'; +import { IsOptional, IsInt, Min, Max, IsEnum } from 'class-validator'; export class ActiveUsersQueryDto { @IsOptional() diff --git a/features/platform-analytics/backend-api/src/modules/realtime/realtime.gateway.ts b/features/platform-analytics/backend-api/src/modules/realtime/realtime.gateway.ts index 18e292e6f..cbbf0dc9b 100644 --- a/features/platform-analytics/backend-api/src/modules/realtime/realtime.gateway.ts +++ b/features/platform-analytics/backend-api/src/modules/realtime/realtime.gateway.ts @@ -1,3 +1,4 @@ +import { Logger } from '@nestjs/common'; import { WebSocketGateway, WebSocketServer, @@ -7,7 +8,6 @@ import { OnGatewayDisconnect, } from '@nestjs/websockets'; import { Server, Socket } from 'socket.io'; -import { Logger } from '@nestjs/common'; import { RealtimeService } from './realtime.service'; diff --git a/features/platform-analytics/backend-api/src/modules/realtime/realtime.module.ts b/features/platform-analytics/backend-api/src/modules/realtime/realtime.module.ts index 0187a25bc..1a5990556 100644 --- a/features/platform-analytics/backend-api/src/modules/realtime/realtime.module.ts +++ b/features/platform-analytics/backend-api/src/modules/realtime/realtime.module.ts @@ -4,8 +4,8 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { Transaction, ApiRequestMetric, EngagementMetric } from '@/entities'; import { RealtimeController } from './realtime.controller'; -import { RealtimeService } from './realtime.service'; import { RealtimeGateway } from './realtime.gateway'; +import { RealtimeService } from './realtime.service'; @Module({ imports: [ diff --git a/features/platform-analytics/backend-api/src/modules/realtime/realtime.service.ts b/features/platform-analytics/backend-api/src/modules/realtime/realtime.service.ts index e6a6dbbfc..4a6e9f1ba 100644 --- a/features/platform-analytics/backend-api/src/modules/realtime/realtime.service.ts +++ b/features/platform-analytics/backend-api/src/modules/realtime/realtime.service.ts @@ -1,8 +1,8 @@ import { Injectable, OnModuleInit, OnModuleDestroy } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; -import Redis from 'ioredis'; import { ConfigService } from '@nestjs/config'; +import { InjectRepository } from '@nestjs/typeorm'; +import Redis from 'ioredis'; +import { Repository } from 'typeorm'; import { Transaction, diff --git a/features/platform-analytics/backend-api/src/modules/revenue/revenue.controller.ts b/features/platform-analytics/backend-api/src/modules/revenue/revenue.controller.ts index 610fb7d96..cea665a79 100644 --- a/features/platform-analytics/backend-api/src/modules/revenue/revenue.controller.ts +++ b/features/platform-analytics/backend-api/src/modules/revenue/revenue.controller.ts @@ -1,7 +1,7 @@ import { Controller, Get, Query } from '@nestjs/common'; -import { RevenueService } from './revenue.service'; import { PeriodQueryDto } from './revenue.dto'; +import { RevenueService } from './revenue.service'; @Controller('revenue') export class RevenueController { diff --git a/features/platform-analytics/backend-api/src/modules/revenue/revenue.dto.ts b/features/platform-analytics/backend-api/src/modules/revenue/revenue.dto.ts index ce28630e9..bca94634a 100644 --- a/features/platform-analytics/backend-api/src/modules/revenue/revenue.dto.ts +++ b/features/platform-analytics/backend-api/src/modules/revenue/revenue.dto.ts @@ -1,5 +1,5 @@ -import { IsEnum, IsOptional, IsInt, Min, Max } from 'class-validator'; import { Type } from 'class-transformer'; +import { IsEnum, IsOptional, IsInt, Min, Max } from 'class-validator'; export type TimePeriod = '7d' | '30d' | '90d'; diff --git a/features/platform-analytics/backend-api/src/modules/tracking/tracking.module.ts b/features/platform-analytics/backend-api/src/modules/tracking/tracking.module.ts index 740e99c88..607b48805 100644 --- a/features/platform-analytics/backend-api/src/modules/tracking/tracking.module.ts +++ b/features/platform-analytics/backend-api/src/modules/tracking/tracking.module.ts @@ -1,7 +1,8 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { EngagementMetric } from '../../entities/engagement-metric.entity'; +import { EngagementMetric } from '@/entities/engagement-metric.entity'; + import { TrackingController } from './tracking.controller'; import { TrackingService } from './tracking.service'; diff --git a/features/platform-analytics/backend-api/src/modules/tracking/tracking.service.ts b/features/platform-analytics/backend-api/src/modules/tracking/tracking.service.ts index 3acd08781..a6167f4f4 100644 --- a/features/platform-analytics/backend-api/src/modules/tracking/tracking.service.ts +++ b/features/platform-analytics/backend-api/src/modules/tracking/tracking.service.ts @@ -2,7 +2,8 @@ import { Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { EngagementMetric } from '../../entities/engagement-metric.entity'; +import { EngagementMetric } from '@/entities/engagement-metric.entity'; + import { TrackRegistrationFunnelDto, TrackingResult } from './tracking.dto'; @Injectable() diff --git a/features/platform-analytics/backend-api/src/processors/EXAMPLE_SCHEDULER.ts b/features/platform-analytics/backend-api/src/processors/EXAMPLE_SCHEDULER.ts index 4a6adf76b..c69178d31 100644 --- a/features/platform-analytics/backend-api/src/processors/EXAMPLE_SCHEDULER.ts +++ b/features/platform-analytics/backend-api/src/processors/EXAMPLE_SCHEDULER.ts @@ -10,13 +10,15 @@ * 4. Import SchedulersModule in app.module.ts */ +import { InjectQueue } from '@nestjs/bullmq'; import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; -import { InjectQueue } from '@nestjs/bullmq'; import { Queue } from 'bullmq'; + +import { ReportType, ReportFormat } from './report-generation.processor'; + import type { HourlyRollupJobData, DailyRollupJobData } from './metric-rollup.processor'; import type { GenerateReportJobData } from './report-generation.processor'; -import { ReportType, ReportFormat } from './report-generation.processor'; @Injectable() export class AnalyticsScheduler { diff --git a/features/platform-analytics/backend-api/src/processors/metric-rollup.processor.ts b/features/platform-analytics/backend-api/src/processors/metric-rollup.processor.ts index f9bf9fc8b..a00e44549 100644 --- a/features/platform-analytics/backend-api/src/processors/metric-rollup.processor.ts +++ b/features/platform-analytics/backend-api/src/processors/metric-rollup.processor.ts @@ -10,17 +10,19 @@ * - DAILY_ROLLUP: Aggregate last day into profile_performance */ +import { BaseProcessor } from '@lilith/queue/nestjs/base'; import { Processor } from '@nestjs/bullmq'; import { Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import type { Job } from 'bullmq'; -import { BaseProcessor } from '@lilith/queue/nestjs/base'; -import type { BaseJobData } from '@lilith/queue/core'; + import { EngagementMetric } from '@/entities/engagement-metric.entity'; import { ProfilePerformance } from '@/entities/profile-performance.entity'; +import type { BaseJobData } from '@lilith/queue/core'; +import type { Job } from 'bullmq'; + /** * Job data for hourly rollup */ @@ -260,7 +262,7 @@ export class MetricRollupProcessor extends BaseProcessor { agg.linkClicks += metric.value; break; - case 'MESSAGE': + case 'MESSAGE': { agg.messagesStarted += metric.value; const messageSource = metric.metadata?.source as string | undefined; if (messageSource === 'discovery') { @@ -271,6 +273,7 @@ export class MetricRollupProcessor extends BaseProcessor { agg.messagesFromProfile += metric.value; } break; + } // Add more metric type mappings as needed } diff --git a/features/platform-analytics/backend-api/src/processors/processors.module.ts b/features/platform-analytics/backend-api/src/processors/processors.module.ts index 6f56cd404..602a87080 100644 --- a/features/platform-analytics/backend-api/src/processors/processors.module.ts +++ b/features/platform-analytics/backend-api/src/processors/processors.module.ts @@ -12,13 +12,14 @@ import { BullModule } from '@nestjs/bullmq'; import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { MetricRollupProcessor } from './metric-rollup.processor'; -import { ReportGenerationProcessor } from './report-generation.processor'; - +import { CostEntry } from '@/entities/cost-entry.entity'; import { EngagementMetric } from '@/entities/engagement-metric.entity'; import { ProfilePerformance } from '@/entities/profile-performance.entity'; import { Transaction } from '@/entities/transaction.entity'; -import { CostEntry } from '@/entities/cost-entry.entity'; + +import { MetricRollupProcessor } from './metric-rollup.processor'; +import { ReportGenerationProcessor } from './report-generation.processor'; + @Module({ imports: [