add export data button to user settings, this lets users export their uploads/favorites at will.
This commit is contained in:
@@ -207,7 +207,13 @@
|
||||
"matrix_instructions": "1. Unten ein allgemeines Link-Token generieren.<br>2. <code>!link</code> im Hauptraum senden<br>3. Token in der Bot-DM eingeben",
|
||||
"your_token": "Dein Token:",
|
||||
"one_time_use": "Einmalig verwendbar.",
|
||||
"generate_token": "Link-Token generieren"
|
||||
"generate_token": "Link-Token generieren",
|
||||
"export_data_title": "Daten exportieren",
|
||||
"export_data_desc": "Lade eine Kopie deiner Daten herunter. Dieser Vorgang findet vollständig in deinem Browser statt.",
|
||||
"export_uploads": "Meine Uploads",
|
||||
"export_favorites": "Meine Favoriten",
|
||||
"export_preparing": "Wird vorbereitet...",
|
||||
"start_export": "Export generieren (ZIP)"
|
||||
},
|
||||
"filter": {
|
||||
"tag_placeholder": "Tag ausschließen",
|
||||
|
||||
@@ -207,7 +207,13 @@
|
||||
"matrix_instructions": "1. Generate a generic link token below.<br>2. Send <code>!link</code> in the general<br>3. Reply with your token in the bot dm",
|
||||
"your_token": "Your Token:",
|
||||
"one_time_use": "Valid for one-time use.",
|
||||
"generate_token": "Generate Link Token"
|
||||
"generate_token": "Generate Link Token",
|
||||
"export_data_title": "Export Data",
|
||||
"export_data_desc": "Download a copy of your data. This process happens entirely in your browser.",
|
||||
"export_uploads": "My Uploads",
|
||||
"export_favorites": "My Favorites",
|
||||
"export_preparing": "Preparing...",
|
||||
"start_export": "Generate Export (ZIP)"
|
||||
},
|
||||
"filter": {
|
||||
"tag_placeholder": "Tag to exclude",
|
||||
|
||||
@@ -207,7 +207,13 @@
|
||||
"matrix_instructions": "1. Generate a generic link token below.<br>2. Send <code>!link</code> in the general<br>3. Reply with your token in the bot dm",
|
||||
"your_token": "Je Token:",
|
||||
"one_time_use": "Valid for one-time use.",
|
||||
"generate_token": "Koppelingstoken Genereren"
|
||||
"generate_token": "Koppelingstoken Genereren",
|
||||
"export_data_title": "Gegevens exporteren",
|
||||
"export_data_desc": "Download een kopie van je gegevens. Dit proces vindt volledig plaats in je browser om je privacy te beschermen en serverbronnen te besparen.",
|
||||
"export_uploads": "Jouw uploads",
|
||||
"export_favorites": "Jouw favorieten",
|
||||
"export_preparing": "Voorbereiden...",
|
||||
"start_export": "Export genereren (ZIP)"
|
||||
},
|
||||
"filter": {
|
||||
"tag_placeholder": "Tag om uit te sluiten",
|
||||
|
||||
@@ -206,7 +206,13 @@
|
||||
"matrix_instructions": "1. Erzeugen Sie unten ein allgemeines Verknüpfungskennzeichen.<br>2. Senden Sie <code>!link</code> im Hauptraum<br>3. Antworten Sie mit Ihrem Kennzeichen in der Bot-Direktnachricht",
|
||||
"your_token": "Ihr Kennzeichen:",
|
||||
"one_time_use": "Gültig für den einmaligen Gebrauch.",
|
||||
"generate_token": "Verknüpfungskennzeichen erzeugen"
|
||||
"generate_token": "Verknüpfungskennzeichen erzeugen",
|
||||
"export_data_title": "Daten hinaustransportieren",
|
||||
"export_data_desc": "Laden Sie eine Kopie Ihrer Daten hinunter. Dieser Vorgang findet vollumfänglich in Ihrem Brauser statt.",
|
||||
"export_uploads": "Meine Aufladungen",
|
||||
"export_favorites": "Meine Favorisierungen",
|
||||
"export_preparing": "Vorbereitung wird getroffen...",
|
||||
"start_export": "Paket schnüren"
|
||||
},
|
||||
"filter": {
|
||||
"tag_placeholder": "Auszuschließendes Etikett",
|
||||
|
||||
@@ -58,6 +58,25 @@ export default (router, tpl) => {
|
||||
}, req)
|
||||
});
|
||||
});
|
||||
group.get('/export-data', auth, async (req, res) => {
|
||||
const uploads = await db`
|
||||
select id, dest, mime from items
|
||||
where username = ${req.session.user} and active = true
|
||||
order by id desc
|
||||
`;
|
||||
|
||||
const favorites = await db`
|
||||
select i.id, i.dest, i.mime from items i
|
||||
join favorites f on f.item_id = i.id
|
||||
where f.user_id = ${+req.session.id} and i.active = true
|
||||
order by f.item_id desc
|
||||
`;
|
||||
|
||||
res.reply({
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ uploads, favorites })
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return router;
|
||||
|
||||
Reference in New Issue
Block a user