use global context
This commit is contained in:
@@ -28,8 +28,7 @@ export class OptionalAuthGuard implements CanActivate {
|
|||||||
|
|
||||||
// If no token is provided, allow the request without authentication
|
// If no token is provided, allow the request without authentication
|
||||||
if (!slug) {
|
if (!slug) {
|
||||||
console.log('No slug provided');
|
this.logger.warn('No slug provided');
|
||||||
this.logger.warn('No slug provided');
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!token) {
|
if (!token) {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { Inventory } from '../../inventory/entities/inventory.entity';
|
import { Inventory } from '../../inventory/entities/inventory.entity';
|
||||||
|
|
||||||
@@ -14,6 +15,7 @@ export class FoodStockCrone {
|
|||||||
name: 'resetAvailableStock',
|
name: 'resetAvailableStock',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async handleCron() {
|
async handleCron() {
|
||||||
try {
|
try {
|
||||||
this.logger.debug('Starting daily inventory reset (availableStock = totalStock)');
|
this.logger.debug('Starting daily inventory reset (availableStock = totalStock)');
|
||||||
|
|||||||
@@ -99,10 +99,8 @@ export class IconsController {
|
|||||||
@UseGuards(SuperAdminAuthGuard)
|
@UseGuards(SuperAdminAuthGuard)
|
||||||
@ApiOperation({ summary: 'Get all icon groups' })
|
@ApiOperation({ summary: 'Get all icon groups' })
|
||||||
async findAllGroups() {
|
async findAllGroups() {
|
||||||
console.log('find icona');
|
const a = await this.groupService.findAllGroups();
|
||||||
const a = await this.groupService.findAllGroups();
|
return a;
|
||||||
console.log(a);
|
|
||||||
return a;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get('super-admin/icons/groups/:id')
|
@Get('super-admin/icons/groups/:id')
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { Notification } from '../entities/notification.entity';
|
import { Notification } from '../entities/notification.entity';
|
||||||
|
|
||||||
@@ -14,6 +15,7 @@ export class NotificationCrone {
|
|||||||
name: 'deleteOldNotifications',
|
name: 'deleteOldNotifications',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async handleCron() {
|
async handleCron() {
|
||||||
try {
|
try {
|
||||||
this.logger.debug('Starting daily notification cleanup (removing notifications older than 24 hours)');
|
this.logger.debug('Starting daily notification cleanup (removing notifications older than 24 hours)');
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { OnEvent } from '@nestjs/event-emitter';
|
import { OnEvent } from '@nestjs/event-emitter';
|
||||||
|
import { EnsureRequestContext } from '@mikro-orm/core';
|
||||||
import { SmsSentEvent } from '../events/sms.events';
|
import { SmsSentEvent } from '../events/sms.events';
|
||||||
import { RestRepository } from '../../restaurants/repositories/rest.repository';
|
import { RestRepository } from '../../restaurants/repositories/rest.repository';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
@@ -16,6 +17,7 @@ export class SmsListeners {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(SmsSentEvent.name)
|
@OnEvent(SmsSentEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handleSmsSent(event: SmsSentEvent) {
|
async handleSmsSent(event: SmsSentEvent) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(
|
this.logger.log(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
||||||
import { Logger } from '@nestjs/common';
|
import { Logger } from '@nestjs/common';
|
||||||
import { Job } from 'bullmq';
|
import { Job } from 'bullmq';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { InjectRepository } from '@mikro-orm/nestjs';
|
import { InjectRepository } from '@mikro-orm/nestjs';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { Notification } from '../entities/notification.entity';
|
import { Notification } from '../entities/notification.entity';
|
||||||
@@ -20,6 +21,7 @@ export class InAppProcessor extends WorkerHost {
|
|||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@CreateRequestContext()
|
||||||
async process(job: Job<InAppNotificationQueueJob>): Promise<void> {
|
async process(job: Job<InAppNotificationQueueJob>): Promise<void> {
|
||||||
const { recipient, subject, body, notificationId } = job.data;
|
const { recipient, subject, body, notificationId } = job.data;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
||||||
import { Logger } from '@nestjs/common';
|
import { Logger } from '@nestjs/common';
|
||||||
import { Job } from 'bullmq';
|
import { Job } from 'bullmq';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { InjectRepository } from '@mikro-orm/nestjs';
|
import { InjectRepository } from '@mikro-orm/nestjs';
|
||||||
import { EntityRepository, EntityManager } from '@mikro-orm/postgresql';
|
import { EntityRepository, EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { Notification } from '../entities/notification.entity';
|
import { Notification } from '../entities/notification.entity';
|
||||||
@@ -21,6 +22,7 @@ export class PushProcessor extends WorkerHost {
|
|||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@CreateRequestContext()
|
||||||
async process(job: Job<PushNotificationQueueJob>) {
|
async process(job: Job<PushNotificationQueueJob>) {
|
||||||
const { title, content, action, pushToken, pushTokens } = job.data;
|
const { title, content, action, pushToken, pushTokens } = job.data;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
||||||
import { Logger } from '@nestjs/common';
|
import { Logger } from '@nestjs/common';
|
||||||
import { Job } from 'bullmq';
|
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 { UserRepository } from 'src/modules/users/repositories/user.repository';
|
||||||
import { SmsNotificationQueueJob } from '../interfaces/jobs-queue.interface';
|
import { SmsNotificationQueueJob } from '../interfaces/jobs-queue.interface';
|
||||||
import { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
import { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
||||||
@@ -18,10 +20,12 @@ export class SmsProcessor extends WorkerHost {
|
|||||||
private readonly userRepository: UserRepository,
|
private readonly userRepository: UserRepository,
|
||||||
private readonly smsService: SmsService,
|
private readonly smsService: SmsService,
|
||||||
private readonly eventEmitter: EventEmitter2,
|
private readonly eventEmitter: EventEmitter2,
|
||||||
|
private readonly orm: MikroORM,
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@CreateRequestContext()
|
||||||
async process(job: Job<SmsNotificationQueueJob>) {
|
async process(job: Job<SmsNotificationQueueJob>) {
|
||||||
const { recipient, templateId, parameters, restaurantId } = job.data;
|
const { recipient, templateId, parameters, restaurantId } = job.data;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||||
import { Payment } from '../../payments/entities/payment.entity';
|
import { Payment } from '../../payments/entities/payment.entity';
|
||||||
@@ -24,6 +25,7 @@ export class OrdersCrone {
|
|||||||
name: 'failOldOnlinePayments',
|
name: 'failOldOnlinePayments',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async cancelOldOnlinePendingOrders() {
|
async cancelOldOnlinePendingOrders() {
|
||||||
try {
|
try {
|
||||||
const cutoff = new Date(Date.now() - 15 * 60 * 1000);
|
const cutoff = new Date(Date.now() - 15 * 60 * 1000);
|
||||||
@@ -96,6 +98,7 @@ export class OrdersCrone {
|
|||||||
name: 'completeOldDeliveredOrders',
|
name: 'completeOldDeliveredOrders',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async completeOldDeliveredOrders() {
|
async completeOldDeliveredOrders() {
|
||||||
try {
|
try {
|
||||||
const cutoff = new Date(Date.now() - 3 * 60 * 60 * 1000); // 3 hours ago
|
const cutoff = new Date(Date.now() - 3 * 60 * 60 * 1000); // 3 hours ago
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { OnEvent } from '@nestjs/event-emitter';
|
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 { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
||||||
import { OrderCreatedEvent, OrderStatusChangedEvent } from '../events/order.events';
|
import { OrderCreatedEvent, OrderStatusChangedEvent } from '../events/order.events';
|
||||||
import { Permission } from 'src/common/enums/permission.enum';
|
import { Permission } from 'src/common/enums/permission.enum';
|
||||||
@@ -24,6 +26,7 @@ export class OrderListeners {
|
|||||||
private readonly notificationService: NotificationService,
|
private readonly notificationService: NotificationService,
|
||||||
private readonly configService: ConfigService,
|
private readonly configService: ConfigService,
|
||||||
private readonly userService: UserService,
|
private readonly userService: UserService,
|
||||||
|
private readonly orm: MikroORM,
|
||||||
) {
|
) {
|
||||||
this.orderCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_CREATED') ?? '123';
|
this.orderCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_CREATED') ?? '123';
|
||||||
this.orderStatusChangedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_STATUS_CHANGE') ?? '123';
|
this.orderStatusChangedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_STATUS_CHANGE') ?? '123';
|
||||||
@@ -45,6 +48,7 @@ export class OrderListeners {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(OrderCreatedEvent.name)
|
@OnEvent(OrderCreatedEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handleOrderCreated(event: OrderCreatedEvent) {
|
async handleOrderCreated(event: OrderCreatedEvent) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(
|
this.logger.log(
|
||||||
@@ -99,6 +103,7 @@ export class OrderListeners {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(OrderStatusChangedEvent.name)
|
@OnEvent(OrderStatusChangedEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handleOrderStatusChanged(event: OrderStatusChangedEvent) {
|
async handleOrderStatusChanged(event: OrderStatusChangedEvent) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(
|
this.logger.log(
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { Pager } from '../entities/pager.entity';
|
import { Pager } from '../entities/pager.entity';
|
||||||
|
|
||||||
@@ -14,6 +15,7 @@ export class PagerCrone {
|
|||||||
name: 'deleteOldPagers',
|
name: 'deleteOldPagers',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async handleCron() {
|
async handleCron() {
|
||||||
try {
|
try {
|
||||||
this.logger.debug('Starting daily pager cleanup (removing pagers older than 24 hours)');
|
this.logger.debug('Starting daily pager cleanup (removing pagers older than 24 hours)');
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { OnEvent } from '@nestjs/event-emitter';
|
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 { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
||||||
import { PagerCreatedEvent } from '../events/pager.events';
|
import { PagerCreatedEvent } from '../events/pager.events';
|
||||||
import { Permission } from 'src/common/enums/permission.enum';
|
import { Permission } from 'src/common/enums/permission.enum';
|
||||||
@@ -15,11 +17,13 @@ export class PagerListeners {
|
|||||||
private readonly adminService: AdminRepository,
|
private readonly adminService: AdminRepository,
|
||||||
private readonly notificationService: NotificationService,
|
private readonly notificationService: NotificationService,
|
||||||
private readonly configService: ConfigService,
|
private readonly configService: ConfigService,
|
||||||
|
private readonly orm: MikroORM,
|
||||||
) {
|
) {
|
||||||
this.smsPatternPagerCreated = this.configService.get<string>('SMS_PATTERN_PAGER_CREATED') ?? '123';
|
this.smsPatternPagerCreated = this.configService.get<string>('SMS_PATTERN_PAGER_CREATED') ?? '123';
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(PagerCreatedEvent.name)
|
@OnEvent(PagerCreatedEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handlePagerCreated(event: PagerCreatedEvent) {
|
async handlePagerCreated(event: PagerCreatedEvent) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(`Pager created event received: ${event.restaurantId}`);
|
this.logger.log(`Pager created event received: ${event.restaurantId}`);
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { OnEvent } from '@nestjs/event-emitter';
|
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 { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
||||||
import { onlinePaymentSucceedEvent, paymentSucceedEvent } from '../events/payment.events';
|
import { onlinePaymentSucceedEvent, paymentSucceedEvent } from '../events/payment.events';
|
||||||
import { Permission } from 'src/common/enums/permission.enum';
|
import { Permission } from 'src/common/enums/permission.enum';
|
||||||
@@ -18,6 +20,7 @@ export class PaymentListeners {
|
|||||||
private readonly notificationService: NotificationService,
|
private readonly notificationService: NotificationService,
|
||||||
private readonly configService: ConfigService,
|
private readonly configService: ConfigService,
|
||||||
private readonly orderService: OrdersService,
|
private readonly orderService: OrdersService,
|
||||||
|
private readonly orm: MikroORM,
|
||||||
) {
|
) {
|
||||||
this.orderCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_CREATED') ?? '123';
|
this.orderCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ORDER_CREATED') ?? '123';
|
||||||
this.paymentSucceedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ONLINE_PAYMENT_SUCCEED') ?? '123';
|
this.paymentSucceedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_ONLINE_PAYMENT_SUCCEED') ?? '123';
|
||||||
@@ -33,6 +36,7 @@ export class PaymentListeners {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(paymentSucceedEvent.name)
|
@OnEvent(paymentSucceedEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handlePaymentSucceed(event: paymentSucceedEvent) {
|
async handlePaymentSucceed(event: paymentSucceedEvent) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(
|
this.logger.log(
|
||||||
@@ -80,6 +84,7 @@ export class PaymentListeners {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(onlinePaymentSucceedEvent.name)
|
@OnEvent(onlinePaymentSucceedEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handleOnlinePaymentSucceed(event: onlinePaymentSucceedEvent) {
|
async handleOnlinePaymentSucceed(event: onlinePaymentSucceedEvent) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { Restaurant } from '../entities/restaurant.entity';
|
import { Restaurant } from '../entities/restaurant.entity';
|
||||||
|
|
||||||
@@ -14,6 +15,7 @@ export class RestaurantCrone {
|
|||||||
name: 'deactivateExpiredSubscriptions',
|
name: 'deactivateExpiredSubscriptions',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async handleCron() {
|
async handleCron() {
|
||||||
try {
|
try {
|
||||||
this.logger.debug('Starting daily subscription expiration check');
|
this.logger.debug('Starting daily subscription expiration check');
|
||||||
|
|||||||
@@ -139,10 +139,8 @@ export class RestaurantsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async findOneBySubscriptionId(subscriptionId: string): Promise<Restaurant> {
|
async findOneBySubscriptionId(subscriptionId: string): Promise<Restaurant> {
|
||||||
console.log('subscriptionId', subscriptionId)
|
const restaurant = await this.restRepository.findOne({ subscriptionId });
|
||||||
const restaurant = await this.restRepository.findOne({ subscriptionId });
|
if (!restaurant) {
|
||||||
console.log('restaurant', restaurant)
|
|
||||||
if (!restaurant) {
|
|
||||||
throw new NotFoundException(RestMessage.NOT_FOUND);
|
throw new NotFoundException(RestMessage.NOT_FOUND);
|
||||||
}
|
}
|
||||||
return restaurant;
|
return restaurant;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { OnEvent } from '@nestjs/event-emitter';
|
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 { ReviewCreatedEvent } from '../events/review.events';
|
||||||
import { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
import { AdminRepository } from 'src/modules/admin/repositories/admin.repository';
|
||||||
import { Permission } from 'src/common/enums/permission.enum';
|
import { Permission } from 'src/common/enums/permission.enum';
|
||||||
@@ -16,11 +18,13 @@ export class ReviewListeners {
|
|||||||
private readonly adminService: AdminRepository,
|
private readonly adminService: AdminRepository,
|
||||||
private readonly notificationService: NotificationService,
|
private readonly notificationService: NotificationService,
|
||||||
private readonly configService: ConfigService,
|
private readonly configService: ConfigService,
|
||||||
|
private readonly orm: MikroORM,
|
||||||
) {
|
) {
|
||||||
this.reviewCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_REVIEW_CREATED') ?? '123';
|
this.reviewCreatedSmsTemplateId = this.configService.get<string>('SMS_PATTERN_REVIEW_CREATED') ?? '123';
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent(ReviewCreatedEvent.name)
|
@OnEvent(ReviewCreatedEvent.name)
|
||||||
|
@EnsureRequestContext()
|
||||||
async handleReviewCreated(event: ReviewCreatedEvent) {
|
async handleReviewCreated(event: ReviewCreatedEvent) {
|
||||||
try {
|
try {
|
||||||
this.logger.log(
|
this.logger.log(
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Injectable, Logger } from '@nestjs/common';
|
import { Injectable, Logger } from '@nestjs/common';
|
||||||
import { Cron } from '@nestjs/schedule';
|
import { Cron } from '@nestjs/schedule';
|
||||||
|
import { CreateRequestContext } from '@mikro-orm/core';
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
import { FoodRepository } from '../../foods/repositories/food.repository';
|
import { FoodRepository } from '../../foods/repositories/food.repository';
|
||||||
import { ReviewRepository } from '../repositories/review.repository';
|
import { ReviewRepository } from '../repositories/review.repository';
|
||||||
@@ -23,6 +24,7 @@ export class FoodRatingCronService {
|
|||||||
name: 'calculateFoodRatings',
|
name: 'calculateFoodRatings',
|
||||||
timeZone: 'UTC',
|
timeZone: 'UTC',
|
||||||
})
|
})
|
||||||
|
@CreateRequestContext()
|
||||||
async handleCron() {
|
async handleCron() {
|
||||||
this.logger.log('Starting daily food rating calculation cron job...');
|
this.logger.log('Starting daily food rating calculation cron job...');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user