Skip to content

Commit 918edeb

Browse files
committed
fix: ensure feeds are actually deleted
2 parents 895c8c5 + e432bc6 commit 918edeb

File tree

2 files changed

+44
-34
lines changed

2 files changed

+44
-34
lines changed

components/routes/feed.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ const hasParams = (req, res, next) => {
2020
// make sure we were sent the team id and channel id
2121
if (!teamId || !channelId) {
2222
return res
23-
.redirect(404, '/404.html')
23+
.status(404)
24+
.render('404', {
25+
domain: req.get('host'),
26+
protocol: req.protocol,
27+
layout: 'layouts/default'
28+
})
2429
;
2530
}
2631

@@ -47,7 +52,12 @@ module.exports = function(webserver, controller) {
4752
return next();
4853
} else {
4954
return res
50-
.redirect(404, '/404.html')
55+
.status(404)
56+
.render('404', {
57+
domain: req.get('host'),
58+
protocol: req.protocol,
59+
layout: 'layouts/default'
60+
})
5161
;
5262
}
5363
});

utils/delete-team-data.js

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,45 @@ module.exports = function(controller, teamId) {
44
console.error(`ERROR: could not delete team ${teamId}:`, err);
55
}
66

7-
controller.storage.feeds.find({ teamId }, (err, feeds) => {
7+
controller.storage.feeds.find({}, (err, feeds) => {
88
if (err) {
99
console.error(`ERROR: could not find feeds for team ${teamId}`, err);
1010
}
1111

1212
feeds.forEach((feed) => {
13-
const { channelId } = feed;
13+
if (feed.id.split('::')[0] === teamId) {
14+
controller.storage.feeds.delete(feed.id, (err) => {
15+
if (err) {
16+
console.error(`ERROR: could not delete feed ${teamId}::${feed.id}:`, err);
17+
} else {
18+
if (process.env.ANALYTICS === 'TRUE') {
19+
const pingFeedRequest = {
20+
method: 'GET',
21+
url: `${process.env.FEEDPRESS_API_URL}/feeds/ping.json`,
22+
data: stringify({
23+
feed: `${teamId}-${channelId}`,
24+
}),
25+
params: {
26+
key: process.env.FEEDPRESS_API_KEY,
27+
token: process.env.FEEDPRESS_API_TOKEN,
28+
feed: `${teamId}-${channelId}`,
29+
},
30+
};
1431

15-
controller.storage.feeds.delete(feed.id, (err) => {
16-
if (err) {
17-
console.error(`ERROR: could not delete feed ${teamId}::${feed.id}:`, err);
18-
} else {
19-
if (process.env.ANALYTICS === 'TRUE') {
20-
const pingFeedRequest = {
21-
method: 'GET',
22-
url: `${process.env.FEEDPRESS_API_URL}/feeds/ping.json`,
23-
data: stringify({
24-
feed: `${teamId}-${channelId}`,
25-
}),
26-
params: {
27-
key: process.env.FEEDPRESS_API_KEY,
28-
token: process.env.FEEDPRESS_API_TOKEN,
29-
feed: `${teamId}-${channelId}`,
30-
},
31-
};
32-
33-
axios(pingFeedRequest)
34-
.then(({ data }) => {
35-
if (data.errors && data.errors.length) {
36-
data.errors.forEach((err) => console.error('ERROR:', err));
37-
}
38-
})
39-
.catch((error) => {
40-
console.error('ERROR: could not ping feed for refresh:', error);
41-
})
42-
;
32+
axios(pingFeedRequest)
33+
.then(({ data }) => {
34+
if (data.errors && data.errors.length) {
35+
data.errors.forEach((err) => console.error('ERROR:', err));
36+
}
37+
})
38+
.catch((error) => {
39+
console.error('ERROR: could not ping feed for refresh:', error);
40+
})
41+
;
42+
}
4343
}
44-
}
45-
})
44+
});
45+
}
4646
});
4747
});
4848

0 commit comments

Comments
 (0)