@studious-lms/server 1.7.0 → 1.8.0
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/models/access.d.ts +21 -66
- package/dist/models/access.d.ts.map +1 -1
- package/dist/models/access.js +10 -26
- package/dist/models/access.js.map +1 -1
- package/dist/models/agenda.d.ts +2 -0
- package/dist/models/agenda.d.ts.map +1 -1
- package/dist/models/announcement.d.ts +2 -1
- package/dist/models/announcement.d.ts.map +1 -1
- package/dist/models/announcement.js +2 -3
- package/dist/models/announcement.js.map +1 -1
- package/dist/models/assignment.d.ts +7 -0
- package/dist/models/assignment.d.ts.map +1 -1
- package/dist/models/auth.d.ts +2 -4
- package/dist/models/auth.d.ts.map +1 -1
- package/dist/models/auth.js +2 -3
- package/dist/models/auth.js.map +1 -1
- package/dist/models/class.d.ts +32 -4
- package/dist/models/class.d.ts.map +1 -1
- package/dist/models/class.js +15 -2
- package/dist/models/class.js.map +1 -1
- package/dist/models/cloudStorage.d.ts +140 -0
- package/dist/models/cloudStorage.d.ts.map +1 -0
- package/dist/models/cloudStorage.js +175 -0
- package/dist/models/cloudStorage.js.map +1 -0
- package/dist/models/comment.d.ts +0 -24
- package/dist/models/comment.d.ts.map +1 -1
- package/dist/models/comment.js +2 -6
- package/dist/models/comment.js.map +1 -1
- package/dist/models/conversation.d.ts +22 -22
- package/dist/models/department.d.ts +154 -0
- package/dist/models/department.d.ts.map +1 -0
- package/dist/models/department.js +135 -0
- package/dist/models/department.js.map +1 -0
- package/dist/models/event.d.ts +7 -1
- package/dist/models/event.d.ts.map +1 -1
- package/dist/models/event.js +2 -5
- package/dist/models/event.js.map +1 -1
- package/dist/models/file.d.ts +25 -10
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/file.js +2 -5
- package/dist/models/file.js.map +1 -1
- package/dist/models/folder.d.ts +47 -0
- package/dist/models/folder.d.ts.map +1 -1
- package/dist/models/labChat.d.ts +5 -3
- package/dist/models/labChat.d.ts.map +1 -1
- package/dist/models/message.d.ts +46 -12
- package/dist/models/message.d.ts.map +1 -1
- package/dist/models/message.js +19 -10
- package/dist/models/message.js.map +1 -1
- package/dist/models/newtonChat.d.ts +2 -1
- package/dist/models/newtonChat.d.ts.map +1 -1
- package/dist/models/school.d.ts +45 -12
- package/dist/models/school.d.ts.map +1 -1
- package/dist/models/school.js +19 -2
- package/dist/models/school.js.map +1 -1
- package/dist/models/section.d.ts +1 -0
- package/dist/models/section.d.ts.map +1 -1
- package/dist/models/tag.d.ts +117 -0
- package/dist/models/tag.d.ts.map +1 -0
- package/dist/models/tag.js +113 -0
- package/dist/models/tag.js.map +1 -0
- package/dist/models/worksheet.d.ts +3 -0
- package/dist/models/worksheet.d.ts.map +1 -1
- package/dist/pipelines/aiLabChatContract.d.ts +8 -8
- package/dist/routers/_app.d.ts +3200 -1972
- package/dist/routers/_app.d.ts.map +1 -1
- package/dist/routers/_app.js +6 -2
- package/dist/routers/_app.js.map +1 -1
- package/dist/routers/agenda.d.ts +2 -0
- package/dist/routers/agenda.d.ts.map +1 -1
- package/dist/routers/announcement.d.ts.map +1 -1
- package/dist/routers/announcement.js +3 -5
- package/dist/routers/announcement.js.map +1 -1
- package/dist/routers/assignment.d.ts +18 -9
- package/dist/routers/assignment.d.ts.map +1 -1
- package/dist/routers/assignment.js +2 -3
- package/dist/routers/assignment.js.map +1 -1
- package/dist/routers/class.d.ts +87 -14
- package/dist/routers/class.d.ts.map +1 -1
- package/dist/routers/class.js +5 -2
- package/dist/routers/class.js.map +1 -1
- package/dist/routers/conversation.d.ts +5 -5
- package/dist/routers/department.d.ts +293 -0
- package/dist/routers/department.d.ts.map +1 -0
- package/dist/routers/department.js +93 -0
- package/dist/routers/department.js.map +1 -0
- package/dist/routers/event.d.ts +2 -1
- package/dist/routers/event.d.ts.map +1 -1
- package/dist/routers/file.d.ts +8 -6
- package/dist/routers/file.d.ts.map +1 -1
- package/dist/routers/file.js +26 -17
- package/dist/routers/file.js.map +1 -1
- package/dist/routers/folder.d.ts +139 -186
- package/dist/routers/folder.d.ts.map +1 -1
- package/dist/routers/folder.js +82 -90
- package/dist/routers/folder.js.map +1 -1
- package/dist/routers/labChat.d.ts +11 -2
- package/dist/routers/labChat.d.ts.map +1 -1
- package/dist/routers/message.d.ts +20 -2
- package/dist/routers/message.d.ts.map +1 -1
- package/dist/routers/newtonChat.d.ts +9 -0
- package/dist/routers/newtonChat.d.ts.map +1 -1
- package/dist/routers/school.d.ts +160 -17
- package/dist/routers/school.d.ts.map +1 -1
- package/dist/routers/school.js +46 -3
- package/dist/routers/school.js.map +1 -1
- package/dist/routers/tag.d.ts +119 -0
- package/dist/routers/tag.d.ts.map +1 -0
- package/dist/routers/tag.js +52 -0
- package/dist/routers/tag.js.map +1 -0
- package/dist/routers/worksheet.d.ts +1 -0
- package/dist/routers/worksheet.d.ts.map +1 -1
- package/dist/seedDatabase.d.ts +0 -1
- package/dist/seedDatabase.d.ts.map +1 -1
- package/dist/services/agenda.d.ts +2 -0
- package/dist/services/agenda.d.ts.map +1 -1
- package/dist/services/assignment.d.ts +18 -9
- package/dist/services/assignment.d.ts.map +1 -1
- package/dist/services/class.d.ts +87 -14
- package/dist/services/class.d.ts.map +1 -1
- package/dist/services/class.js +91 -4
- package/dist/services/class.js.map +1 -1
- package/dist/services/conversation.d.ts +5 -5
- package/dist/services/department.d.ts +200 -0
- package/dist/services/department.d.ts.map +1 -0
- package/dist/services/department.js +368 -0
- package/dist/services/department.js.map +1 -0
- package/dist/services/event.d.ts +2 -1
- package/dist/services/event.d.ts.map +1 -1
- package/dist/services/file.d.ts +85 -0
- package/dist/services/file.d.ts.map +1 -1
- package/dist/services/file.js +92 -2
- package/dist/services/file.js.map +1 -1
- package/dist/services/folder.d.ts +125 -149
- package/dist/services/folder.d.ts.map +1 -1
- package/dist/services/folder.js +258 -199
- package/dist/services/folder.js.map +1 -1
- package/dist/services/labChat.d.ts +11 -2
- package/dist/services/labChat.d.ts.map +1 -1
- package/dist/services/labChat.js +4 -3
- package/dist/services/labChat.js.map +1 -1
- package/dist/services/message.d.ts +20 -2
- package/dist/services/message.d.ts.map +1 -1
- package/dist/services/message.js +7 -23
- package/dist/services/message.js.map +1 -1
- package/dist/services/newtonChat.d.ts +9 -0
- package/dist/services/newtonChat.d.ts.map +1 -1
- package/dist/services/newtonChat.js +4 -3
- package/dist/services/newtonChat.js.map +1 -1
- package/dist/services/school.d.ts +142 -15
- package/dist/services/school.d.ts.map +1 -1
- package/dist/services/school.js +308 -54
- package/dist/services/school.js.map +1 -1
- package/dist/services/tag.d.ts +71 -0
- package/dist/services/tag.d.ts.map +1 -0
- package/dist/services/tag.js +178 -0
- package/dist/services/tag.js.map +1 -0
- package/dist/services/worksheet.d.ts +1 -0
- package/dist/services/worksheet.d.ts.map +1 -1
- package/dist/utils/aiUser.d.ts.map +1 -1
- package/dist/utils/aiUser.js +2 -3
- package/dist/utils/aiUser.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +184 -0
- package/prisma/schema.prisma +119 -35
- package/src/models/access.ts +8 -24
- package/src/models/announcement.ts +0 -1
- package/src/models/auth.ts +0 -1
- package/src/models/class.ts +13 -0
- package/src/models/cloudStorage.ts +194 -0
- package/src/models/comment.ts +0 -4
- package/src/models/department.ts +159 -0
- package/src/models/event.ts +0 -3
- package/src/models/file.ts +0 -3
- package/src/models/message.ts +19 -5
- package/src/models/school.ts +26 -0
- package/src/models/tag.ts +140 -0
- package/src/routers/_app.ts +4 -0
- package/src/routers/announcement.ts +1 -3
- package/src/routers/assignment.ts +0 -1
- package/src/routers/class.ts +3 -0
- package/src/routers/department.ts +174 -0
- package/src/routers/file.ts +29 -26
- package/src/routers/folder.ts +100 -121
- package/src/routers/school.ts +83 -0
- package/src/routers/tag.ts +78 -0
- package/src/services/class.ts +108 -3
- package/src/services/department.ts +478 -0
- package/src/services/file.ts +100 -0
- package/src/services/folder.ts +313 -240
- package/src/services/labChat.ts +2 -1
- package/src/services/message.ts +5 -21
- package/src/services/newtonChat.ts +2 -1
- package/src/services/school.ts +369 -57
- package/src/services/tag.ts +229 -0
- package/src/utils/aiUser.ts +0 -1
package/dist/routers/folder.js
CHANGED
|
@@ -1,115 +1,107 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9f777a4d-302d-516f-8d82-00a1ba3392ab")}catch(e){}}();
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import { createTRPCRouter, protectedProcedure,
|
|
5
|
-
import {
|
|
6
|
-
const createFolderSchema = z.object({
|
|
7
|
-
name: z.string(),
|
|
8
|
-
parentFolderId: z.string().optional(),
|
|
9
|
-
color: z.string().optional(),
|
|
10
|
-
});
|
|
4
|
+
import { createTRPCRouter, protectedProcedure, } from "../trpc.js";
|
|
5
|
+
import { browseFolder, confirmFolderUpload, createFolderRecord, deleteFolder, getFolder, getFolderParents, getFolderUploadUrls, getRootFolder, listUserScopes, moveFolder, updateFolderRecord, } from "../services/folder.js";
|
|
11
6
|
const directFileSchema = z.object({
|
|
12
7
|
name: z.string(),
|
|
13
8
|
type: z.string(),
|
|
14
9
|
size: z.number(),
|
|
15
10
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Cloud scope discriminator. Folders live under one of:
|
|
13
|
+
* - CLASS: a class shared-files area
|
|
14
|
+
* - SCHOOL_STORAGE: institution-wide files
|
|
15
|
+
* - PERSONAL: a single user's storage
|
|
16
|
+
*
|
|
17
|
+
* All folder operations identify the location they apply to with either a
|
|
18
|
+
* `folderId` (for an existing folder) or a `scope` (when no folder exists yet,
|
|
19
|
+
* e.g. browsing a scope root). There is no `classId` shorthand — use
|
|
20
|
+
* `{ scope: { kind: "CLASS", classId } }` instead.
|
|
21
|
+
*/
|
|
22
|
+
const cloudScopeSchema = z.discriminatedUnion("kind", [
|
|
23
|
+
z.object({ kind: z.literal("CLASS"), classId: z.string() }),
|
|
24
|
+
z.object({ kind: z.literal("SCHOOL_STORAGE"), schoolId: z.string() }),
|
|
25
|
+
z.object({ kind: z.literal("PERSONAL"), userId: z.string() }),
|
|
26
|
+
]);
|
|
23
27
|
export const folderRouter = createTRPCRouter({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
get:
|
|
38
|
-
.input(z.object({ folderId: z.string()
|
|
39
|
-
.query(({ input }) => getFolder(input.folderId)),
|
|
40
|
-
|
|
41
|
-
.input(z.object({
|
|
42
|
-
.query(({ input }) =>
|
|
43
|
-
|
|
44
|
-
.input(z.object({ folderId: z.string(), classId: z.string() }))
|
|
45
|
-
.query(({ input }) => getFolderChildren(input.folderId, input.classId)),
|
|
46
|
-
getRootFolder: protectedClassMemberProcedure
|
|
47
|
-
.input(getRootFolderSchema)
|
|
48
|
-
.query(({ input }) => getRootFolder(input.classId)),
|
|
49
|
-
uploadFiles: protectedTeacherProcedure
|
|
50
|
-
.input(uploadFilesToFolderSchema)
|
|
51
|
-
.mutation(async ({ ctx, input }) => {
|
|
52
|
-
if (!ctx.user) {
|
|
53
|
-
throw new Error("You must be logged in to upload files");
|
|
54
|
-
}
|
|
55
|
-
return uploadFilesToFolder(ctx.user.id, input.classId, input.folderId, input.files);
|
|
56
|
-
}),
|
|
57
|
-
delete: protectedTeacherProcedure
|
|
58
|
-
.input(z.object({ classId: z.string(), folderId: z.string() }))
|
|
59
|
-
.mutation(async ({ ctx, input }) => {
|
|
60
|
-
if (!ctx.user) {
|
|
61
|
-
throw new Error("You must be logged in to delete folders");
|
|
62
|
-
}
|
|
63
|
-
return deleteFolderRecord(ctx.user.id, input.classId, input.folderId);
|
|
64
|
-
}),
|
|
65
|
-
move: protectedTeacherProcedure
|
|
28
|
+
/** Browse a folder (or scope root) with breadcrumbs and access flag. */
|
|
29
|
+
browse: protectedProcedure
|
|
30
|
+
.input(z.union([
|
|
31
|
+
z.object({ folderId: z.string() }),
|
|
32
|
+
z.object({ scope: cloudScopeSchema }),
|
|
33
|
+
]))
|
|
34
|
+
.query(({ ctx, input }) => browseFolder(ctx.user.id, input)),
|
|
35
|
+
/** What scopes can this user pick from in the cloud-storage UI? */
|
|
36
|
+
listScopes: protectedProcedure.query(({ ctx }) => listUserScopes(ctx.user.id)),
|
|
37
|
+
/** Root folder for any scope (no folderId). */
|
|
38
|
+
getRootFolder: protectedProcedure
|
|
39
|
+
.input(z.object({ scope: cloudScopeSchema }))
|
|
40
|
+
.query(({ ctx, input }) => getRootFolder(ctx.user.id, input.scope)),
|
|
41
|
+
get: protectedProcedure
|
|
42
|
+
.input(z.object({ folderId: z.string() }))
|
|
43
|
+
.query(({ ctx, input }) => getFolder(ctx.user.id, input.folderId)),
|
|
44
|
+
getParents: protectedProcedure
|
|
45
|
+
.input(z.object({ folderId: z.string() }))
|
|
46
|
+
.query(({ ctx, input }) => getFolderParents(ctx.user.id, input.folderId)),
|
|
47
|
+
create: protectedProcedure
|
|
66
48
|
.input(z.object({
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
49
|
+
name: z.string().min(1),
|
|
50
|
+
parentFolderId: z.string().nullable().optional(),
|
|
51
|
+
color: z.string().optional(),
|
|
52
|
+
scope: cloudScopeSchema.optional(),
|
|
70
53
|
}))
|
|
71
|
-
.mutation(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}),
|
|
77
|
-
update:
|
|
54
|
+
.mutation(({ ctx, input }) => createFolderRecord(ctx.user.id, {
|
|
55
|
+
name: input.name,
|
|
56
|
+
parentFolderId: input.parentFolderId ?? undefined,
|
|
57
|
+
color: input.color,
|
|
58
|
+
scope: input.scope,
|
|
59
|
+
})),
|
|
60
|
+
update: protectedProcedure
|
|
78
61
|
.input(z.object({
|
|
79
62
|
folderId: z.string(),
|
|
80
|
-
name: z.string(),
|
|
63
|
+
name: z.string().optional(),
|
|
81
64
|
color: z.string().optional(),
|
|
82
|
-
classId: z.string(),
|
|
83
65
|
}))
|
|
84
|
-
.mutation(({ input }) => updateFolderRecord(
|
|
85
|
-
|
|
66
|
+
.mutation(({ ctx, input }) => updateFolderRecord(ctx.user.id, {
|
|
67
|
+
folderId: input.folderId,
|
|
68
|
+
name: input.name,
|
|
69
|
+
color: input.color,
|
|
70
|
+
})),
|
|
71
|
+
delete: protectedProcedure
|
|
86
72
|
.input(z.object({ folderId: z.string() }))
|
|
87
|
-
.
|
|
88
|
-
|
|
73
|
+
.mutation(({ ctx, input }) => deleteFolder(ctx.user.id, input.folderId)),
|
|
74
|
+
move: protectedProcedure
|
|
75
|
+
.input(z.object({
|
|
76
|
+
folderId: z.string(),
|
|
77
|
+
targetParentFolderId: z.string(),
|
|
78
|
+
}))
|
|
79
|
+
.mutation(({ ctx, input }) => moveFolder(ctx.user.id, {
|
|
80
|
+
folderId: input.folderId,
|
|
81
|
+
targetParentFolderId: input.targetParentFolderId,
|
|
82
|
+
})),
|
|
83
|
+
/** Get signed upload URLs for direct-to-GCS upload. */
|
|
84
|
+
getFolderUploadUrls: protectedProcedure
|
|
89
85
|
.input(z.object({
|
|
90
|
-
classId: z.string(),
|
|
91
86
|
folderId: z.string(),
|
|
92
87
|
files: z.array(directFileSchema),
|
|
93
88
|
}))
|
|
94
|
-
.mutation(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
confirmFolderUpload: protectedTeacherProcedure
|
|
89
|
+
.mutation(({ ctx, input }) => getFolderUploadUrls(ctx.user.id, {
|
|
90
|
+
folderId: input.folderId,
|
|
91
|
+
files: input.files,
|
|
92
|
+
})),
|
|
93
|
+
/** Acknowledge a direct upload completed (or failed). */
|
|
94
|
+
confirmFolderUpload: protectedProcedure
|
|
101
95
|
.input(z.object({
|
|
102
96
|
fileId: z.string(),
|
|
103
97
|
uploadSuccess: z.boolean(),
|
|
98
|
+
errorMessage: z.string().optional(),
|
|
104
99
|
}))
|
|
105
|
-
.mutation(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
await confirmDirectUpload(input.fileId, input.uploadSuccess);
|
|
111
|
-
return { success: true };
|
|
112
|
-
}),
|
|
100
|
+
.mutation(({ ctx, input }) => confirmFolderUpload(ctx.user.id, {
|
|
101
|
+
fileId: input.fileId,
|
|
102
|
+
uploadSuccess: input.uploadSuccess,
|
|
103
|
+
errorMessage: input.errorMessage,
|
|
104
|
+
})),
|
|
113
105
|
});
|
|
114
106
|
//# sourceMappingURL=folder.js.map
|
|
115
|
-
//# debugId=
|
|
107
|
+
//# debugId=9f777a4d-302d-516f-8d82-00a1ba3392ab
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder.js","sources":["routers/folder.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport {\n createTRPCRouter,\n protectedProcedure,\n
|
|
1
|
+
{"version":3,"file":"folder.js","sources":["routers/folder.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport {\n createTRPCRouter,\n protectedProcedure,\n} from \"../trpc.js\";\nimport {\n browseFolder,\n confirmFolderUpload,\n createFolderRecord,\n deleteFolder,\n getFolder,\n getFolderParents,\n getFolderUploadUrls,\n getRootFolder,\n listUserScopes,\n moveFolder,\n updateFolderRecord,\n} from \"../services/folder.js\";\n\nconst directFileSchema = z.object({\n name: z.string(),\n type: z.string(),\n size: z.number(),\n});\n\n/**\n * Cloud scope discriminator. Folders live under one of:\n * - CLASS: a class shared-files area\n * - SCHOOL_STORAGE: institution-wide files\n * - PERSONAL: a single user's storage\n *\n * All folder operations identify the location they apply to with either a\n * `folderId` (for an existing folder) or a `scope` (when no folder exists yet,\n * e.g. browsing a scope root). There is no `classId` shorthand — use\n * `{ scope: { kind: \"CLASS\", classId } }` instead.\n */\nconst cloudScopeSchema = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"CLASS\"), classId: z.string() }),\n z.object({ kind: z.literal(\"SCHOOL_STORAGE\"), schoolId: z.string() }),\n z.object({ kind: z.literal(\"PERSONAL\"), userId: z.string() }),\n]);\n\nexport const folderRouter = createTRPCRouter({\n /** Browse a folder (or scope root) with breadcrumbs and access flag. */\n browse: protectedProcedure\n .input(\n z.union([\n z.object({ folderId: z.string() }),\n z.object({ scope: cloudScopeSchema }),\n ])\n )\n .query(({ ctx, input }) => browseFolder(ctx.user!.id, input)),\n\n /** What scopes can this user pick from in the cloud-storage UI? */\n listScopes: protectedProcedure.query(({ ctx }) =>\n listUserScopes(ctx.user!.id)\n ),\n\n /** Root folder for any scope (no folderId). */\n getRootFolder: protectedProcedure\n .input(z.object({ scope: cloudScopeSchema }))\n .query(({ ctx, input }) => getRootFolder(ctx.user!.id, input.scope)),\n\n get: protectedProcedure\n .input(z.object({ folderId: z.string() }))\n .query(({ ctx, input }) => getFolder(ctx.user!.id, input.folderId)),\n\n getParents: protectedProcedure\n .input(z.object({ folderId: z.string() }))\n .query(({ ctx, input }) => getFolderParents(ctx.user!.id, input.folderId)),\n\n create: protectedProcedure\n .input(\n z.object({\n name: z.string().min(1),\n parentFolderId: z.string().nullable().optional(),\n color: z.string().optional(),\n scope: cloudScopeSchema.optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n createFolderRecord(ctx.user!.id, {\n name: input.name,\n parentFolderId: input.parentFolderId ?? undefined,\n color: input.color,\n scope: input.scope,\n })\n ),\n\n update: protectedProcedure\n .input(\n z.object({\n folderId: z.string(),\n name: z.string().optional(),\n color: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n updateFolderRecord(ctx.user!.id, {\n folderId: input.folderId,\n name: input.name,\n color: input.color,\n })\n ),\n\n delete: protectedProcedure\n .input(z.object({ folderId: z.string() }))\n .mutation(({ ctx, input }) => deleteFolder(ctx.user!.id, input.folderId)),\n\n move: protectedProcedure\n .input(\n z.object({\n folderId: z.string(),\n targetParentFolderId: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n moveFolder(ctx.user!.id, {\n folderId: input.folderId,\n targetParentFolderId: input.targetParentFolderId,\n })\n ),\n\n /** Get signed upload URLs for direct-to-GCS upload. */\n getFolderUploadUrls: protectedProcedure\n .input(\n z.object({\n folderId: z.string(),\n files: z.array(directFileSchema),\n })\n )\n .mutation(({ ctx, input }) =>\n getFolderUploadUrls(ctx.user!.id, {\n folderId: input.folderId,\n files: input.files,\n })\n ),\n\n /** Acknowledge a direct upload completed (or failed). */\n confirmFolderUpload: protectedProcedure\n .input(\n z.object({\n fileId: z.string(),\n uploadSuccess: z.boolean(),\n errorMessage: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n confirmFolderUpload(ctx.user!.id, {\n fileId: input.fileId,\n uploadSuccess: input.uploadSuccess,\n errorMessage: input.errorMessage,\n })\n ),\n});\n"],"names":[],"mappings":"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","debug_id":"9f777a4d-302d-516f-8d82-00a1ba3392ab"}
|
|
@@ -41,8 +41,8 @@ export declare const labChatRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
41
41
|
};
|
|
42
42
|
} & {
|
|
43
43
|
id: string;
|
|
44
|
-
role: import(".prisma/client").$Enums.ConversationRole;
|
|
45
44
|
userId: string;
|
|
45
|
+
role: import(".prisma/client").$Enums.ConversationRole;
|
|
46
46
|
conversationId: string;
|
|
47
47
|
joinedAt: Date;
|
|
48
48
|
hiddenAt: Date | null;
|
|
@@ -100,8 +100,8 @@ export declare const labChatRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
100
100
|
};
|
|
101
101
|
} & {
|
|
102
102
|
id: string;
|
|
103
|
-
role: import(".prisma/client").$Enums.ConversationRole;
|
|
104
103
|
userId: string;
|
|
104
|
+
role: import(".prisma/client").$Enums.ConversationRole;
|
|
105
105
|
conversationId: string;
|
|
106
106
|
joinedAt: Date;
|
|
107
107
|
hiddenAt: Date | null;
|
|
@@ -198,9 +198,18 @@ export declare const labChatRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
198
198
|
} | null;
|
|
199
199
|
};
|
|
200
200
|
attachments: {
|
|
201
|
+
path: string;
|
|
201
202
|
type: string;
|
|
202
203
|
name: string;
|
|
203
204
|
id: string;
|
|
205
|
+
size: number | null;
|
|
206
|
+
uploadedAt: Date | null;
|
|
207
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
208
|
+
thumbnailId: string | null;
|
|
209
|
+
thumbnail: {
|
|
210
|
+
path: string;
|
|
211
|
+
id: string;
|
|
212
|
+
} | null;
|
|
204
213
|
}[];
|
|
205
214
|
mentionedUserIds: string[];
|
|
206
215
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labChat.d.ts","sourceRoot":"/","sources":["routers/labChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"labChat.d.ts","sourceRoot":"/","sources":["routers/labChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDxB,CAAC"}
|
|
@@ -39,9 +39,18 @@ export declare const messageRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
39
39
|
};
|
|
40
40
|
status: import(".prisma/client").$Enums.JobStatus | null;
|
|
41
41
|
attachments: {
|
|
42
|
-
|
|
43
|
-
name: string;
|
|
42
|
+
path: string;
|
|
44
43
|
type: string;
|
|
44
|
+
name: string;
|
|
45
|
+
id: string;
|
|
46
|
+
size: number | null;
|
|
47
|
+
uploadedAt: Date | null;
|
|
48
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
49
|
+
thumbnailId: string | null;
|
|
50
|
+
thumbnail: {
|
|
51
|
+
path: string;
|
|
52
|
+
id: string;
|
|
53
|
+
} | null;
|
|
45
54
|
}[];
|
|
46
55
|
meta: Record<string, unknown>;
|
|
47
56
|
mentions: {
|
|
@@ -82,9 +91,18 @@ export declare const messageRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
82
91
|
} | null;
|
|
83
92
|
};
|
|
84
93
|
attachments: {
|
|
94
|
+
path: string;
|
|
85
95
|
type: string;
|
|
86
96
|
name: string;
|
|
87
97
|
id: string;
|
|
98
|
+
size: number | null;
|
|
99
|
+
uploadedAt: Date | null;
|
|
100
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
101
|
+
thumbnailId: string | null;
|
|
102
|
+
thumbnail: {
|
|
103
|
+
path: string;
|
|
104
|
+
id: string;
|
|
105
|
+
} | null;
|
|
88
106
|
}[];
|
|
89
107
|
mentionedUserIds: string[];
|
|
90
108
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"/","sources":["routers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"/","sources":["routers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHxB,CAAC"}
|
|
@@ -50,9 +50,18 @@ export declare const newtonChatRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
50
50
|
} | null;
|
|
51
51
|
};
|
|
52
52
|
attachments: {
|
|
53
|
+
path: string;
|
|
53
54
|
type: string;
|
|
54
55
|
name: string;
|
|
55
56
|
id: string;
|
|
57
|
+
size: number | null;
|
|
58
|
+
uploadedAt: Date | null;
|
|
59
|
+
uploadStatus: import(".prisma/client").$Enums.UploadStatus;
|
|
60
|
+
thumbnailId: string | null;
|
|
61
|
+
thumbnail: {
|
|
62
|
+
path: string;
|
|
63
|
+
id: string;
|
|
64
|
+
} | null;
|
|
56
65
|
}[];
|
|
57
66
|
mentionedUserIds: string[];
|
|
58
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newtonChat.d.ts","sourceRoot":"/","sources":["routers/newtonChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"newtonChat.d.ts","sourceRoot":"/","sources":["routers/newtonChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8B3B,CAAC"}
|