@tulip-systems/drive 0.8.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.mts +5 -0
- package/dist/client.mjs +6 -0
- package/dist/components/content.d.mts +14 -0
- package/dist/components/content.d.mts.map +1 -0
- package/dist/components/content.mjs +18 -0
- package/dist/components/content.mjs.map +1 -0
- package/dist/components/context.client.d.mts +14 -0
- package/dist/components/context.client.d.mts.map +1 -0
- package/dist/components/dnd.client.d.mts +17 -0
- package/dist/components/dnd.client.d.mts.map +1 -0
- package/dist/components/dnd.client.mjs +30 -0
- package/dist/components/dnd.client.mjs.map +1 -0
- package/dist/components/grid-card.client.d.mts +43 -0
- package/dist/components/grid-card.client.d.mts.map +1 -0
- package/dist/components/grid-card.client.mjs +173 -0
- package/dist/components/grid-card.client.mjs.map +1 -0
- package/dist/components/grid.client.d.mts +54 -0
- package/dist/components/grid.client.d.mts.map +1 -0
- package/dist/components/grid.client.mjs +54 -0
- package/dist/components/grid.client.mjs.map +1 -0
- package/dist/components/navigation/breadcrumbs.client.d.mts +26 -0
- package/dist/components/navigation/breadcrumbs.client.d.mts.map +1 -0
- package/dist/components/navigation/breadcrumbs.client.mjs +52 -0
- package/dist/components/navigation/breadcrumbs.client.mjs.map +1 -0
- package/dist/components/navigation/header.client.d.mts +28 -0
- package/dist/components/navigation/header.client.d.mts.map +1 -0
- package/dist/components/navigation/header.client.mjs +41 -0
- package/dist/components/navigation/header.client.mjs.map +1 -0
- package/dist/components/navigation/toolbar.client.d.mts +24 -0
- package/dist/components/navigation/toolbar.client.d.mts.map +1 -0
- package/dist/components/navigation/toolbar.client.mjs +35 -0
- package/dist/components/navigation/toolbar.client.mjs.map +1 -0
- package/dist/components/navigation/view-switcher.client.d.mts +10 -0
- package/dist/components/navigation/view-switcher.client.d.mts.map +1 -0
- package/dist/components/navigation/view-switcher.client.mjs +36 -0
- package/dist/components/navigation/view-switcher.client.mjs.map +1 -0
- package/dist/components/selection.client.d.mts +28 -0
- package/dist/components/selection.client.d.mts.map +1 -0
- package/dist/components/selection.client.mjs +39 -0
- package/dist/components/selection.client.mjs.map +1 -0
- package/dist/components/view.client.d.mts +26 -0
- package/dist/components/view.client.d.mts.map +1 -0
- package/dist/components/view.client.mjs +44 -0
- package/dist/components/view.client.mjs.map +1 -0
- package/dist/config/filters.mjs +15 -0
- package/dist/config/filters.mjs.map +1 -0
- package/dist/config/types.mjs +61 -0
- package/dist/config/types.mjs.map +1 -0
- package/dist/google/client.d.mts +8 -0
- package/dist/google/client.mjs +9 -0
- package/dist/google/server.d.mts +3 -0
- package/dist/google/server.mjs +4 -0
- package/dist/google.d.mts +6 -0
- package/dist/google.mjs +7 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.mjs +7 -0
- package/dist/lib/constants.d.mts +12 -0
- package/dist/lib/constants.d.mts.map +1 -0
- package/dist/lib/constants.mjs +21 -0
- package/dist/lib/constants.mjs.map +1 -0
- package/dist/lib/contracts.d.mts +101 -0
- package/dist/lib/contracts.d.mts.map +1 -0
- package/dist/lib/dto.d.mts +118 -0
- package/dist/lib/dto.d.mts.map +1 -0
- package/dist/lib/dto.mjs +58 -0
- package/dist/lib/dto.mjs.map +1 -0
- package/dist/lib/helpers.d.mts +18 -0
- package/dist/lib/helpers.d.mts.map +1 -0
- package/dist/lib/helpers.mjs +37 -0
- package/dist/lib/helpers.mjs.map +1 -0
- package/dist/lib/helpers.server.d.mts +14 -0
- package/dist/lib/helpers.server.d.mts.map +1 -0
- package/dist/lib/helpers.server.mjs +16 -0
- package/dist/lib/helpers.server.mjs.map +1 -0
- package/dist/lib/search-params.d.mts +9 -0
- package/dist/lib/search-params.d.mts.map +1 -0
- package/dist/lib/search-params.mjs +8 -0
- package/dist/lib/search-params.mjs.map +1 -0
- package/dist/lib/validators.d.mts +158 -0
- package/dist/lib/validators.d.mts.map +1 -0
- package/dist/lib/validators.mjs +66 -0
- package/dist/lib/validators.mjs.map +1 -0
- package/dist/local/client.d.mts +13 -0
- package/dist/local/client.mjs +13 -0
- package/dist/local/server.d.mts +4 -0
- package/dist/local/server.mjs +5 -0
- package/dist/local.d.mts +8 -0
- package/dist/local.mjs +9 -0
- package/dist/providers/google/components/command-file-update.d.mts +22 -0
- package/dist/providers/google/components/command-file-update.d.mts.map +1 -0
- package/dist/providers/google/components/command-file-update.mjs +52 -0
- package/dist/providers/google/components/command-file-update.mjs.map +1 -0
- package/dist/providers/google/components/command-folder-create.d.mts +22 -0
- package/dist/providers/google/components/command-folder-create.d.mts.map +1 -0
- package/dist/providers/google/components/command-folder-create.mjs +59 -0
- package/dist/providers/google/components/command-folder-create.mjs.map +1 -0
- package/dist/providers/google/components/command-folder-update.d.mts +22 -0
- package/dist/providers/google/components/command-folder-update.d.mts.map +1 -0
- package/dist/providers/google/components/command-folder-update.mjs +52 -0
- package/dist/providers/google/components/command-folder-update.mjs.map +1 -0
- package/dist/providers/google/components/content.client.d.mts +10 -0
- package/dist/providers/google/components/content.client.d.mts.map +1 -0
- package/dist/providers/google/components/content.client.mjs +11 -0
- package/dist/providers/google/components/content.client.mjs.map +1 -0
- package/dist/providers/google/components/navigation.client.d.mts +16 -0
- package/dist/providers/google/components/navigation.client.d.mts.map +1 -0
- package/dist/providers/google/components/navigation.client.mjs +18 -0
- package/dist/providers/google/components/navigation.client.mjs.map +1 -0
- package/dist/providers/google/components/provider.client.d.mts +33 -0
- package/dist/providers/google/components/provider.client.d.mts.map +1 -0
- package/dist/providers/google/components/provider.client.mjs +43 -0
- package/dist/providers/google/components/provider.client.mjs.map +1 -0
- package/dist/providers/google/components/view.client.d.mts +41 -0
- package/dist/providers/google/components/view.client.d.mts.map +1 -0
- package/dist/providers/google/components/view.client.mjs +98 -0
- package/dist/providers/google/components/view.client.mjs.map +1 -0
- package/dist/providers/google/config/columns-data.d.mts +8 -0
- package/dist/providers/google/config/columns-data.d.mts.map +1 -0
- package/dist/providers/google/config/columns-data.mjs +70 -0
- package/dist/providers/google/config/columns-data.mjs.map +1 -0
- package/dist/providers/google/config/filters.d.mts +16 -0
- package/dist/providers/google/config/filters.d.mts.map +1 -0
- package/dist/providers/google/config/filters.mjs +8 -0
- package/dist/providers/google/config/filters.mjs.map +1 -0
- package/dist/providers/google/lib/constants.mjs +13 -0
- package/dist/providers/google/lib/constants.mjs.map +1 -0
- package/dist/providers/google/lib/dto.d.mts +39 -0
- package/dist/providers/google/lib/dto.d.mts.map +1 -0
- package/dist/providers/google/lib/dto.mjs +66 -0
- package/dist/providers/google/lib/dto.mjs.map +1 -0
- package/dist/providers/google/lib/helpers.mjs +46 -0
- package/dist/providers/google/lib/helpers.mjs.map +1 -0
- package/dist/providers/google/lib/router.server.d.mts +612 -0
- package/dist/providers/google/lib/router.server.d.mts.map +1 -0
- package/dist/providers/google/lib/router.server.mjs +40 -0
- package/dist/providers/google/lib/router.server.mjs.map +1 -0
- package/dist/providers/google/lib/search-params.d.mts +15 -0
- package/dist/providers/google/lib/search-params.d.mts.map +1 -0
- package/dist/providers/google/lib/search-params.mjs +12 -0
- package/dist/providers/google/lib/search-params.mjs.map +1 -0
- package/dist/providers/google/lib/service.server.d.mts +186 -0
- package/dist/providers/google/lib/service.server.d.mts.map +1 -0
- package/dist/providers/google/lib/service.server.mjs +613 -0
- package/dist/providers/google/lib/service.server.mjs.map +1 -0
- package/dist/providers/google/lib/validators.d.mts +303 -0
- package/dist/providers/google/lib/validators.d.mts.map +1 -0
- package/dist/providers/google/lib/validators.mjs +59 -0
- package/dist/providers/google/lib/validators.mjs.map +1 -0
- package/dist/providers/local/components/command-file-update.d.mts +18 -0
- package/dist/providers/local/components/command-file-update.d.mts.map +1 -0
- package/dist/providers/local/components/command-file-update.mjs +48 -0
- package/dist/providers/local/components/command-file-update.mjs.map +1 -0
- package/dist/providers/local/components/command-file-upload.d.mts +11 -0
- package/dist/providers/local/components/command-file-upload.d.mts.map +1 -0
- package/dist/providers/local/components/command-file-upload.mjs +35 -0
- package/dist/providers/local/components/command-file-upload.mjs.map +1 -0
- package/dist/providers/local/components/command-folder-create.d.mts +18 -0
- package/dist/providers/local/components/command-folder-create.d.mts.map +1 -0
- package/dist/providers/local/components/command-folder-create.mjs +55 -0
- package/dist/providers/local/components/command-folder-create.mjs.map +1 -0
- package/dist/providers/local/components/command-folder-update.d.mts +18 -0
- package/dist/providers/local/components/command-folder-update.d.mts.map +1 -0
- package/dist/providers/local/components/command-folder-update.mjs +48 -0
- package/dist/providers/local/components/command-folder-update.mjs.map +1 -0
- package/dist/providers/local/components/content.client.d.mts +7 -0
- package/dist/providers/local/components/content.client.d.mts.map +1 -0
- package/dist/providers/local/components/content.client.mjs +8 -0
- package/dist/providers/local/components/content.client.mjs.map +1 -0
- package/dist/providers/local/components/navigation.client.d.mts +16 -0
- package/dist/providers/local/components/navigation.client.d.mts.map +1 -0
- package/dist/providers/local/components/navigation.client.mjs +18 -0
- package/dist/providers/local/components/navigation.client.mjs.map +1 -0
- package/dist/providers/local/components/provider.client.d.mts +40 -0
- package/dist/providers/local/components/provider.client.d.mts.map +1 -0
- package/dist/providers/local/components/provider.client.mjs +61 -0
- package/dist/providers/local/components/provider.client.mjs.map +1 -0
- package/dist/providers/local/components/upload-zone-context.client.d.mts +38 -0
- package/dist/providers/local/components/upload-zone-context.client.d.mts.map +1 -0
- package/dist/providers/local/components/upload-zone-context.client.mjs +23 -0
- package/dist/providers/local/components/upload-zone-context.client.mjs.map +1 -0
- package/dist/providers/local/components/upload-zone.client.d.mts +30 -0
- package/dist/providers/local/components/upload-zone.client.d.mts.map +1 -0
- package/dist/providers/local/components/upload-zone.client.mjs +147 -0
- package/dist/providers/local/components/upload-zone.client.mjs.map +1 -0
- package/dist/providers/local/components/view.client.d.mts +32 -0
- package/dist/providers/local/components/view.client.d.mts.map +1 -0
- package/dist/providers/local/components/view.client.mjs +91 -0
- package/dist/providers/local/components/view.client.mjs.map +1 -0
- package/dist/providers/local/config/columns-data.d.mts +8 -0
- package/dist/providers/local/config/columns-data.d.mts.map +1 -0
- package/dist/providers/local/config/columns-data.mjs +70 -0
- package/dist/providers/local/config/columns-data.mjs.map +1 -0
- package/dist/providers/local/config/filters.d.mts +26 -0
- package/dist/providers/local/config/filters.d.mts.map +1 -0
- package/dist/providers/local/config/filters.mjs +15 -0
- package/dist/providers/local/config/filters.mjs.map +1 -0
- package/dist/providers/local/lib/constants.d.mts +12 -0
- package/dist/providers/local/lib/constants.d.mts.map +1 -0
- package/dist/providers/local/lib/constants.mjs +29 -0
- package/dist/providers/local/lib/constants.mjs.map +1 -0
- package/dist/providers/local/lib/helpers.d.mts +45 -0
- package/dist/providers/local/lib/helpers.d.mts.map +1 -0
- package/dist/providers/local/lib/helpers.mjs +110 -0
- package/dist/providers/local/lib/helpers.mjs.map +1 -0
- package/dist/providers/local/lib/route-handler.server.d.mts +34 -0
- package/dist/providers/local/lib/route-handler.server.d.mts.map +1 -0
- package/dist/providers/local/lib/route-handler.server.mjs +114 -0
- package/dist/providers/local/lib/route-handler.server.mjs.map +1 -0
- package/dist/providers/local/lib/router.server.d.mts +41648 -0
- package/dist/providers/local/lib/router.server.d.mts.map +1 -0
- package/dist/providers/local/lib/router.server.mjs +52 -0
- package/dist/providers/local/lib/router.server.mjs.map +1 -0
- package/dist/providers/local/lib/schema.d.mts +1113 -0
- package/dist/providers/local/lib/schema.d.mts.map +1 -0
- package/dist/providers/local/lib/schema.mjs +71 -0
- package/dist/providers/local/lib/schema.mjs.map +1 -0
- package/dist/providers/local/lib/search-params.d.mts +14 -0
- package/dist/providers/local/lib/search-params.d.mts.map +1 -0
- package/dist/providers/local/lib/search-params.mjs +9 -0
- package/dist/providers/local/lib/search-params.mjs.map +1 -0
- package/dist/providers/local/lib/service.server.d.mts +489 -0
- package/dist/providers/local/lib/service.server.d.mts.map +1 -0
- package/dist/providers/local/lib/service.server.mjs +668 -0
- package/dist/providers/local/lib/service.server.mjs.map +1 -0
- package/dist/providers/local/lib/upload.client.d.mts +62 -0
- package/dist/providers/local/lib/upload.client.d.mts.map +1 -0
- package/dist/providers/local/lib/upload.client.mjs +100 -0
- package/dist/providers/local/lib/upload.client.mjs.map +1 -0
- package/dist/providers/local/lib/validators.d.mts +454 -0
- package/dist/providers/local/lib/validators.d.mts.map +1 -0
- package/dist/providers/local/lib/validators.mjs +96 -0
- package/dist/providers/local/lib/validators.mjs.map +1 -0
- package/dist/server.d.mts +2 -0
- package/dist/server.mjs +3 -0
- package/package.json +3 -2
- package/src/providers/local/lib/helpers.ts +0 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { getLocalFileURLSchema } from "./validators.mjs";
|
|
2
|
+
import z$1 from "zod";
|
|
3
|
+
import { getSession } from "@tulip-systems/core/auth/server";
|
|
4
|
+
import { ServerError } from "@tulip-systems/core/router/server";
|
|
5
|
+
import { connection } from "next/server";
|
|
6
|
+
|
|
7
|
+
//#region src/providers/local/lib/route-handler.server.ts
|
|
8
|
+
/**
|
|
9
|
+
* Creates a catch-all drive route handler for `/api/drive/[[...rest]]`.
|
|
10
|
+
*
|
|
11
|
+
* Current support:
|
|
12
|
+
* - `GET /api/drive/files/:id?variant=:variant&disposition=:disposition`
|
|
13
|
+
* resolves a drive node, checks access for private local assets, and redirects
|
|
14
|
+
* to a short-lived file URL for the requested node variant.
|
|
15
|
+
*
|
|
16
|
+
* @param props - Route handler dependencies.
|
|
17
|
+
* @returns Next.js route handlers for GET, POST, PUT, PATCH, and DELETE.
|
|
18
|
+
*/
|
|
19
|
+
function createLocalDriveRouteHandler(context) {
|
|
20
|
+
/**
|
|
21
|
+
* GET /api/drive/[[...rest]]
|
|
22
|
+
*
|
|
23
|
+
* Current route support:
|
|
24
|
+
* - /api/drive/files/:id?variant=:variant&disposition=:disposition
|
|
25
|
+
*/
|
|
26
|
+
async function GET(request, ctx) {
|
|
27
|
+
const { rest = [] } = await ctx.params;
|
|
28
|
+
if (rest[0] === "files") {
|
|
29
|
+
const id = rest[1];
|
|
30
|
+
if (!id) return Response.json({ error: {
|
|
31
|
+
code: "BAD_REQUEST",
|
|
32
|
+
message: "Missing file id"
|
|
33
|
+
} }, { status: 400 });
|
|
34
|
+
const searchParams = request.nextUrl.searchParams;
|
|
35
|
+
const variant = searchParams.get("variant") ?? void 0;
|
|
36
|
+
const disposition = searchParams.get("disposition") ?? void 0;
|
|
37
|
+
try {
|
|
38
|
+
const node = await context.drive.getNodeById(id);
|
|
39
|
+
if (!node) return Response.json({ error: {
|
|
40
|
+
code: "NOT_FOUND",
|
|
41
|
+
message: "Node not found"
|
|
42
|
+
} }, { status: 404 });
|
|
43
|
+
if (node.assetId) {
|
|
44
|
+
const asset = await context.drive.storage.getAssetById(node.assetId);
|
|
45
|
+
if (!asset) return Response.json({ error: {
|
|
46
|
+
code: "NOT_FOUND",
|
|
47
|
+
message: "Asset not found"
|
|
48
|
+
} }, { status: 404 });
|
|
49
|
+
if (asset.visibility === "private") {
|
|
50
|
+
if (!await getSession(context)) return Response.json({ error: {
|
|
51
|
+
code: "UNAUTHORIZED",
|
|
52
|
+
message: "Unauthorized"
|
|
53
|
+
} }, { status: 401 });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const options = getLocalFileURLSchema.parse({
|
|
57
|
+
variant,
|
|
58
|
+
disposition
|
|
59
|
+
});
|
|
60
|
+
const url = await context.drive.getURL(node, options);
|
|
61
|
+
return Response.redirect(url, 307);
|
|
62
|
+
} catch (error) {
|
|
63
|
+
if (error instanceof z$1.ZodError) return Response.json({ error: {
|
|
64
|
+
code: "BAD_REQUEST",
|
|
65
|
+
message: "Invalid request input"
|
|
66
|
+
} }, { status: 400 });
|
|
67
|
+
if (error instanceof ServerError) {
|
|
68
|
+
if (error.code === "BAD_REQUEST") return Response.json({ error: {
|
|
69
|
+
code: "BAD_REQUEST",
|
|
70
|
+
message: error.message
|
|
71
|
+
} }, { status: 400 });
|
|
72
|
+
if (error.code === "NOT_FOUND") return Response.json({ error: {
|
|
73
|
+
code: "NOT_FOUND",
|
|
74
|
+
message: error.message
|
|
75
|
+
} }, { status: 404 });
|
|
76
|
+
if (error.code === "UNAUTHORIZED") return Response.json({ error: {
|
|
77
|
+
code: "UNAUTHORIZED",
|
|
78
|
+
message: error.message
|
|
79
|
+
} }, { status: 401 });
|
|
80
|
+
}
|
|
81
|
+
console.error("Drive route error", error);
|
|
82
|
+
return Response.json({ error: {
|
|
83
|
+
code: "INTERNAL_SERVER_ERROR",
|
|
84
|
+
message: "Something went wrong"
|
|
85
|
+
} }, { status: 500 });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return Response.json({ error: {
|
|
89
|
+
code: "NOT_FOUND",
|
|
90
|
+
message: "Route not found"
|
|
91
|
+
} }, { status: 404 });
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* POST, PUT, PATCH, DELETE /api/drive/[[...rest]]
|
|
95
|
+
*/
|
|
96
|
+
async function POST() {
|
|
97
|
+
await connection();
|
|
98
|
+
return Response.json({ error: {
|
|
99
|
+
code: "NOT_FOUND",
|
|
100
|
+
message: "Route not found"
|
|
101
|
+
} }, { status: 404 });
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
GET,
|
|
105
|
+
POST,
|
|
106
|
+
PUT: POST,
|
|
107
|
+
PATCH: POST,
|
|
108
|
+
DELETE: POST
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//#endregion
|
|
113
|
+
export { createLocalDriveRouteHandler };
|
|
114
|
+
//# sourceMappingURL=route-handler.server.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-handler.server.mjs","names":["z"],"sources":["../../../../src/providers/local/lib/route-handler.server.ts"],"sourcesContent":["import { getSession } from \"@tulip-systems/core/auth/server\";\nimport type { TDatabaseSchema, TulipContext } from \"@tulip-systems/core/config\";\nimport { ServerError } from \"@tulip-systems/core/router/server\";\nimport { connection, type NextRequest } from \"next/server\";\nimport z from \"zod\";\nimport type { LocalDrive } from \"./service.server\";\nimport { getLocalFileURLSchema } from \"./validators\";\n\ntype RouteCtx = {\n params: Promise<{ rest?: string[] }>;\n};\n\ntype CreateLocalDriveRouteHandlerProps<TSchema extends TDatabaseSchema> = Pick<\n TulipContext<TSchema>,\n \"auth\"\n> & {\n drive: LocalDrive<TSchema>;\n};\n\n/**\n * Creates a catch-all drive route handler for `/api/drive/[[...rest]]`.\n *\n * Current support:\n * - `GET /api/drive/files/:id?variant=:variant&disposition=:disposition`\n * resolves a drive node, checks access for private local assets, and redirects\n * to a short-lived file URL for the requested node variant.\n *\n * @param props - Route handler dependencies.\n * @returns Next.js route handlers for GET, POST, PUT, PATCH, and DELETE.\n */\nexport function createLocalDriveRouteHandler<TSchema extends TDatabaseSchema>(\n context: CreateLocalDriveRouteHandlerProps<TSchema>,\n) {\n /**\n * GET /api/drive/[[...rest]]\n *\n * Current route support:\n * - /api/drive/files/:id?variant=:variant&disposition=:disposition\n */\n async function GET(request: NextRequest, ctx: RouteCtx) {\n const { rest = [] } = await ctx.params;\n const resource = rest[0];\n\n if (resource === \"files\") {\n const id = rest[1];\n if (!id) {\n return Response.json(\n { error: { code: \"BAD_REQUEST\", message: \"Missing file id\" } },\n { status: 400 },\n );\n }\n\n const searchParams = request.nextUrl.searchParams;\n\n const variant = searchParams.get(\"variant\") ?? undefined;\n const disposition = searchParams.get(\"disposition\") ?? undefined;\n\n try {\n const node = await context.drive.getNodeById(id);\n\n if (!node) {\n return Response.json(\n { error: { code: \"NOT_FOUND\", message: \"Node not found\" } },\n { status: 404 },\n );\n }\n\n if (node.assetId) {\n const asset = await context.drive.storage.getAssetById(node.assetId);\n\n if (!asset) {\n return Response.json(\n { error: { code: \"NOT_FOUND\", message: \"Asset not found\" } },\n { status: 404 },\n );\n }\n\n if (asset.visibility === \"private\") {\n const session = await getSession(context);\n\n if (!session) {\n return Response.json(\n { error: { code: \"UNAUTHORIZED\", message: \"Unauthorized\" } },\n { status: 401 },\n );\n }\n }\n }\n\n const options = getLocalFileURLSchema.parse({ variant, disposition });\n const url = await context.drive.getURL(node, options);\n\n return Response.redirect(url, 307);\n } catch (error) {\n if (error instanceof z.ZodError) {\n return Response.json(\n { error: { code: \"BAD_REQUEST\", message: \"Invalid request input\" } },\n { status: 400 },\n );\n }\n\n if (error instanceof ServerError) {\n if (error.code === \"BAD_REQUEST\") {\n return Response.json(\n { error: { code: \"BAD_REQUEST\", message: error.message } },\n { status: 400 },\n );\n }\n\n if (error.code === \"NOT_FOUND\") {\n return Response.json(\n { error: { code: \"NOT_FOUND\", message: error.message } },\n { status: 404 },\n );\n }\n\n if (error.code === \"UNAUTHORIZED\") {\n return Response.json(\n { error: { code: \"UNAUTHORIZED\", message: error.message } },\n { status: 401 },\n );\n }\n }\n\n console.error(\"Drive route error\", error);\n\n return Response.json(\n { error: { code: \"INTERNAL_SERVER_ERROR\", message: \"Something went wrong\" } },\n { status: 500 },\n );\n }\n }\n\n return Response.json(\n { error: { code: \"NOT_FOUND\", message: \"Route not found\" } },\n { status: 404 },\n );\n }\n\n /**\n * POST, PUT, PATCH, DELETE /api/drive/[[...rest]]\n */\n async function POST() {\n await connection();\n\n return Response.json(\n { error: { code: \"NOT_FOUND\", message: \"Route not found\" } },\n { status: 404 },\n );\n }\n\n return { GET, POST, PUT: POST, PATCH: POST, DELETE: POST };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA8BA,SAAgB,6BACd,SACA;;;;;;;CAOA,eAAe,IAAI,SAAsB,KAAe;EACtD,MAAM,EAAE,OAAO,EAAE,KAAK,MAAM,IAAI;AAGhC,MAFiB,KAAK,OAEL,SAAS;GACxB,MAAM,KAAK,KAAK;AAChB,OAAI,CAAC,GACH,QAAO,SAAS,KACd,EAAE,OAAO;IAAE,MAAM;IAAe,SAAS;IAAmB,EAAE,EAC9D,EAAE,QAAQ,KAAK,CAChB;GAGH,MAAM,eAAe,QAAQ,QAAQ;GAErC,MAAM,UAAU,aAAa,IAAI,UAAU,IAAI;GAC/C,MAAM,cAAc,aAAa,IAAI,cAAc,IAAI;AAEvD,OAAI;IACF,MAAM,OAAO,MAAM,QAAQ,MAAM,YAAY,GAAG;AAEhD,QAAI,CAAC,KACH,QAAO,SAAS,KACd,EAAE,OAAO;KAAE,MAAM;KAAa,SAAS;KAAkB,EAAE,EAC3D,EAAE,QAAQ,KAAK,CAChB;AAGH,QAAI,KAAK,SAAS;KAChB,MAAM,QAAQ,MAAM,QAAQ,MAAM,QAAQ,aAAa,KAAK,QAAQ;AAEpE,SAAI,CAAC,MACH,QAAO,SAAS,KACd,EAAE,OAAO;MAAE,MAAM;MAAa,SAAS;MAAmB,EAAE,EAC5D,EAAE,QAAQ,KAAK,CAChB;AAGH,SAAI,MAAM,eAAe,WAGvB;UAAI,CAFY,MAAM,WAAW,QAAQ,CAGvC,QAAO,SAAS,KACd,EAAE,OAAO;OAAE,MAAM;OAAgB,SAAS;OAAgB,EAAE,EAC5D,EAAE,QAAQ,KAAK,CAChB;;;IAKP,MAAM,UAAU,sBAAsB,MAAM;KAAE;KAAS;KAAa,CAAC;IACrE,MAAM,MAAM,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ;AAErD,WAAO,SAAS,SAAS,KAAK,IAAI;YAC3B,OAAO;AACd,QAAI,iBAAiBA,IAAE,SACrB,QAAO,SAAS,KACd,EAAE,OAAO;KAAE,MAAM;KAAe,SAAS;KAAyB,EAAE,EACpE,EAAE,QAAQ,KAAK,CAChB;AAGH,QAAI,iBAAiB,aAAa;AAChC,SAAI,MAAM,SAAS,cACjB,QAAO,SAAS,KACd,EAAE,OAAO;MAAE,MAAM;MAAe,SAAS,MAAM;MAAS,EAAE,EAC1D,EAAE,QAAQ,KAAK,CAChB;AAGH,SAAI,MAAM,SAAS,YACjB,QAAO,SAAS,KACd,EAAE,OAAO;MAAE,MAAM;MAAa,SAAS,MAAM;MAAS,EAAE,EACxD,EAAE,QAAQ,KAAK,CAChB;AAGH,SAAI,MAAM,SAAS,eACjB,QAAO,SAAS,KACd,EAAE,OAAO;MAAE,MAAM;MAAgB,SAAS,MAAM;MAAS,EAAE,EAC3D,EAAE,QAAQ,KAAK,CAChB;;AAIL,YAAQ,MAAM,qBAAqB,MAAM;AAEzC,WAAO,SAAS,KACd,EAAE,OAAO;KAAE,MAAM;KAAyB,SAAS;KAAwB,EAAE,EAC7E,EAAE,QAAQ,KAAK,CAChB;;;AAIL,SAAO,SAAS,KACd,EAAE,OAAO;GAAE,MAAM;GAAa,SAAS;GAAmB,EAAE,EAC5D,EAAE,QAAQ,KAAK,CAChB;;;;;CAMH,eAAe,OAAO;AACpB,QAAM,YAAY;AAElB,SAAO,SAAS,KACd,EAAE,OAAO;GAAE,MAAM;GAAa,SAAS;GAAmB,EAAE,EAC5D,EAAE,QAAQ,KAAK,CAChB;;AAGH,QAAO;EAAE;EAAK;EAAM,KAAK;EAAM,OAAO;EAAM,QAAQ;EAAM"}
|