diff --git a/src/modules/auth/guards/optinalAuth.guard.ts b/src/modules/auth/guards/optinalAuth.guard.ts index 2cb712b..3c93915 100644 --- a/src/modules/auth/guards/optinalAuth.guard.ts +++ b/src/modules/auth/guards/optinalAuth.guard.ts @@ -28,8 +28,7 @@ export class OptionalAuthGuard implements CanActivate { // If no token is provided, allow the request without authentication if (!slug) { - console.log('No slug provided'); - this.logger.warn('No slug provided'); + this.logger.warn('No slug provided'); return false; } if (!token) { diff --git a/src/modules/foods/crone/food.crone.ts b/src/modules/foods/crone/food.crone.ts index 5749702..54bf6ca 100644 --- a/src/modules/foods/crone/food.crone.ts +++ b/src/modules/foods/crone/food.crone.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; +import { CreateRequestContext } from '@mikro-orm/core'; import { EntityManager } from '@mikro-orm/postgresql'; import { Inventory } from '../../inventory/entities/inventory.entity'; @@ -14,6 +15,7 @@ export class FoodStockCrone { name: 'resetAvailableStock', timeZone: 'UTC', }) + @CreateRequestContext() async handleCron() { try { this.logger.debug('Starting daily inventory reset (availableStock = totalStock)'); diff --git a/src/modules/icons/controllers/icons.controller.ts b/src/modules/icons/controllers/icons.controller.ts index e4e65cd..a1dabb1 100644 --- a/src/modules/icons/controllers/icons.controller.ts +++ b/src/modules/icons/controllers/icons.controller.ts @@ -99,10 +99,8 @@ export class IconsController { @UseGuards(SuperAdminAuthGuard) @ApiOperation({ summary: 'Get all icon groups' }) async findAllGroups() { - console.log('find icona'); - const a = await this.groupService.findAllGroups(); - console.log(a); - return a; + const a = await this.groupService.findAllGroups(); + return a; } @Get('super-admin/icons/groups/:id') diff --git a/src/modules/notifications/crone/notification.crone.ts b/src/modules/notifications/crone/notification.crone.ts index 01052fa..f2cb77b 100644 --- a/src/modules/notifications/crone/notification.crone.ts +++ b/src/modules/notifications/crone/notification.crone.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; +import { CreateRequestContext } from '@mikro-orm/core'; import { EntityManager } from '@mikro-orm/postgresql'; import { Notification } from '../entities/notification.entity'; @@ -14,6 +15,7 @@ export class NotificationCrone { name: 'deleteOldNotifications', timeZone: 'UTC', }) + @CreateRequestContext() async handleCron() { try { this.logger.debug('Starting daily notification cleanup (removing notifications older than 24 hours)'); diff --git a/src/modules/notifications/listeners/sms.listeners.ts b/src/modules/notifications/listeners/sms.listeners.ts index 8c2a842..566008f 100644 --- a/src/modules/notifications/listeners/sms.listeners.ts +++ b/src/modules/notifications/listeners/sms.listeners.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; +import { EnsureRequestContext } from '@mikro-orm/core'; import { SmsSentEvent } from '../events/sms.events'; import { RestRepository } from '../../restaurants/repositories/rest.repository'; import { EntityManager } from '@mikro-orm/postgresql'; @@ -16,6 +17,7 @@ export class SmsListeners { } @OnEvent(SmsSentEvent.name) + @EnsureRequestContext() async handleSmsSent(event: SmsSentEvent) { try { this.logger.log( diff --git a/src/modules/notifications/processors/in-app.processor.ts b/src/modules/notifications/processors/in-app.processor.ts index 45c23df..91b35ef 100644 --- a/src/modules/notifications/processors/in-app.processor.ts +++ b/src/modules/notifications/processors/in-app.processor.ts @@ -1,6 +1,7 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq'; import { Logger } from '@nestjs/common'; import { Job } from 'bullmq'; +import { CreateRequestContext } from '@mikro-orm/core'; import { InjectRepository } from '@mikro-orm/nestjs'; import { EntityManager } from '@mikro-orm/postgresql'; import { Notification } from '../entities/notification.entity'; @@ -20,6 +21,7 @@ export class InAppProcessor extends WorkerHost { super(); } + @CreateRequestContext() async process(job: Job): Promise { const { recipient, subject, body, notificationId } = job.data; diff --git a/src/modules/notifications/processors/push.processor.ts b/src/modules/notifications/processors/push.processor.ts index 756ca05..957206c 100644 --- a/src/modules/notifications/processors/push.processor.ts +++ b/src/modules/notifications/processors/push.processor.ts @@ -1,6 +1,7 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq'; import { Logger } from '@nestjs/common'; import { Job } from 'bullmq'; +import { CreateRequestContext } from '@mikro-orm/core'; import { InjectRepository } from '@mikro-orm/nestjs'; import { EntityRepository, EntityManager } from '@mikro-orm/postgresql'; import { Notification } from '../entities/notification.entity'; @@ -21,6 +22,7 @@ export class PushProcessor extends WorkerHost { super(); } + @CreateRequestContext() async process(job: Job) { const { title, content, action, pushToken, pushTokens } = job.data; diff --git a/src/modules/notifications/processors/sms.processor.ts b/src/modules/notifications/processors/sms.processor.ts index 0846e2b..1fa3141 100644 --- a/src/modules/notifications/processors/sms.processor.ts +++ b/src/modules/notifications/processors/sms.processor.ts @@ -1,6 +1,8 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq'; import { Logger } from '@nestjs/common'; import { Job } from 'bullmq'; +import { CreateRequestContext } from '@mikro-orm/core'; +import { MikroORM } from '@mikro-orm/postgresql'; import { UserRepository } from 'src/modules/users/repositories/user.repository'; import { SmsNotificationQueueJob } from '../interfaces/jobs-queue.interface'; import { AdminRepository } from 'src/modules/admin/repositories/admin.repository'; @@ -18,10 +20,12 @@ export class SmsProcessor extends WorkerHost { private readonly userRepository: UserRepository, private readonly smsService: SmsService, private readonly eventEmitter: EventEmitter2, + private readonly orm: MikroORM, ) { super(); } + @CreateRequestContext() async process(job: Job) { const { recipient, templateId, parameters, restaurantId } = job.data; diff --git a/src/modules/orders/crone/order.crone.ts b/src/modules/orders/crone/order.crone.ts index b183cc9..06f1b71 100644 --- a/src/modules/orders/crone/order.crone.ts +++ b/src/modules/orders/crone/order.crone.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; +import { CreateRequestContext } from '@mikro-orm/core'; import { EntityManager } from '@mikro-orm/postgresql'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { Payment } from '../../payments/entities/payment.entity'; @@ -24,6 +25,7 @@ export class OrdersCrone { name: 'failOldOnlinePayments', timeZone: 'UTC', }) + @CreateRequestContext() async cancelOldOnlinePendingOrders() { try { const cutoff = new Date(Date.now() - 15 * 60 * 1000); @@ -96,6 +98,7 @@ export class OrdersCrone { name: 'completeOldDeliveredOrders', timeZone: 'UTC', }) + @CreateRequestContext() async completeOldDeliveredOrders() { try { const cutoff = new Date(Date.now() - 3 * 60 * 60 * 1000); // 3 hours ago diff --git a/src/modules/orders/listeners/order.listeners.ts b/src/modules/orders/listeners/order.listeners.ts index 8a8bfe0..0f572d0 100644 --- a/src/modules/orders/listeners/order.listeners.ts +++ b/src/modules/orders/listeners/order.listeners.ts @@ -1,5 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; +import { EnsureRequestContext } from '@mikro-orm/core'; +import { MikroORM } from '@mikro-orm/postgresql'; import { AdminRepository } from 'src/modules/admin/repositories/admin.repository'; import { OrderCreatedEvent, OrderStatusChangedEvent } from '../events/order.events'; import { Permission } from 'src/common/enums/permission.enum'; @@ -24,6 +26,7 @@ export class OrderListeners { private readonly notificationService: NotificationService, private readonly configService: ConfigService, private readonly userService: UserService, + private readonly orm: MikroORM, ) { this.orderCreatedSmsTemplateId = this.configService.get('SMS_PATTERN_ORDER_CREATED') ?? '123'; this.orderStatusChangedSmsTemplateId = this.configService.get('SMS_PATTERN_ORDER_STATUS_CHANGE') ?? '123'; @@ -45,6 +48,7 @@ export class OrderListeners { } @OnEvent(OrderCreatedEvent.name) + @EnsureRequestContext() async handleOrderCreated(event: OrderCreatedEvent) { try { this.logger.log( @@ -99,6 +103,7 @@ export class OrderListeners { } @OnEvent(OrderStatusChangedEvent.name) + @EnsureRequestContext() async handleOrderStatusChanged(event: OrderStatusChangedEvent) { try { this.logger.log( diff --git a/src/modules/pager/crone/pager.crone.ts b/src/modules/pager/crone/pager.crone.ts index a6c4f5f..14cce9c 100644 --- a/src/modules/pager/crone/pager.crone.ts +++ b/src/modules/pager/crone/pager.crone.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; +import { CreateRequestContext } from '@mikro-orm/core'; import { EntityManager } from '@mikro-orm/postgresql'; import { Pager } from '../entities/pager.entity'; @@ -14,6 +15,7 @@ export class PagerCrone { name: 'deleteOldPagers', timeZone: 'UTC', }) + @CreateRequestContext() async handleCron() { try { this.logger.debug('Starting daily pager cleanup (removing pagers older than 24 hours)'); diff --git a/src/modules/pager/listeners/notification.listeners.ts b/src/modules/pager/listeners/notification.listeners.ts index c1960c6..fee7619 100644 --- a/src/modules/pager/listeners/notification.listeners.ts +++ b/src/modules/pager/listeners/notification.listeners.ts @@ -1,5 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; +import { EnsureRequestContext } from '@mikro-orm/core'; +import { MikroORM } from '@mikro-orm/postgresql'; import { AdminRepository } from 'src/modules/admin/repositories/admin.repository'; import { PagerCreatedEvent } from '../events/pager.events'; import { Permission } from 'src/common/enums/permission.enum'; @@ -15,11 +17,13 @@ export class PagerListeners { private readonly adminService: AdminRepository, private readonly notificationService: NotificationService, private readonly configService: ConfigService, + private readonly orm: MikroORM, ) { this.smsPatternPagerCreated = this.configService.get('SMS_PATTERN_PAGER_CREATED') ?? '123'; } @OnEvent(PagerCreatedEvent.name) + @EnsureRequestContext() async handlePagerCreated(event: PagerCreatedEvent) { try { this.logger.log(`Pager created event received: ${event.restaurantId}`); diff --git a/src/modules/payments/listeners/payment.listeners.ts b/src/modules/payments/listeners/payment.listeners.ts index ed60ca7..84ee0c5 100644 --- a/src/modules/payments/listeners/payment.listeners.ts +++ b/src/modules/payments/listeners/payment.listeners.ts @@ -1,5 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; +import { EnsureRequestContext } from '@mikro-orm/core'; +import { MikroORM } from '@mikro-orm/postgresql'; import { AdminRepository } from 'src/modules/admin/repositories/admin.repository'; import { onlinePaymentSucceedEvent, paymentSucceedEvent } from '../events/payment.events'; import { Permission } from 'src/common/enums/permission.enum'; @@ -18,6 +20,7 @@ export class PaymentListeners { private readonly notificationService: NotificationService, private readonly configService: ConfigService, private readonly orderService: OrdersService, + private readonly orm: MikroORM, ) { this.orderCreatedSmsTemplateId = this.configService.get('SMS_PATTERN_ORDER_CREATED') ?? '123'; this.paymentSucceedSmsTemplateId = this.configService.get('SMS_PATTERN_ONLINE_PAYMENT_SUCCEED') ?? '123'; @@ -33,6 +36,7 @@ export class PaymentListeners { } @OnEvent(paymentSucceedEvent.name) + @EnsureRequestContext() async handlePaymentSucceed(event: paymentSucceedEvent) { try { this.logger.log( @@ -80,6 +84,7 @@ export class PaymentListeners { } @OnEvent(onlinePaymentSucceedEvent.name) + @EnsureRequestContext() async handleOnlinePaymentSucceed(event: onlinePaymentSucceedEvent) { try { diff --git a/src/modules/restaurants/crone/restaurant.crone.ts b/src/modules/restaurants/crone/restaurant.crone.ts index b521563..3441e49 100644 --- a/src/modules/restaurants/crone/restaurant.crone.ts +++ b/src/modules/restaurants/crone/restaurant.crone.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; +import { CreateRequestContext } from '@mikro-orm/core'; import { EntityManager } from '@mikro-orm/postgresql'; import { Restaurant } from '../entities/restaurant.entity'; @@ -14,6 +15,7 @@ export class RestaurantCrone { name: 'deactivateExpiredSubscriptions', timeZone: 'UTC', }) + @CreateRequestContext() async handleCron() { try { this.logger.debug('Starting daily subscription expiration check'); diff --git a/src/modules/restaurants/providers/restaurants.service.ts b/src/modules/restaurants/providers/restaurants.service.ts index 81b1862..a579055 100644 --- a/src/modules/restaurants/providers/restaurants.service.ts +++ b/src/modules/restaurants/providers/restaurants.service.ts @@ -139,10 +139,8 @@ export class RestaurantsService { } async findOneBySubscriptionId(subscriptionId: string): Promise { - console.log('subscriptionId', subscriptionId) - const restaurant = await this.restRepository.findOne({ subscriptionId }); - console.log('restaurant', restaurant) - if (!restaurant) { + const restaurant = await this.restRepository.findOne({ subscriptionId }); + if (!restaurant) { throw new NotFoundException(RestMessage.NOT_FOUND); } return restaurant; diff --git a/src/modules/review/listeners/review.listeners.ts b/src/modules/review/listeners/review.listeners.ts index 69c6a40..5250e18 100644 --- a/src/modules/review/listeners/review.listeners.ts +++ b/src/modules/review/listeners/review.listeners.ts @@ -1,5 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; +import { EnsureRequestContext } from '@mikro-orm/core'; +import { MikroORM } from '@mikro-orm/postgresql'; import { ReviewCreatedEvent } from '../events/review.events'; import { AdminRepository } from 'src/modules/admin/repositories/admin.repository'; import { Permission } from 'src/common/enums/permission.enum'; @@ -16,11 +18,13 @@ export class ReviewListeners { private readonly adminService: AdminRepository, private readonly notificationService: NotificationService, private readonly configService: ConfigService, + private readonly orm: MikroORM, ) { this.reviewCreatedSmsTemplateId = this.configService.get('SMS_PATTERN_REVIEW_CREATED') ?? '123'; } @OnEvent(ReviewCreatedEvent.name) + @EnsureRequestContext() async handleReviewCreated(event: ReviewCreatedEvent) { try { this.logger.log( diff --git a/src/modules/review/providers/food-rating-cron.service.ts b/src/modules/review/providers/food-rating-cron.service.ts index 2053326..e28543f 100644 --- a/src/modules/review/providers/food-rating-cron.service.ts +++ b/src/modules/review/providers/food-rating-cron.service.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; +import { CreateRequestContext } from '@mikro-orm/core'; import { EntityManager } from '@mikro-orm/postgresql'; import { FoodRepository } from '../../foods/repositories/food.repository'; import { ReviewRepository } from '../repositories/review.repository'; @@ -23,6 +24,7 @@ export class FoodRatingCronService { name: 'calculateFoodRatings', timeZone: 'UTC', }) + @CreateRequestContext() async handleCron() { this.logger.log('Starting daily food rating calculation cron job...');