Skip to content

Commit 53019a0

Browse files
committed
add npm script for scripts, fix script, fix deleted user redirect
1 parent ffb2f8f commit 53019a0

File tree

3 files changed

+21
-8
lines changed

3 files changed

+21
-8
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"precommit": "lint-staged",
1919
"jest:setup": "node ./server/tests/setup.js",
2020
"jest": "NODE_ENV=test npm run jest:setup && ./node_modules/.bin/jest --detectOpenHandles",
21-
"jest:watch": "NODE_ENV=test npm run jest:setup && ./node_modules/.bin/jest --watch"
21+
"jest:watch": "NODE_ENV=test npm run jest:setup && ./node_modules/.bin/jest --watch",
22+
"script": "NODE_ENV=production ts-node --files --transpile-only"
2223
},
2324
"author": "",
2425
"license": "ISC",

server/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ nextjs.nextApp.prepare().then(async () => {
5555
app.use(
5656
(
5757
err: Error,
58-
_: express.Request,
58+
req: express.Request,
5959
res: express.Response,
6060
next: express.NextFunction,
6161
) => {
6262
if (err) {
63+
req.logout();
6364
return res.redirect('/');
6465
}
6566

server/scripts/deleteExpiredEventsAndUsers.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import 'module-alias/register';
2+
import * as dotenv from 'dotenv';
3+
dotenv.config();
4+
15
import initDB from 'server/lib/db';
26
import { Event, User } from 'server/models';
37

@@ -14,17 +18,17 @@ async function deleteExpiredEventsAndUsers() {
1418

1519
const eventIds = expiredEvents.map(e => e._id);
1620

17-
await User.updateMany(
21+
const updatedUsers = await User.updateMany(
1822
{},
1923
{
20-
events: {
21-
$pullAll: { _id: eventIds },
24+
$pull: {
25+
events: { eventId: { $in: eventIds } },
2226
},
2327
},
2428
{ session },
2529
);
2630

27-
await User.deleteMany(
31+
const deletedUsers = await User.deleteMany(
2832
{
2933
events: {
3034
$size: 0,
@@ -36,9 +40,9 @@ async function deleteExpiredEventsAndUsers() {
3640
{ session },
3741
);
3842

39-
await Event.deleteMany(
43+
const deletedEvents = await Event.deleteMany(
4044
{
41-
endsAt: { $gte: oneWeekAgo },
45+
endsAt: { $lte: oneWeekAgo },
4246
},
4347
// same as above
4448
// @ts-ignore
@@ -48,6 +52,13 @@ async function deleteExpiredEventsAndUsers() {
4852
await session.commitTransaction();
4953

5054
console.log(`success deleteExpiredEventsAndUsers since ${oneWeekAgo}`);
55+
console.log(
56+
[
57+
`updated users: ${updatedUsers.nModified - deletedUsers.deletedCount}`,
58+
`deleted users: ${deletedUsers.deletedCount}`,
59+
`deleted events: ${deletedEvents.deletedCount}`,
60+
].join('\n'),
61+
);
5162
}
5263

5364
deleteExpiredEventsAndUsers().then(() => process.exit(0));

0 commit comments

Comments
 (0)