Changes in src/routes/posts.js [e9ec5e4:d7e72b8] in Klonkt
- File:
-
- 1 edited
-
src/routes/posts.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/posts.js
re9ec5e4 rd7e72b8 1285 1285 }); 1286 1286 1287 // ── Je volglijst meenemen ─────────────────────────────────────────1288 //1289 // Zonder dit was verhuizen halfslachtig: de Move vertelt je VOLGERS waar je heen1290 // ging, maar niets vertelde JOU wie jij volgde. Die lijst stond alleen in de1291 // database die je achterlaat.1292 router.get('/news/following.csv', requireSiteManager, async (req, res) => {1293 const site = res.locals.site;1294 const { followingCsv } = await import('../services/ArchiveExportService.js');1295 const csv = site ? followingCsv(site.slug) : null;1296 if (!csv) return res.redirect('/following?error=' + encodeURIComponent('Je volgt nog niemand'));1297 res.set('Content-Type', 'text/csv; charset=utf-8');1298 res.set('Content-Disposition', `attachment; filename="following-${site.slug}.csv"`);1299 // Privé: dit is de lijst van wie jij volgt, niets voor een cache onderweg.1300 res.set('Cache-Control', 'private, no-store');1301 res.send(csv);1302 });1303 1304 router.post('/news/following/import', requireSiteManager, express.urlencoded({ extended: false, limit: '256kb' }), async (req, res) => {1305 const site = res.locals.site;1306 const csv = (req.body && req.body.csv) || '';1307 if (!site || !String(csv).trim()) return res.redirect('/following?error=' + encodeURIComponent('Geen lijst ontvangen'));1308 1309 const { importFollowing } = await import('../services/ArchiveImportService.js');1310 // followActor als followFn: die doet de webfinger, stuurt de Follow en zet1311 // auto_boost meteen goed. Zo blijft er één pad naar een volgrelatie.1312 const r = await importFollowing(site, csv, {1313 followFn: async (s, adres, uitgelicht) => {1314 const uit = await ActivityPubService.followActor(s, adres, !!uitgelicht);1315 // followActor meldt een fout als VELD, niet als exception. Zonder deze1316 // vertaling telde een onvindbaar account gewoon als geslaagd mee.1317 if (uit && uit.error) throw new Error(uit.error);1318 return true;1319 },1320 });1321 1322 const delen = [`${r.gevolgd} gevolgd`];1323 if (r.overgeslagen) delen.push(`${r.overgeslagen} overgeslagen`);1324 if (r.mislukt.length) {1325 const namen = r.mislukt.slice(0, 3).map((m) => m.adres).join(', ');1326 delen.push(`${r.mislukt.length} mislukt (${namen}${r.mislukt.length > 3 ? '…' : ''})`);1327 }1328 res.redirect('/following?' + (r.mislukt.length ? 'error=' : 'success=') + encodeURIComponent(delen.join(', ')));1329 });1330 1331 1287 router.post('/news/unfollow', requireSiteManager, async (req, res) => { 1332 1288 const site = res.locals.site;
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)