@@ -14,65 +14,24 @@ import config from '../../config'
1414import validateConfig from './utils/validateConfig'
1515import createTrackerRoute from './tracker/routes'
1616import auth from './middleware/auth'
17+ import {
18+ accountRoutes ,
19+ userRoutes ,
20+ torrentRoutes ,
21+ announcementRoutes ,
22+ reportRoutes ,
23+ adminRoutes ,
24+ requestRoutes ,
25+ } from './routes'
1726import {
1827 register ,
1928 login ,
20- generateInvite ,
21- fetchInvites ,
22- changePassword ,
2329 initiatePasswordReset ,
2430 finalisePasswordReset ,
25- fetchUser ,
26- getUserStats ,
27- getUserRole ,
28- getUserVerifiedEmailStatus ,
2931 verifyUserEmail ,
30- banUser ,
31- unbanUser ,
32- buyItems ,
33- generateTotpSecret ,
34- enableTotp ,
35- disableTotp ,
3632} from './controllers/user'
37- import {
38- uploadTorrent ,
39- downloadTorrent ,
40- fetchTorrent ,
41- deleteTorrent ,
42- addComment as addCommentTorrent ,
43- listLatest ,
44- searchTorrents ,
45- addVote ,
46- removeVote ,
47- toggleFreeleech ,
48- } from './controllers/torrent'
49- import {
50- createAnnouncement ,
51- fetchAnnouncement ,
52- getAnnouncements ,
53- getPinnedAnnouncements ,
54- deleteAnnouncement ,
55- pinAnnouncement ,
56- editAnnouncement ,
57- addComment as addCommentAnnouncement ,
58- } from './controllers/announcement'
59- import {
60- createReport ,
61- fetchReport ,
62- getReports ,
63- setReportResolved ,
64- getStats ,
65- } from './controllers/moderation'
33+ import { downloadTorrent } from './controllers/torrent'
6634import { rssFeed } from './controllers/rss'
67- import {
68- createRequest ,
69- getRequests ,
70- fetchRequest ,
71- deleteRequest ,
72- addComment as addCommentRequest ,
73- addCandidate ,
74- acceptCandidate ,
75- } from './controllers/request'
7635import createAdminUser from './setup/createAdminUser'
7736
7837let mail
@@ -184,7 +143,6 @@ validateConfig(config).then(() => {
184143 app . use ( cookieParser ( ) )
185144 app . use ( cors ( ) )
186145
187- // root
188146 app . get ( '/' , ( req , res ) =>
189147 res . send ( `■ sqtracker running: ${ process . env . SQ_SITE_NAME } ` ) . status ( 200 )
190148 )
@@ -205,57 +163,13 @@ validateConfig(config).then(() => {
205163 // everything from here on requires user auth
206164 app . use ( auth )
207165
208- // user/account routes
209- app . get ( '/account/invites' , fetchInvites )
210- app . post ( '/account/generate-invite' , generateInvite )
211- app . post ( '/account/change-password' , changePassword )
212- app . get ( '/account/get-stats' , getUserStats )
213- app . get ( '/account/get-role' , getUserRole )
214- app . get ( '/account/get-verified' , getUserVerifiedEmailStatus )
215- app . post ( '/account/buy' , buyItems )
216- app . get ( '/user/:username' , fetchUser ( tracker ) )
217- app . post ( '/user/ban/:username' , banUser )
218- app . post ( '/user/unban/:username' , unbanUser )
219- app . get ( '/account/totp/generate' , generateTotpSecret )
220- app . post ( '/account/totp/enable' , enableTotp )
221- app . post ( '/account/totp/disable' , disableTotp )
222-
223- // torrent routes
224- app . post ( '/torrent/upload' , uploadTorrent )
225- app . get ( '/torrent/info/:infoHash' , fetchTorrent ( tracker ) )
226- app . delete ( '/torrent/delete/:infoHash' , deleteTorrent )
227- app . post ( '/torrent/comment/:infoHash' , addCommentTorrent )
228- app . post ( '/torrent/vote/:infoHash/:vote' , addVote )
229- app . post ( '/torrent/unvote/:infoHash/:vote' , removeVote )
230- app . post ( '/torrent/report/:infoHash' , createReport )
231- app . post ( '/torrent/toggle-freeleech/:infoHash' , toggleFreeleech )
232- app . get ( '/torrents/latest' , listLatest ( tracker ) )
233- app . get ( '/torrents/search' , searchTorrents ( tracker ) )
234-
235- // announcement routes
236- app . post ( '/announcements/new' , createAnnouncement )
237- app . get ( '/announcements/pinned' , getPinnedAnnouncements )
238- app . get ( '/announcements/:slug' , fetchAnnouncement )
239- app . get ( '/announcements/page/:page' , getAnnouncements )
240- app . delete ( '/announcements/:slug' , deleteAnnouncement )
241- app . post ( '/announcements/pin/:announcementId/:action' , pinAnnouncement )
242- app . post ( '/announcements/edit/:announcementId' , editAnnouncement )
243- app . post ( '/announcements/comment/:announcementId' , addCommentAnnouncement )
244-
245- // moderation routes
246- app . get ( '/reports/page/:page' , getReports )
247- app . post ( '/reports/resolve/:reportId' , setReportResolved )
248- app . get ( '/reports/:reportId' , fetchReport )
249- app . get ( '/admin/stats' , getStats ( tracker ) )
250-
251- // request routes
252- app . post ( '/requests/new' , createRequest )
253- app . get ( '/requests/page/:page' , getRequests )
254- app . get ( '/requests/:index' , fetchRequest )
255- app . delete ( '/requests/:index' , deleteRequest )
256- app . post ( '/requests/comment/:requestId' , addCommentRequest )
257- app . post ( '/requests/suggest/:requestId' , addCandidate )
258- app . post ( '/requests/accept/:requestId' , acceptCandidate )
166+ app . use ( '/account' , accountRoutes ( ) )
167+ app . use ( '/user' , userRoutes ( tracker ) )
168+ app . use ( '/torrent' , torrentRoutes ( tracker ) )
169+ app . use ( '/announcements' , announcementRoutes ( ) )
170+ app . use ( '/reports' , reportRoutes ( ) )
171+ app . use ( '/admin' , adminRoutes ( tracker ) )
172+ app . use ( '/requests' , requestRoutes ( ) )
259173
260174 const port = process . env . SQ_PORT || 3001
261175 app . listen ( port , ( ) => {
0 commit comments