@tulip-systems/drive 0.8.0 → 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.
Files changed (243) hide show
  1. package/dist/client.d.mts +5 -0
  2. package/dist/client.mjs +6 -0
  3. package/dist/components/content.d.mts +14 -0
  4. package/dist/components/content.d.mts.map +1 -0
  5. package/dist/components/content.mjs +18 -0
  6. package/dist/components/content.mjs.map +1 -0
  7. package/dist/components/context.client.d.mts +14 -0
  8. package/dist/components/context.client.d.mts.map +1 -0
  9. package/dist/components/dnd.client.d.mts +17 -0
  10. package/dist/components/dnd.client.d.mts.map +1 -0
  11. package/dist/components/dnd.client.mjs +30 -0
  12. package/dist/components/dnd.client.mjs.map +1 -0
  13. package/dist/components/grid-card.client.d.mts +43 -0
  14. package/dist/components/grid-card.client.d.mts.map +1 -0
  15. package/dist/components/grid-card.client.mjs +173 -0
  16. package/dist/components/grid-card.client.mjs.map +1 -0
  17. package/dist/components/grid.client.d.mts +54 -0
  18. package/dist/components/grid.client.d.mts.map +1 -0
  19. package/dist/components/grid.client.mjs +54 -0
  20. package/dist/components/grid.client.mjs.map +1 -0
  21. package/dist/components/navigation/breadcrumbs.client.d.mts +26 -0
  22. package/dist/components/navigation/breadcrumbs.client.d.mts.map +1 -0
  23. package/dist/components/navigation/breadcrumbs.client.mjs +52 -0
  24. package/dist/components/navigation/breadcrumbs.client.mjs.map +1 -0
  25. package/dist/components/navigation/header.client.d.mts +28 -0
  26. package/dist/components/navigation/header.client.d.mts.map +1 -0
  27. package/dist/components/navigation/header.client.mjs +41 -0
  28. package/dist/components/navigation/header.client.mjs.map +1 -0
  29. package/dist/components/navigation/toolbar.client.d.mts +24 -0
  30. package/dist/components/navigation/toolbar.client.d.mts.map +1 -0
  31. package/dist/components/navigation/toolbar.client.mjs +35 -0
  32. package/dist/components/navigation/toolbar.client.mjs.map +1 -0
  33. package/dist/components/navigation/view-switcher.client.d.mts +10 -0
  34. package/dist/components/navigation/view-switcher.client.d.mts.map +1 -0
  35. package/dist/components/navigation/view-switcher.client.mjs +36 -0
  36. package/dist/components/navigation/view-switcher.client.mjs.map +1 -0
  37. package/dist/components/selection.client.d.mts +28 -0
  38. package/dist/components/selection.client.d.mts.map +1 -0
  39. package/dist/components/selection.client.mjs +39 -0
  40. package/dist/components/selection.client.mjs.map +1 -0
  41. package/dist/components/view.client.d.mts +26 -0
  42. package/dist/components/view.client.d.mts.map +1 -0
  43. package/dist/components/view.client.mjs +44 -0
  44. package/dist/components/view.client.mjs.map +1 -0
  45. package/dist/config/filters.mjs +15 -0
  46. package/dist/config/filters.mjs.map +1 -0
  47. package/dist/config/types.mjs +61 -0
  48. package/dist/config/types.mjs.map +1 -0
  49. package/dist/google/client.d.mts +8 -0
  50. package/dist/google/client.mjs +9 -0
  51. package/dist/google/server.d.mts +3 -0
  52. package/dist/google/server.mjs +4 -0
  53. package/dist/google.d.mts +6 -0
  54. package/dist/google.mjs +7 -0
  55. package/dist/index.d.mts +7 -0
  56. package/dist/index.mjs +7 -0
  57. package/dist/lib/constants.d.mts +12 -0
  58. package/dist/lib/constants.d.mts.map +1 -0
  59. package/dist/lib/constants.mjs +21 -0
  60. package/dist/lib/constants.mjs.map +1 -0
  61. package/dist/lib/contracts.d.mts +101 -0
  62. package/dist/lib/contracts.d.mts.map +1 -0
  63. package/dist/lib/dto.d.mts +118 -0
  64. package/dist/lib/dto.d.mts.map +1 -0
  65. package/dist/lib/dto.mjs +58 -0
  66. package/dist/lib/dto.mjs.map +1 -0
  67. package/dist/lib/helpers.d.mts +18 -0
  68. package/dist/lib/helpers.d.mts.map +1 -0
  69. package/dist/lib/helpers.mjs +37 -0
  70. package/dist/lib/helpers.mjs.map +1 -0
  71. package/dist/lib/helpers.server.d.mts +14 -0
  72. package/dist/lib/helpers.server.d.mts.map +1 -0
  73. package/dist/lib/helpers.server.mjs +16 -0
  74. package/dist/lib/helpers.server.mjs.map +1 -0
  75. package/dist/lib/search-params.d.mts +9 -0
  76. package/dist/lib/search-params.d.mts.map +1 -0
  77. package/dist/lib/search-params.mjs +8 -0
  78. package/dist/lib/search-params.mjs.map +1 -0
  79. package/dist/lib/validators.d.mts +158 -0
  80. package/dist/lib/validators.d.mts.map +1 -0
  81. package/dist/lib/validators.mjs +66 -0
  82. package/dist/lib/validators.mjs.map +1 -0
  83. package/dist/local/client.d.mts +13 -0
  84. package/dist/local/client.mjs +13 -0
  85. package/dist/local/server.d.mts +4 -0
  86. package/dist/local/server.mjs +5 -0
  87. package/dist/local.d.mts +8 -0
  88. package/dist/local.mjs +9 -0
  89. package/dist/providers/google/components/command-file-update.d.mts +22 -0
  90. package/dist/providers/google/components/command-file-update.d.mts.map +1 -0
  91. package/dist/providers/google/components/command-file-update.mjs +52 -0
  92. package/dist/providers/google/components/command-file-update.mjs.map +1 -0
  93. package/dist/providers/google/components/command-folder-create.d.mts +22 -0
  94. package/dist/providers/google/components/command-folder-create.d.mts.map +1 -0
  95. package/dist/providers/google/components/command-folder-create.mjs +59 -0
  96. package/dist/providers/google/components/command-folder-create.mjs.map +1 -0
  97. package/dist/providers/google/components/command-folder-update.d.mts +22 -0
  98. package/dist/providers/google/components/command-folder-update.d.mts.map +1 -0
  99. package/dist/providers/google/components/command-folder-update.mjs +52 -0
  100. package/dist/providers/google/components/command-folder-update.mjs.map +1 -0
  101. package/dist/providers/google/components/content.client.d.mts +10 -0
  102. package/dist/providers/google/components/content.client.d.mts.map +1 -0
  103. package/dist/providers/google/components/content.client.mjs +11 -0
  104. package/dist/providers/google/components/content.client.mjs.map +1 -0
  105. package/dist/providers/google/components/navigation.client.d.mts +16 -0
  106. package/dist/providers/google/components/navigation.client.d.mts.map +1 -0
  107. package/dist/providers/google/components/navigation.client.mjs +18 -0
  108. package/dist/providers/google/components/navigation.client.mjs.map +1 -0
  109. package/dist/providers/google/components/provider.client.d.mts +33 -0
  110. package/dist/providers/google/components/provider.client.d.mts.map +1 -0
  111. package/dist/providers/google/components/provider.client.mjs +43 -0
  112. package/dist/providers/google/components/provider.client.mjs.map +1 -0
  113. package/dist/providers/google/components/view.client.d.mts +41 -0
  114. package/dist/providers/google/components/view.client.d.mts.map +1 -0
  115. package/dist/providers/google/components/view.client.mjs +98 -0
  116. package/dist/providers/google/components/view.client.mjs.map +1 -0
  117. package/dist/providers/google/config/columns-data.d.mts +8 -0
  118. package/dist/providers/google/config/columns-data.d.mts.map +1 -0
  119. package/dist/providers/google/config/columns-data.mjs +70 -0
  120. package/dist/providers/google/config/columns-data.mjs.map +1 -0
  121. package/dist/providers/google/config/filters.d.mts +16 -0
  122. package/dist/providers/google/config/filters.d.mts.map +1 -0
  123. package/dist/providers/google/config/filters.mjs +8 -0
  124. package/dist/providers/google/config/filters.mjs.map +1 -0
  125. package/dist/providers/google/lib/constants.mjs +13 -0
  126. package/dist/providers/google/lib/constants.mjs.map +1 -0
  127. package/dist/providers/google/lib/dto.d.mts +39 -0
  128. package/dist/providers/google/lib/dto.d.mts.map +1 -0
  129. package/dist/providers/google/lib/dto.mjs +66 -0
  130. package/dist/providers/google/lib/dto.mjs.map +1 -0
  131. package/dist/providers/google/lib/helpers.mjs +46 -0
  132. package/dist/providers/google/lib/helpers.mjs.map +1 -0
  133. package/dist/providers/google/lib/router.server.d.mts +612 -0
  134. package/dist/providers/google/lib/router.server.d.mts.map +1 -0
  135. package/dist/providers/google/lib/router.server.mjs +40 -0
  136. package/dist/providers/google/lib/router.server.mjs.map +1 -0
  137. package/dist/providers/google/lib/search-params.d.mts +15 -0
  138. package/dist/providers/google/lib/search-params.d.mts.map +1 -0
  139. package/dist/providers/google/lib/search-params.mjs +12 -0
  140. package/dist/providers/google/lib/search-params.mjs.map +1 -0
  141. package/dist/providers/google/lib/service.server.d.mts +186 -0
  142. package/dist/providers/google/lib/service.server.d.mts.map +1 -0
  143. package/dist/providers/google/lib/service.server.mjs +613 -0
  144. package/dist/providers/google/lib/service.server.mjs.map +1 -0
  145. package/dist/providers/google/lib/validators.d.mts +303 -0
  146. package/dist/providers/google/lib/validators.d.mts.map +1 -0
  147. package/dist/providers/google/lib/validators.mjs +59 -0
  148. package/dist/providers/google/lib/validators.mjs.map +1 -0
  149. package/dist/providers/local/components/command-file-update.d.mts +18 -0
  150. package/dist/providers/local/components/command-file-update.d.mts.map +1 -0
  151. package/dist/providers/local/components/command-file-update.mjs +48 -0
  152. package/dist/providers/local/components/command-file-update.mjs.map +1 -0
  153. package/dist/providers/local/components/command-file-upload.d.mts +11 -0
  154. package/dist/providers/local/components/command-file-upload.d.mts.map +1 -0
  155. package/dist/providers/local/components/command-file-upload.mjs +35 -0
  156. package/dist/providers/local/components/command-file-upload.mjs.map +1 -0
  157. package/dist/providers/local/components/command-folder-create.d.mts +18 -0
  158. package/dist/providers/local/components/command-folder-create.d.mts.map +1 -0
  159. package/dist/providers/local/components/command-folder-create.mjs +55 -0
  160. package/dist/providers/local/components/command-folder-create.mjs.map +1 -0
  161. package/dist/providers/local/components/command-folder-update.d.mts +18 -0
  162. package/dist/providers/local/components/command-folder-update.d.mts.map +1 -0
  163. package/dist/providers/local/components/command-folder-update.mjs +48 -0
  164. package/dist/providers/local/components/command-folder-update.mjs.map +1 -0
  165. package/dist/providers/local/components/content.client.d.mts +7 -0
  166. package/dist/providers/local/components/content.client.d.mts.map +1 -0
  167. package/dist/providers/local/components/content.client.mjs +8 -0
  168. package/dist/providers/local/components/content.client.mjs.map +1 -0
  169. package/dist/providers/local/components/navigation.client.d.mts +16 -0
  170. package/dist/providers/local/components/navigation.client.d.mts.map +1 -0
  171. package/dist/providers/local/components/navigation.client.mjs +18 -0
  172. package/dist/providers/local/components/navigation.client.mjs.map +1 -0
  173. package/dist/providers/local/components/provider.client.d.mts +40 -0
  174. package/dist/providers/local/components/provider.client.d.mts.map +1 -0
  175. package/dist/providers/local/components/provider.client.mjs +61 -0
  176. package/dist/providers/local/components/provider.client.mjs.map +1 -0
  177. package/dist/providers/local/components/upload-zone-context.client.d.mts +38 -0
  178. package/dist/providers/local/components/upload-zone-context.client.d.mts.map +1 -0
  179. package/dist/providers/local/components/upload-zone-context.client.mjs +23 -0
  180. package/dist/providers/local/components/upload-zone-context.client.mjs.map +1 -0
  181. package/dist/providers/local/components/upload-zone.client.d.mts +30 -0
  182. package/dist/providers/local/components/upload-zone.client.d.mts.map +1 -0
  183. package/dist/providers/local/components/upload-zone.client.mjs +147 -0
  184. package/dist/providers/local/components/upload-zone.client.mjs.map +1 -0
  185. package/dist/providers/local/components/view.client.d.mts +32 -0
  186. package/dist/providers/local/components/view.client.d.mts.map +1 -0
  187. package/dist/providers/local/components/view.client.mjs +91 -0
  188. package/dist/providers/local/components/view.client.mjs.map +1 -0
  189. package/dist/providers/local/config/columns-data.d.mts +8 -0
  190. package/dist/providers/local/config/columns-data.d.mts.map +1 -0
  191. package/dist/providers/local/config/columns-data.mjs +70 -0
  192. package/dist/providers/local/config/columns-data.mjs.map +1 -0
  193. package/dist/providers/local/config/filters.d.mts +26 -0
  194. package/dist/providers/local/config/filters.d.mts.map +1 -0
  195. package/dist/providers/local/config/filters.mjs +15 -0
  196. package/dist/providers/local/config/filters.mjs.map +1 -0
  197. package/dist/providers/local/lib/constants.d.mts +12 -0
  198. package/dist/providers/local/lib/constants.d.mts.map +1 -0
  199. package/dist/providers/local/lib/constants.mjs +29 -0
  200. package/dist/providers/local/lib/constants.mjs.map +1 -0
  201. package/dist/providers/local/lib/helpers.d.mts +45 -0
  202. package/dist/providers/local/lib/helpers.d.mts.map +1 -0
  203. package/dist/providers/local/lib/helpers.mjs +110 -0
  204. package/dist/providers/local/lib/helpers.mjs.map +1 -0
  205. package/dist/providers/local/lib/route-handler.server.d.mts +34 -0
  206. package/dist/providers/local/lib/route-handler.server.d.mts.map +1 -0
  207. package/dist/providers/local/lib/route-handler.server.mjs +114 -0
  208. package/dist/providers/local/lib/route-handler.server.mjs.map +1 -0
  209. package/dist/providers/local/lib/router.server.d.mts +41648 -0
  210. package/dist/providers/local/lib/router.server.d.mts.map +1 -0
  211. package/dist/providers/local/lib/router.server.mjs +52 -0
  212. package/dist/providers/local/lib/router.server.mjs.map +1 -0
  213. package/dist/providers/local/lib/schema.d.mts +1113 -0
  214. package/dist/providers/local/lib/schema.d.mts.map +1 -0
  215. package/dist/providers/local/lib/schema.mjs +71 -0
  216. package/dist/providers/local/lib/schema.mjs.map +1 -0
  217. package/dist/providers/local/lib/search-params.d.mts +14 -0
  218. package/dist/providers/local/lib/search-params.d.mts.map +1 -0
  219. package/dist/providers/local/lib/search-params.mjs +9 -0
  220. package/dist/providers/local/lib/search-params.mjs.map +1 -0
  221. package/dist/providers/local/lib/service.server.d.mts +489 -0
  222. package/dist/providers/local/lib/service.server.d.mts.map +1 -0
  223. package/dist/providers/local/lib/service.server.mjs +668 -0
  224. package/dist/providers/local/lib/service.server.mjs.map +1 -0
  225. package/dist/providers/local/lib/upload.client.d.mts +62 -0
  226. package/dist/providers/local/lib/upload.client.d.mts.map +1 -0
  227. package/dist/providers/local/lib/upload.client.mjs +100 -0
  228. package/dist/providers/local/lib/upload.client.mjs.map +1 -0
  229. package/dist/providers/local/lib/validators.d.mts +454 -0
  230. package/dist/providers/local/lib/validators.d.mts.map +1 -0
  231. package/dist/providers/local/lib/validators.mjs +96 -0
  232. package/dist/providers/local/lib/validators.mjs.map +1 -0
  233. package/dist/server.d.mts +2 -0
  234. package/dist/server.mjs +3 -0
  235. package/package.json +3 -2
  236. package/src/components/grid-card.client.tsx +4 -1
  237. package/src/providers/google/components/view.client.tsx +9 -1
  238. package/src/providers/google/lib/helpers.ts +9 -0
  239. package/src/providers/local/components/provider.client.tsx +2 -1
  240. package/src/providers/local/components/upload-zone-context.client.tsx +1 -0
  241. package/src/providers/local/components/upload-zone.client.tsx +14 -1
  242. package/src/providers/local/components/view.client.tsx +10 -2
  243. 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"}