Ultimate fix and tested ! You can download contract now.
This commit is contained in:
+10
-2
@@ -3,8 +3,9 @@
|
||||
// This file is automatically updated during development when running `dev.ts`.
|
||||
|
||||
import * as $_apps_layout from "./routes/(apps)/_layout.tsx";
|
||||
import * as $_apps_middleware from "./routes/(apps)/_middleware.ts";
|
||||
import * as $_apps_mobility_api_insert_mobility from "./routes/(apps)/mobility/api/insert_mobility.ts";
|
||||
import * as $_apps_mobility_api_download from "./routes/(apps)/mobility/api/download.ts";
|
||||
import * as $_apps_mobility_api_download_id_ from "./routes/(apps)/mobility/api/download/[id].ts";
|
||||
import * as $_apps_mobility_api_insert_mobility from "./routes/(apps)/mobility/api/insert-mobility.ts";
|
||||
import * as $_apps_mobility_index from "./routes/(apps)/mobility/index.tsx";
|
||||
import * as $_apps_mobility_partials_admin_edit_mobility from "./routes/(apps)/mobility/partials/(admin)/edit_mobility.tsx";
|
||||
import * as $_apps_mobility_partials_index from "./routes/(apps)/mobility/partials/index.tsx";
|
||||
@@ -40,8 +41,15 @@ import type { Manifest } from "$fresh/server.ts";
|
||||
const manifest = {
|
||||
routes: {
|
||||
"./routes/(apps)/_layout.tsx": $_apps_layout,
|
||||
<<<<<<< HEAD
|
||||
"./routes/(apps)/_middleware.ts": $_apps_middleware,
|
||||
"./routes/(apps)/mobility/api/insert_mobility.ts":
|
||||
=======
|
||||
"./routes/(apps)/mobility/api/download.ts": $_apps_mobility_api_download,
|
||||
"./routes/(apps)/mobility/api/download/[id].ts":
|
||||
$_apps_mobility_api_download_id_,
|
||||
"./routes/(apps)/mobility/api/insert-mobility.ts":
|
||||
>>>>>>> 4f1011d (Ultimate fix and tested ! You can download contract now.)
|
||||
$_apps_mobility_api_insert_mobility,
|
||||
"./routes/(apps)/mobility/index.tsx": $_apps_mobility_index,
|
||||
"./routes/(apps)/mobility/partials/(admin)/edit_mobility.tsx":
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import { Handlers } from "$fresh/server.ts";
|
||||
import connect from "$root/databases/connect.ts";
|
||||
|
||||
export const handler: Handlers = {
|
||||
async GET(_request, ctx) {
|
||||
try {
|
||||
const { id } = ctx.params;
|
||||
|
||||
if (!id) {
|
||||
return new Response("Invalid request: Missing ID", { status: 400 });
|
||||
}
|
||||
|
||||
using connection = connect("mobility");
|
||||
|
||||
const query = connection.database.prepare(
|
||||
"SELECT attestationFile FROM mobility WHERE id = ?",
|
||||
);
|
||||
const result = query.get(id);
|
||||
|
||||
if (!result || !result.attestationFile) {
|
||||
return new Response("No file found for the given ID", { status: 404 });
|
||||
}
|
||||
|
||||
return new Response(result.attestationFile, {
|
||||
status: 200,
|
||||
headers: {
|
||||
"Content-Type": "application/pdf",
|
||||
"Content-Disposition": `attachment; filename="attestation_${id}.pdf"`,
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Error fetching file:", error);
|
||||
return new Response("Failed to fetch file", { status: 500 });
|
||||
}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user