fix pdf generation

This commit is contained in:
Emily
2024-06-06 15:15:34 +02:00
parent c0a9194cb9
commit 04d035fa97
2 changed files with 18 additions and 10 deletions

View File

@@ -6,17 +6,22 @@ const activeProject = useActiveProject();
async function generatePDF() { async function generatePDF() {
const res = await $fetch<Blob>('/api/project/generate_pdf', {
...signHeaders(),
responseType: 'blob'
});
const url = URL.createObjectURL(res); try {
const a = document.createElement('a'); const res = await $fetch<Blob>('/api/project/generate_pdf', {
a.href = url; ...signHeaders(),
a.download = `Report.pdf`; responseType: 'blob'
a.click(); });
URL.revokeObjectURL(url);
const url = URL.createObjectURL(res);
const a = document.createElement('a');
a.href = url;
a.download = `Report.pdf`;
a.click();
URL.revokeObjectURL(url);
} catch (ex: any) {
alert(ex.message);
}
} }
</script> </script>

View File

@@ -129,6 +129,9 @@ export default defineEventHandler(async event => {
const firstEventDate = await EventModel.findOne({ project_id: project._id }, { created_at: 1 }, { sort: { created_at: 1 } }); const firstEventDate = await EventModel.findOne({ project_id: project._id }, { created_at: 1 }, { sort: { created_at: 1 } });
const firstViewDate = await VisitModel.findOne({ project_id: project._id }, { created_at: 1 }, { sort: { created_at: 1 } }); const firstViewDate = await VisitModel.findOne({ project_id: project._id }, { created_at: 1 }, { sort: { created_at: 1 } });
if (!firstEventDate || !firstViewDate) {
return setResponseStatus(event, 400, 'Not enough data to generate report');
}
const avgEventsDay = () => { const avgEventsDay = () => {
const days = (Date.now() - (firstEventDate?.created_at.getTime() || 0)) / 1000 / 60 / 60 / 24; const days = (Date.now() - (firstEventDate?.created_at.getTime() || 0)) / 1000 / 60 / 60 / 24;