@@ -3,12 +3,15 @@ import mongoose from "mongoose";
33import cors from "cors" ;
44import cookieParser from "cookie-parser" ;
55import passport from "passport" ;
6+ import cron from "node-cron" ;
67
78import refreshTokenRoute from "./routes/refreshtoken" ;
89import userRoute from "./routes/userRoutes" ;
910import googleAuthRoutes from "./routes/googleAuthRoutes" ;
1011import meetingRoute from "./routes/meetingRoutes" ;
1112import pollRoutes from "./routes/pollRoutes" ;
13+ import { Meeting } from "./model/Meeting" ;
14+ // import { mailer } from "./config/mailer"; // Uncomment this in production
1215require ( "./config/google-oauth" ) ;
1316
1417// eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -48,6 +51,24 @@ app.get("/", (_, res) => {
4851 res . send ( "hello world" ) ;
4952} ) ;
5053
54+ // EMAIL
55+ cron . schedule ( "0 0 * * *" , async ( ) => {
56+ const data = await Meeting . find ( ) ;
57+ const tom = new Date ( ) ;
58+ tom . setDate ( tom . getDate ( ) + 1 ) ;
59+ data . forEach ( ( e ) => {
60+ const date = new Date ( e . datetime ) ;
61+ if ( date . toISOString ( ) <= tom . toISOString ( ) ) {
62+ console . log ( "sending mail..." ) ;
63+ // UNCOMMENT below in production
64+ // const registers = e.registered;
65+ // const earr = registers.map(e=>e.email);
66+ // const emails = earr.join(", ");
67+ // mailer(emails);
68+ }
69+ } ) ;
70+ } ) ;
71+
5172// LISTEN
5273const port = process . env . PORT ? process . env . PORT : 5000 ;
5374app . listen ( port , ( ) => {
0 commit comments