@tulip-systems/drive 0.10.1 → 0.10.3
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/google/server.d.mts +2 -2
- package/dist/google/server.mjs +2 -2
- package/dist/google.d.mts +2 -2
- package/dist/google.mjs +2 -2
- package/dist/lib/dto.d.mts +2 -2
- package/dist/lib/validators.d.mts +9 -9
- package/dist/local/server.d.mts +2 -2
- package/dist/local/server.mjs +2 -2
- package/dist/local.d.mts +2 -2
- package/dist/local.mjs +2 -2
- package/dist/providers/google/config/filters.d.mts +1 -1
- package/dist/providers/google/lib/router.server.d.mts +121 -161
- package/dist/providers/google/lib/router.server.mjs +27 -33
- package/dist/providers/google/lib/search-params.d.mts +1 -1
- package/dist/providers/google/lib/service.server.d.mts +1 -1
- package/dist/providers/google/lib/validators.d.mts +88 -13
- package/dist/providers/google/lib/validators.mjs +22 -1
- package/dist/providers/local/config/filters.d.mts +1 -1
- package/dist/providers/local/lib/route-handler.server.d.mts +5 -3
- package/dist/providers/local/lib/route-handler.server.mjs +1 -1
- package/dist/providers/local/lib/router.server.d.mts +1248 -41272
- package/dist/providers/local/lib/router.server.mjs +35 -42
- package/dist/providers/local/lib/schema.d.mts +2 -2
- package/dist/providers/local/lib/schema.mjs +1 -1
- package/dist/providers/local/lib/search-params.d.mts +1 -1
- package/dist/providers/local/lib/service.server.d.mts +39 -16
- package/dist/providers/local/lib/upload.client.d.mts +4 -4
- package/dist/providers/local/lib/upload.client.mjs +1 -1
- package/dist/providers/local/lib/validators.d.mts +1403 -27
- package/dist/providers/local/lib/validators.mjs +38 -3
- package/package.json +3 -3
- package/src/providers/google/lib/router.server.ts +55 -51
- package/src/providers/google/lib/service.server.ts +1 -1
- package/src/providers/google/lib/validators.ts +23 -0
- package/src/providers/local/lib/route-handler.server.ts +12 -10
- package/src/providers/local/lib/router.server.ts +211 -117
- package/src/providers/local/lib/schema.ts +1 -1
- package/src/providers/local/lib/service.server.ts +1 -1
- package/src/providers/local/lib/upload.client.ts +6 -6
- package/src/providers/local/lib/validators.ts +58 -5
|
@@ -13,8 +13,8 @@ declare const googleDriveNodeSchema: z$1.ZodObject<{
|
|
|
13
13
|
name: z$1.ZodString;
|
|
14
14
|
namespace: z$1.ZodString;
|
|
15
15
|
type: z$1.ZodEnum<{
|
|
16
|
-
file: "file";
|
|
17
16
|
folder: "folder";
|
|
17
|
+
file: "file";
|
|
18
18
|
}>;
|
|
19
19
|
subtype: z$1.ZodEnum<{
|
|
20
20
|
image: "image";
|
|
@@ -55,6 +55,81 @@ declare const googleDriveNodeSchema: z$1.ZodObject<{
|
|
|
55
55
|
}, z$1.core.$strip>;
|
|
56
56
|
type GoogleDriveNode = z$1.infer<typeof googleDriveNodeSchema>;
|
|
57
57
|
type GoogleDriveNodeChild = DriveNodeChild<GoogleDriveNode>;
|
|
58
|
+
/**
|
|
59
|
+
* GoogleDriveNodeParent schema
|
|
60
|
+
* @description zod schema for validating the shape of a GoogleDriveNode parent
|
|
61
|
+
*/
|
|
62
|
+
declare const googleDriveNodeParentSchema: z$1.ZodObject<{
|
|
63
|
+
id: z$1.ZodString;
|
|
64
|
+
name: z$1.ZodString;
|
|
65
|
+
parentId: z$1.ZodNullable<z$1.ZodString>;
|
|
66
|
+
depth: z$1.ZodNumber;
|
|
67
|
+
}, z$1.core.$strip>;
|
|
68
|
+
/**
|
|
69
|
+
* GoogleDriveTreeResponse schema
|
|
70
|
+
* @description zod schema for validating the shape of a GoogleDriveTreeResponse
|
|
71
|
+
* @see TableQueryResponse<TData> for the common response shape
|
|
72
|
+
* @see TableQueryPaginationResponse for the common pagination shape
|
|
73
|
+
*/
|
|
74
|
+
declare const googleDriveTreeResponseSchema: z$1.ZodObject<{
|
|
75
|
+
data: z$1.ZodArray<z$1.ZodObject<{
|
|
76
|
+
id: z$1.ZodString;
|
|
77
|
+
createdAt: z$1.ZodDate;
|
|
78
|
+
updatedAt: z$1.ZodDate;
|
|
79
|
+
name: z$1.ZodString;
|
|
80
|
+
namespace: z$1.ZodString;
|
|
81
|
+
type: z$1.ZodEnum<{
|
|
82
|
+
folder: "folder";
|
|
83
|
+
file: "file";
|
|
84
|
+
}>;
|
|
85
|
+
subtype: z$1.ZodEnum<{
|
|
86
|
+
image: "image";
|
|
87
|
+
document: "document";
|
|
88
|
+
spreadsheet: "spreadsheet";
|
|
89
|
+
video: "video";
|
|
90
|
+
audio: "audio";
|
|
91
|
+
archive: "archive";
|
|
92
|
+
other: "other";
|
|
93
|
+
}>;
|
|
94
|
+
size: z$1.ZodNullable<z$1.ZodNumber>;
|
|
95
|
+
contentType: z$1.ZodNullable<z$1.ZodString>;
|
|
96
|
+
readonly: z$1.ZodBoolean;
|
|
97
|
+
hidden: z$1.ZodBoolean;
|
|
98
|
+
archivedAt: z$1.ZodNullable<z$1.ZodDate>;
|
|
99
|
+
parentId: z$1.ZodNullable<z$1.ZodString>;
|
|
100
|
+
links: z$1.ZodObject<{
|
|
101
|
+
view: z$1.ZodNullable<z$1.ZodString>;
|
|
102
|
+
download: z$1.ZodNullable<z$1.ZodString>;
|
|
103
|
+
preview: z$1.ZodNullable<z$1.ZodString>;
|
|
104
|
+
thumbnail: z$1.ZodNullable<z$1.ZodString>;
|
|
105
|
+
}, z$1.core.$strip>;
|
|
106
|
+
availability: z$1.ZodEnum<{
|
|
107
|
+
ready: "ready";
|
|
108
|
+
pending: "pending";
|
|
109
|
+
failed: "failed";
|
|
110
|
+
}>;
|
|
111
|
+
provider: z$1.ZodLiteral<"google">;
|
|
112
|
+
googleDriveId: z$1.ZodNullable<z$1.ZodString>;
|
|
113
|
+
mimeType: z$1.ZodNullable<z$1.ZodString>;
|
|
114
|
+
webViewLink: z$1.ZodNullable<z$1.ZodString>;
|
|
115
|
+
webContentLink: z$1.ZodNullable<z$1.ZodString>;
|
|
116
|
+
thumbnailLink: z$1.ZodNullable<z$1.ZodString>;
|
|
117
|
+
trashed: z$1.ZodBoolean;
|
|
118
|
+
trashedAt: z$1.ZodNullable<z$1.ZodDate>;
|
|
119
|
+
googleParents: z$1.ZodArray<z$1.ZodString>;
|
|
120
|
+
canEdit: z$1.ZodNullable<z$1.ZodBoolean>;
|
|
121
|
+
}, z$1.core.$strip>>;
|
|
122
|
+
pagination: z$1.ZodObject<{
|
|
123
|
+
total: z$1.ZodNumber;
|
|
124
|
+
totalPages: z$1.ZodNumber;
|
|
125
|
+
limit: z$1.ZodNumber;
|
|
126
|
+
hasNextPage: z$1.ZodBoolean;
|
|
127
|
+
hasPreviousPage: z$1.ZodBoolean;
|
|
128
|
+
cursor: z$1.ZodNumber;
|
|
129
|
+
nextCursor: z$1.ZodNullable<z$1.ZodNumber>;
|
|
130
|
+
previousCursor: z$1.ZodNullable<z$1.ZodNumber>;
|
|
131
|
+
}, z$1.core.$strip>;
|
|
132
|
+
}, z$1.core.$strip>;
|
|
58
133
|
/**
|
|
59
134
|
* GoogleDriveNodeWithChildren schema
|
|
60
135
|
* @description zod schema for validating the shape of a GoogleDriveNode with children
|
|
@@ -66,8 +141,8 @@ declare const googleDriveNodeWithChildrenSchema: z$1.ZodObject<{
|
|
|
66
141
|
name: z$1.ZodString;
|
|
67
142
|
namespace: z$1.ZodString;
|
|
68
143
|
type: z$1.ZodEnum<{
|
|
69
|
-
file: "file";
|
|
70
144
|
folder: "folder";
|
|
145
|
+
file: "file";
|
|
71
146
|
}>;
|
|
72
147
|
subtype: z$1.ZodEnum<{
|
|
73
148
|
image: "image";
|
|
@@ -112,8 +187,8 @@ declare const googleDriveNodeWithChildrenSchema: z$1.ZodObject<{
|
|
|
112
187
|
name: z$1.ZodString;
|
|
113
188
|
namespace: z$1.ZodString;
|
|
114
189
|
type: z$1.ZodEnum<{
|
|
115
|
-
file: "file";
|
|
116
190
|
folder: "folder";
|
|
191
|
+
file: "file";
|
|
117
192
|
}>;
|
|
118
193
|
subtype: z$1.ZodEnum<{
|
|
119
194
|
image: "image";
|
|
@@ -193,8 +268,8 @@ type UploadGoogleDriveFileSchema = z$1.infer<typeof uploadGoogleDriveFileInputSc
|
|
|
193
268
|
*/
|
|
194
269
|
declare const googleDriveTableFiltersSchema: z$1.ZodPipe<z$1.ZodObject<{
|
|
195
270
|
types: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodEnum<{
|
|
196
|
-
file: "file";
|
|
197
271
|
folder: "folder";
|
|
272
|
+
file: "file";
|
|
198
273
|
}>>>>;
|
|
199
274
|
contentTypes: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
200
275
|
nodeIds: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
@@ -205,13 +280,13 @@ declare const googleDriveTableFiltersSchema: z$1.ZodPipe<z$1.ZodObject<{
|
|
|
205
280
|
isArchived: boolean;
|
|
206
281
|
namespace: string;
|
|
207
282
|
parentId: string | null;
|
|
208
|
-
types?: ("
|
|
283
|
+
types?: ("folder" | "file")[] | null | undefined;
|
|
209
284
|
contentTypes?: string[] | null | undefined;
|
|
210
285
|
nodeIds?: string[] | null | undefined;
|
|
211
286
|
}, {
|
|
212
287
|
namespace: string;
|
|
213
288
|
parentId: string | null;
|
|
214
|
-
types?: ("
|
|
289
|
+
types?: ("folder" | "file")[] | null | undefined;
|
|
215
290
|
contentTypes?: string[] | null | undefined;
|
|
216
291
|
nodeIds?: string[] | null | undefined;
|
|
217
292
|
isArchived?: boolean | null | undefined;
|
|
@@ -233,8 +308,8 @@ declare const listGoogleDriveTreeInputSchema: z$1.ZodObject<{
|
|
|
233
308
|
search: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
234
309
|
filters: z$1.ZodPipe<z$1.ZodObject<{
|
|
235
310
|
types: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodEnum<{
|
|
236
|
-
file: "file";
|
|
237
311
|
folder: "folder";
|
|
312
|
+
file: "file";
|
|
238
313
|
}>>>>;
|
|
239
314
|
contentTypes: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
240
315
|
nodeIds: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
@@ -245,13 +320,13 @@ declare const listGoogleDriveTreeInputSchema: z$1.ZodObject<{
|
|
|
245
320
|
isArchived: boolean;
|
|
246
321
|
namespace: string;
|
|
247
322
|
parentId: string | null;
|
|
248
|
-
types?: ("
|
|
323
|
+
types?: ("folder" | "file")[] | null | undefined;
|
|
249
324
|
contentTypes?: string[] | null | undefined;
|
|
250
325
|
nodeIds?: string[] | null | undefined;
|
|
251
326
|
}, {
|
|
252
327
|
namespace: string;
|
|
253
328
|
parentId: string | null;
|
|
254
|
-
types?: ("
|
|
329
|
+
types?: ("folder" | "file")[] | null | undefined;
|
|
255
330
|
contentTypes?: string[] | null | undefined;
|
|
256
331
|
nodeIds?: string[] | null | undefined;
|
|
257
332
|
isArchived?: boolean | null | undefined;
|
|
@@ -272,8 +347,8 @@ declare const getGoogleDriveNodesByParentIdInputSchema: z$1.ZodObject<{
|
|
|
272
347
|
}>>>;
|
|
273
348
|
filters: z$1.ZodPipe<z$1.ZodObject<{
|
|
274
349
|
types: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodEnum<{
|
|
275
|
-
file: "file";
|
|
276
350
|
folder: "folder";
|
|
351
|
+
file: "file";
|
|
277
352
|
}>>>>;
|
|
278
353
|
contentTypes: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
279
354
|
nodeIds: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
|
|
@@ -284,13 +359,13 @@ declare const getGoogleDriveNodesByParentIdInputSchema: z$1.ZodObject<{
|
|
|
284
359
|
isArchived: boolean;
|
|
285
360
|
namespace: string;
|
|
286
361
|
parentId: string | null;
|
|
287
|
-
types?: ("
|
|
362
|
+
types?: ("folder" | "file")[] | null | undefined;
|
|
288
363
|
contentTypes?: string[] | null | undefined;
|
|
289
364
|
nodeIds?: string[] | null | undefined;
|
|
290
365
|
}, {
|
|
291
366
|
namespace: string;
|
|
292
367
|
parentId: string | null;
|
|
293
|
-
types?: ("
|
|
368
|
+
types?: ("folder" | "file")[] | null | undefined;
|
|
294
369
|
contentTypes?: string[] | null | undefined;
|
|
295
370
|
nodeIds?: string[] | null | undefined;
|
|
296
371
|
isArchived?: boolean | null | undefined;
|
|
@@ -299,4 +374,4 @@ declare const getGoogleDriveNodesByParentIdInputSchema: z$1.ZodObject<{
|
|
|
299
374
|
type GetGoogleDriveNodesByParentIdInput = z$1.input<typeof getGoogleDriveNodesByParentIdInputSchema>;
|
|
300
375
|
type GetGoogleDriveNodesByParentIdSchema = z$1.infer<typeof getGoogleDriveNodesByParentIdInputSchema>;
|
|
301
376
|
//#endregion
|
|
302
|
-
export { CreateGoogleDriveFolderInput, CreateGoogleDriveFolderSchema, GetGoogleDriveNodesByParentIdInput, GetGoogleDriveNodesByParentIdSchema, GoogleDriveNode, GoogleDriveNodeChild, GoogleDriveNodeWithChildren, GoogleDriveTableFilters, GoogleDriveTableFiltersInput, ListGoogleDriveTreeInput, ListGoogleDriveTreeSchema, UpdateGoogleDriveNodeInput, UpdateGoogleDriveNodeSchema, UploadGoogleDriveFileInput, UploadGoogleDriveFileSchema, createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
|
|
377
|
+
export { CreateGoogleDriveFolderInput, CreateGoogleDriveFolderSchema, GetGoogleDriveNodesByParentIdInput, GetGoogleDriveNodesByParentIdSchema, GoogleDriveNode, GoogleDriveNodeChild, GoogleDriveNodeWithChildren, GoogleDriveTableFilters, GoogleDriveTableFiltersInput, ListGoogleDriveTreeInput, ListGoogleDriveTreeSchema, UpdateGoogleDriveNodeInput, UpdateGoogleDriveNodeSchema, UploadGoogleDriveFileInput, UploadGoogleDriveFileSchema, createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeParentSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, googleDriveTreeResponseSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { driveNodeSchema } from "../../../lib/dto.mjs";
|
|
2
2
|
import { createDriveFolderInputSchema, driveTableFiltersSchema, getNodesByParentIdInputSchema, listDriveTreeInputSchema, updateDriveNodeInputSchema, uploadDriveFileInputSchema } from "../../../lib/validators.mjs";
|
|
3
3
|
import z$1 from "zod";
|
|
4
|
+
import { tableQueryPaginationResponseSchema } from "@tulip-systems/core/data-tables";
|
|
4
5
|
|
|
5
6
|
//#region src/providers/google/lib/validators.ts
|
|
6
7
|
/**
|
|
@@ -20,6 +21,26 @@ const googleDriveNodeSchema = driveNodeSchema.extend({
|
|
|
20
21
|
canEdit: z$1.boolean().nullable()
|
|
21
22
|
});
|
|
22
23
|
/**
|
|
24
|
+
* GoogleDriveNodeParent schema
|
|
25
|
+
* @description zod schema for validating the shape of a GoogleDriveNode parent
|
|
26
|
+
*/
|
|
27
|
+
const googleDriveNodeParentSchema = z$1.object({
|
|
28
|
+
id: z$1.string(),
|
|
29
|
+
name: z$1.string(),
|
|
30
|
+
parentId: z$1.string().nullable(),
|
|
31
|
+
depth: z$1.number()
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* GoogleDriveTreeResponse schema
|
|
35
|
+
* @description zod schema for validating the shape of a GoogleDriveTreeResponse
|
|
36
|
+
* @see TableQueryResponse<TData> for the common response shape
|
|
37
|
+
* @see TableQueryPaginationResponse for the common pagination shape
|
|
38
|
+
*/
|
|
39
|
+
const googleDriveTreeResponseSchema = z$1.object({
|
|
40
|
+
data: z$1.array(googleDriveNodeSchema),
|
|
41
|
+
pagination: tableQueryPaginationResponseSchema
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
23
44
|
* GoogleDriveNodeWithChildren schema
|
|
24
45
|
* @description zod schema for validating the shape of a GoogleDriveNode with children
|
|
25
46
|
*/
|
|
@@ -55,4 +76,4 @@ const listGoogleDriveTreeInputSchema = listDriveTreeInputSchema;
|
|
|
55
76
|
const getGoogleDriveNodesByParentIdInputSchema = getNodesByParentIdInputSchema;
|
|
56
77
|
|
|
57
78
|
//#endregion
|
|
58
|
-
export { createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
|
|
79
|
+
export { createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeParentSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, googleDriveTreeResponseSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
|
|
@@ -14,8 +14,8 @@ declare const localDriveFilters: {
|
|
|
14
14
|
}>>>;
|
|
15
15
|
hidden: _tulip_systems_core_data_tables0.ParseFilter<z$1.ZodBoolean>;
|
|
16
16
|
types: _tulip_systems_core_data_tables0.ParseFilter<z$1.ZodArray<z$1.ZodEnum<{
|
|
17
|
-
file: "file";
|
|
18
17
|
folder: "folder";
|
|
18
|
+
file: "file";
|
|
19
19
|
}>>>;
|
|
20
20
|
contentTypes: _tulip_systems_core_data_tables0.ParseFilter<z$1.ZodArray<z$1.ZodString>>;
|
|
21
21
|
nodeIds: _tulip_systems_core_data_tables0.ParseFilter<z$1.ZodArray<z$1.ZodString>>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { LocalDrive } from "./service.server.mjs";
|
|
2
|
-
import { TDatabaseSchema
|
|
2
|
+
import { TDatabaseSchema } from "@tulip-systems/core/database";
|
|
3
|
+
import { TAuthServerOptions } from "@tulip-systems/core/auth/server";
|
|
3
4
|
import { NextRequest } from "next/server";
|
|
5
|
+
import { TulipContext } from "@tulip-systems/core/config";
|
|
4
6
|
|
|
5
7
|
//#region src/providers/local/lib/route-handler.server.d.ts
|
|
6
8
|
type RouteCtx = {
|
|
@@ -8,7 +10,7 @@ type RouteCtx = {
|
|
|
8
10
|
rest?: string[];
|
|
9
11
|
}>;
|
|
10
12
|
};
|
|
11
|
-
type CreateLocalDriveRouteHandlerProps<TSchema extends TDatabaseSchema> = Pick<TulipContext<TSchema>, "auth"> & {
|
|
13
|
+
type CreateLocalDriveRouteHandlerProps<TSchema extends TDatabaseSchema, TAuthOptions extends TAuthServerOptions> = Pick<TulipContext<TSchema, TAuthOptions>, "auth"> & {
|
|
12
14
|
drive: LocalDrive<TSchema>;
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
@@ -22,7 +24,7 @@ type CreateLocalDriveRouteHandlerProps<TSchema extends TDatabaseSchema> = Pick<T
|
|
|
22
24
|
* @param props - Route handler dependencies.
|
|
23
25
|
* @returns Next.js route handlers for GET, POST, PUT, PATCH, and DELETE.
|
|
24
26
|
*/
|
|
25
|
-
declare function createLocalDriveRouteHandler<TSchema extends TDatabaseSchema>(context: CreateLocalDriveRouteHandlerProps<TSchema>): {
|
|
27
|
+
declare function createLocalDriveRouteHandler<TSchema extends TDatabaseSchema, TAuthOptions extends TAuthServerOptions>(context: CreateLocalDriveRouteHandlerProps<TSchema, TAuthOptions>): {
|
|
26
28
|
GET: (request: NextRequest, ctx: RouteCtx) => Promise<Response>;
|
|
27
29
|
POST: () => Promise<Response>;
|
|
28
30
|
PUT: () => Promise<Response>;
|
|
@@ -47,7 +47,7 @@ function createLocalDriveRouteHandler(context) {
|
|
|
47
47
|
message: "Asset not found"
|
|
48
48
|
} }, { status: 404 });
|
|
49
49
|
if (asset.visibility === "private") {
|
|
50
|
-
if (!await getSession(context)) return Response.json({ error: {
|
|
50
|
+
if (!await getSession(context.auth)) return Response.json({ error: {
|
|
51
51
|
code: "UNAUTHORIZED",
|
|
52
52
|
message: "Unauthorized"
|
|
53
53
|
} }, { status: 401 });
|