diff --git a/services/workflows-service/prisma/data-migrations b/services/workflows-service/prisma/data-migrations index 1b7508555c..f7a9926755 160000 --- a/services/workflows-service/prisma/data-migrations +++ b/services/workflows-service/prisma/data-migrations @@ -1 +1 @@ -Subproject commit 1b7508555c1f354619b11197d94fab8a2252ce29 +Subproject commit f7a9926755b98bc9e1c908a81b86baf9824bc7f1 diff --git a/services/workflows-service/src/auth/local/local-auth.guard.ts b/services/workflows-service/src/auth/local/local-auth.guard.ts index 39c1167f13..773769626c 100644 --- a/services/workflows-service/src/auth/local/local-auth.guard.ts +++ b/services/workflows-service/src/auth/local/local-auth.guard.ts @@ -11,11 +11,14 @@ export class LocalAuthGuard extends AuthGuard('local') implements CanActivate { async canActivate(context: ExecutionContext): Promise { const result = super.canActivate(context) as boolean; const request = context.switchToHttp().getRequest(); + if (result && request.user) { const fullUrl = request.protocol + '://' + request.get('host') + request.originalUrl; - this.supabaseService.logSignIn(fullUrl); + void this.supabaseService.logSignIn(fullUrl); } - super.logIn(request); - return Promise.resolve(result); + + await super.logIn(request); + + return result; } } diff --git a/services/workflows-service/src/case-management/controllers/case-management.controller.ts b/services/workflows-service/src/case-management/controllers/case-management.controller.ts index 4aadb3c0a0..2d797d8751 100644 --- a/services/workflows-service/src/case-management/controllers/case-management.controller.ts +++ b/services/workflows-service/src/case-management/controllers/case-management.controller.ts @@ -21,12 +21,11 @@ import { } from '@nestjs/common'; import { ApiExcludeController, ApiForbiddenResponse, ApiOkResponse } from '@nestjs/swagger'; import { EndUserService } from '@/end-user/end-user.service'; -import { StateTag, TStateTag } from '@ballerine/common'; +import { StateTag, TStateTag, EndUserAmlHitsSchema } from '@ballerine/common'; import { AlertService } from '@/alert/alert.service'; import { ZodValidationPipe } from '@/common/pipes/zod.pipe'; import { ListIndividualsProfilesSchema } from '@/case-management/dtos/list-individuals-profiles.dto'; import { z } from 'zod'; -import { EndUserAmlHitsSchema } from '@ballerine/common'; import { Business, EndUsersOnBusinesses } from '@prisma/client'; @Controller('case-management') diff --git a/services/workflows-service/src/filter/filter.controller.external.ts b/services/workflows-service/src/filter/filter.controller.external.ts index 0e48622646..5e3f1fd55f 100644 --- a/services/workflows-service/src/filter/filter.controller.external.ts +++ b/services/workflows-service/src/filter/filter.controller.external.ts @@ -17,7 +17,6 @@ import { isRecordNotFoundError } from '@/prisma/prisma.util'; import { ProjectScopeService } from '@/project/project-scope.service'; import type { InputJsonValue, TProjectId, TProjectIds } from '@/types'; import { CurrentProject } from '@/common/decorators/current-project.decorator'; -import { UseCustomerAuthGuard } from '@/common/decorators/use-customer-auth-guard.decorator'; @swagger.ApiBearerAuth() @swagger.ApiTags('Filters') diff --git a/services/workflows-service/src/supabase/supabase.service.ts b/services/workflows-service/src/supabase/supabase.service.ts index caa34e8620..33043c0b69 100644 --- a/services/workflows-service/src/supabase/supabase.service.ts +++ b/services/workflows-service/src/supabase/supabase.service.ts @@ -3,7 +3,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { createClient, SupabaseClient } from '@supabase/supabase-js'; import { ISupabaseService } from './types'; -import { SentryService } from '../sentry/sentry.service'; +import { SentryService } from '@/sentry/sentry.service'; @Injectable() export class SupabaseService implements ISupabaseService { @@ -12,11 +12,12 @@ export class SupabaseService implements ISupabaseService { constructor( private readonly configService: ConfigService, - private readonly SentryService: SentryService, + private readonly sentry: SentryService, ) { const telemetryEnabled = this.configService.get('TELEMETRY_ENABLED'); const supabaseUrl = this.configService.get('TELEMETRY_SUPABASE_URL'); const supabaseApiKey = this.configService.get('TELEMETRY_SUPABASE_API_KEY'); + if (telemetryEnabled) { if (!supabaseUrl || !supabaseApiKey) { throw new Error('Supabase URL or API key is missing in configuration'); @@ -34,7 +35,7 @@ export class SupabaseService implements ISupabaseService { } catch (error: Error | any) { if (error.code === 'MODULE_NOT_FOUND') { this.logger.error(`file not present: ${error.message}`); - this.SentryService.captureException(error.message); + this.sentry.captureException(error.message); } else { this.logger.error(`Exception infra data not present: ${error.message}`); } @@ -56,7 +57,7 @@ export class SupabaseService implements ISupabaseService { } } catch (error: Error | any) { this.logger.error(`Exception to log sign in data: ${error.message}`); - this.SentryService.captureException(error.message); + this.sentry.captureException(error.message); } } @@ -71,7 +72,7 @@ export class SupabaseService implements ISupabaseService { } } catch (error: Error | any) { this.logger.error(`Exception to log infra data: ${error.message}`); - this.SentryService.captureException(error.message); + this.sentry.captureException(error.message); } } } diff --git a/services/workflows-service/src/transaction/transaction.controller.external.intg.test.ts b/services/workflows-service/src/transaction/transaction.controller.external.intg.test.ts index f1430945c7..411d59983f 100644 --- a/services/workflows-service/src/transaction/transaction.controller.external.intg.test.ts +++ b/services/workflows-service/src/transaction/transaction.controller.external.intg.test.ts @@ -26,18 +26,10 @@ import { } from '@prisma/client'; import { createProject } from '@/test/helpers/create-project'; import { TransactionModule } from '@/transaction/transaction.module'; -import { TransactionControllerExternal } from '@/transaction/transaction.controller.external'; import { TransactionCreateDto } from '@/transaction/dtos/transaction-create.dto'; import { generateBusiness, generateEndUser } from '../../scripts/generate-end-user'; import { BulkStatus } from '@/alert/types'; -import { ProjectScopeService } from '@/project/project-scope.service'; -import { AlertRepository } from '@/alert/alert.repository'; -import { AlertDefinitionRepository } from '@/alert-definition/alert-definition.repository'; -import { DataAnalyticsService } from '@/data-analytics/data-analytics.service'; -import { ConfigService } from '@nestjs/config'; import { AlertService } from '@/alert/alert.service'; -import { MerchantMonitoringClient } from '@/business-report/merchant-monitoring-client'; -import { DataAnalyticsModule } from '@/data-analytics/data-analytics.module'; import { AlertModule } from '@/alert/alert.module'; const getBusinessCounterpartyData = (business?: Business) => { diff --git a/services/workflows-service/src/transaction/transaction.repository.ts b/services/workflows-service/src/transaction/transaction.repository.ts index 30a074956d..413883e058 100644 --- a/services/workflows-service/src/transaction/transaction.repository.ts +++ b/services/workflows-service/src/transaction/transaction.repository.ts @@ -7,7 +7,6 @@ import { GetTransactionsDto } from './dtos/get-transactions.dto'; import { DateTimeFilter } from '@/common/query-filters/date-time-filter'; import { toPrismaOrderByGeneric } from '@/workflow/utils/toPrismaOrderBy'; import deepmerge from 'deepmerge'; -import { PageDto } from '@/common/dto'; const DEFAULT_TRANSACTION_ORDER = { transactionDate: Prisma.SortOrder.desc, diff --git a/services/workflows-service/src/workflow-defintion/workflow-definition.repository.ts b/services/workflows-service/src/workflow-defintion/workflow-definition.repository.ts index fffb1213c4..e1a658091f 100644 --- a/services/workflows-service/src/workflow-defintion/workflow-definition.repository.ts +++ b/services/workflows-service/src/workflow-defintion/workflow-definition.repository.ts @@ -159,6 +159,7 @@ export class WorkflowDefinitionRepository { if (workflowDefinition?.isPublic) { throw new Error('Cannot delete public workflow definition templates'); } + return await this.prisma.workflowDefinition.delete( this.scopeService.scopeDelete( {