@@ -12,26 +12,17 @@ import { clearApiKeyCache, clearConfigCache, getApiKeys, getCacheApiKeys, getCac
12
12
import type { AnnounceConfig , AuditConfig , Config , GiftCard , KeyConfig , MailConfig , SiteConfig , UserConfig , UserInfo } from './storage/model'
13
13
import { AdvancedConfig , Status , UserRole } from './storage/model'
14
14
import {
15
- createChatRoom ,
16
15
createUser ,
17
- deleteChatRoom ,
18
16
disableUser2FA ,
19
- existsChatRoom ,
20
17
getAmtByCardNo ,
21
- getChatRooms ,
22
- getChatRoomsCount ,
23
18
getUser ,
24
19
getUserById ,
25
20
getUserStatisticsByDay ,
26
21
getUsers ,
27
- renameChatRoom ,
28
22
updateApiKeyStatus ,
29
23
updateConfig ,
30
24
updateGiftCard ,
31
25
updateGiftCards ,
32
- updateRoomChatModel ,
33
- updateRoomPrompt ,
34
- updateRoomUsingContext ,
35
26
updateUser ,
36
27
updateUser2FA ,
37
28
updateUserAdvancedConfig ,
@@ -52,6 +43,7 @@ import { isAdmin, rootAuth } from './middleware/rootAuth'
52
43
53
44
import { router as chatRouter } from './routes/chat'
54
45
import { router as promptRouter } from './routes/prompt'
46
+ import { router as roomRouter } from './routes/room'
55
47
import { router as uploadRouter } from './routes/upload'
56
48
57
49
dotenv . config ( )
@@ -79,163 +71,6 @@ app.all('/', (_, res, next) => {
79
71
next ( )
80
72
} )
81
73
82
- router . get ( '/chatrooms' , auth , async ( req , res ) => {
83
- try {
84
- const userId = req . headers . userId as string
85
- const rooms = await getChatRooms ( userId )
86
- const result = [ ]
87
- rooms . forEach ( ( r ) => {
88
- result . push ( {
89
- uuid : r . roomId ,
90
- title : r . title ,
91
- isEdit : false ,
92
- prompt : r . prompt ,
93
- usingContext : r . usingContext === undefined ? true : r . usingContext ,
94
- chatModel : r . chatModel ,
95
- } )
96
- } )
97
- res . send ( { status : 'Success' , message : null , data : result } )
98
- }
99
- catch ( error ) {
100
- console . error ( error )
101
- res . send ( { status : 'Fail' , message : 'Load error' , data : [ ] } )
102
- }
103
- } )
104
-
105
- function formatTimestamp ( timestamp : number ) {
106
- const date = new Date ( timestamp )
107
- const year = date . getFullYear ( )
108
- const month = String ( date . getMonth ( ) + 1 ) . padStart ( 2 , '0' )
109
- const day = String ( date . getDate ( ) ) . padStart ( 2 , '0' )
110
- const hours = String ( date . getHours ( ) ) . padStart ( 2 , '0' )
111
- const minutes = String ( date . getMinutes ( ) ) . padStart ( 2 , '0' )
112
- const seconds = String ( date . getSeconds ( ) ) . padStart ( 2 , '0' )
113
-
114
- return `${ year } -${ month } -${ day } ${ hours } :${ minutes } :${ seconds } `
115
- }
116
-
117
- router . get ( '/chatrooms-count' , auth , async ( req , res ) => {
118
- try {
119
- const userId = req . query . userId as string
120
- const page = + req . query . page
121
- const size = + req . query . size
122
- const rooms = await getChatRoomsCount ( userId , page , size )
123
- const result = [ ]
124
- rooms . data . forEach ( ( r ) => {
125
- result . push ( {
126
- uuid : r . roomId ,
127
- title : r . title ,
128
- userId : r . userId ,
129
- name : r . username ,
130
- lastTime : formatTimestamp ( r . dateTime ) ,
131
- chatCount : r . chatCount ,
132
- } )
133
- } )
134
- res . send ( { status : 'Success' , message : null , data : { data : result , total : rooms . total } } )
135
- }
136
- catch ( error ) {
137
- console . error ( error )
138
- res . send ( { status : 'Fail' , message : 'Load error' , data : [ ] } )
139
- }
140
- } )
141
-
142
- router . post ( '/room-create' , auth , async ( req , res ) => {
143
- try {
144
- const userId = req . headers . userId as string
145
- const { title, roomId, chatModel } = req . body as { title : string ; roomId : number ; chatModel : string }
146
- const room = await createChatRoom ( userId , title , roomId , chatModel )
147
- res . send ( { status : 'Success' , message : null , data : room } )
148
- }
149
- catch ( error ) {
150
- console . error ( error )
151
- res . send ( { status : 'Fail' , message : 'Create error' , data : null } )
152
- }
153
- } )
154
-
155
- router . post ( '/room-rename' , auth , async ( req , res ) => {
156
- try {
157
- const userId = req . headers . userId as string
158
- const { title, roomId } = req . body as { title : string ; roomId : number }
159
- const success = await renameChatRoom ( userId , title , roomId )
160
- if ( success )
161
- res . send ( { status : 'Success' , message : null , data : null } )
162
- else
163
- res . send ( { status : 'Fail' , message : 'Saved Failed' , data : null } )
164
- }
165
- catch ( error ) {
166
- console . error ( error )
167
- res . send ( { status : 'Fail' , message : 'Rename error' , data : null } )
168
- }
169
- } )
170
-
171
- router . post ( '/room-prompt' , auth , async ( req , res ) => {
172
- try {
173
- const userId = req . headers . userId as string
174
- const { prompt, roomId } = req . body as { prompt : string ; roomId : number }
175
- const success = await updateRoomPrompt ( userId , roomId , prompt )
176
- if ( success )
177
- res . send ( { status : 'Success' , message : 'Saved successfully' , data : null } )
178
- else
179
- res . send ( { status : 'Fail' , message : 'Saved Failed' , data : null } )
180
- }
181
- catch ( error ) {
182
- console . error ( error )
183
- res . send ( { status : 'Fail' , message : 'Rename error' , data : null } )
184
- }
185
- } )
186
-
187
- router . post ( '/room-chatmodel' , auth , async ( req , res ) => {
188
- try {
189
- const userId = req . headers . userId as string
190
- const { chatModel, roomId } = req . body as { chatModel : string ; roomId : number }
191
- const success = await updateRoomChatModel ( userId , roomId , chatModel )
192
- if ( success )
193
- res . send ( { status : 'Success' , message : 'Saved successfully' , data : null } )
194
- else
195
- res . send ( { status : 'Fail' , message : 'Saved Failed' , data : null } )
196
- }
197
- catch ( error ) {
198
- console . error ( error )
199
- res . send ( { status : 'Fail' , message : 'Rename error' , data : null } )
200
- }
201
- } )
202
-
203
- router . post ( '/room-context' , auth , async ( req , res ) => {
204
- try {
205
- const userId = req . headers . userId as string
206
- const { using, roomId } = req . body as { using : boolean ; roomId : number }
207
- const success = await updateRoomUsingContext ( userId , roomId , using)
208
- if ( success )
209
- res . send ( { status : 'Success' , message : 'Saved successfully' , data : null } )
210
- else
211
- res . send ( { status : 'Fail' , message : 'Saved Failed' , data : null } )
212
- }
213
- catch ( error ) {
214
- console . error ( error )
215
- res . send ( { status : 'Fail' , message : 'Rename error' , data : null } )
216
- }
217
- } )
218
-
219
- router . post ( '/room-delete' , auth , async ( req , res ) => {
220
- try {
221
- const userId = req . headers . userId as string
222
- const { roomId } = req . body as { roomId : number }
223
- if ( ! roomId || ! await existsChatRoom ( userId , roomId ) ) {
224
- res . send ( { status : 'Fail' , message : 'Unknown room' , data : null } )
225
- return
226
- }
227
- const success = await deleteChatRoom ( userId , roomId )
228
- if ( success )
229
- res . send ( { status : 'Success' , message : null , data : null } )
230
- else
231
- res . send ( { status : 'Fail' , message : 'Saved Failed' , data : null } )
232
- }
233
- catch ( error ) {
234
- console . error ( error )
235
- res . send ( { status : 'Fail' , message : 'Delete error' , data : null } )
236
- }
237
- } )
238
-
239
74
router . post ( '/user-register' , authLimiter , async ( req , res ) => {
240
75
try {
241
76
const { username, password } = req . body as { username : string ; password : string }
@@ -1053,6 +888,9 @@ app.use('/api', chatRouter)
1053
888
app . use ( '' , promptRouter )
1054
889
app . use ( '/api' , promptRouter )
1055
890
891
+ app . use ( '' , roomRouter )
892
+ app . use ( '/api' , roomRouter )
893
+
1056
894
app . use ( '' , uploadRouter )
1057
895
app . use ( '/api' , uploadRouter )
1058
896
0 commit comments