@@ -106,12 +106,33 @@ const triggerTestJob = async (req: Request, res: Response): Promise<void> => {
106106 }
107107}
108108
109+ const triggerWeeklyEmailReminder = async ( req : Request , res : Response ) : Promise < void > => {
110+ try {
111+ const job = await jobQueueService . triggerWeeklyEmailReminder ( )
112+ res . json ( {
113+ success : true ,
114+ message : 'Weekly email reminder job triggered' ,
115+ data : {
116+ jobId : job . id ,
117+ jobName : job . name
118+ }
119+ } )
120+ } catch ( error ) {
121+ res . status ( 500 ) . json ( {
122+ success : false ,
123+ error : 'Failed to trigger weekly email reminder' ,
124+ details : error instanceof Error ? error . message : 'Unknown error'
125+ } )
126+ }
127+ }
128+
109129// Protected routes - require authentication
110130router . get ( '/stats' , AuthMiddleware . authenticateToken , asyncHandler ( getQueueStats ) )
111131router . post ( '/trigger/new-users' , AuthMiddleware . authenticateToken , asyncHandler ( triggerNewUserCheck ) )
112132router . post ( '/trigger/paid-users' , AuthMiddleware . authenticateToken , asyncHandler ( triggerPaidUserCheck ) )
113133router . post ( '/trigger/inactive-users' , AuthMiddleware . authenticateToken , asyncHandler ( triggerInactiveUserCheck ) )
114134router . post ( '/trigger/test' , AuthMiddleware . authenticateToken , asyncHandler ( triggerTestJob ) )
135+ router . post ( '/trigger/weekly-email-reminder' , AuthMiddleware . authenticateToken , asyncHandler ( triggerWeeklyEmailReminder ) )
115136
116137export const JobQueueController = {
117138 router,
@@ -120,4 +141,5 @@ export const JobQueueController = {
120141 triggerPaidUserCheck,
121142 triggerInactiveUserCheck,
122143 triggerTestJob,
144+ triggerWeeklyEmailReminder,
123145}
0 commit comments