This repository has no description
1import { Router } from 'express';
2import { createCardRoutes } from './cardRoutes';
3import { createCollectionRoutes } from './collectionRoutes';
4import { AddUrlToLibraryController } from '../controllers/AddUrlToLibraryController';
5import { AddCardToLibraryController } from '../controllers/AddCardToLibraryController';
6import { AddCardToCollectionController } from '../controllers/AddCardToCollectionController';
7import { UpdateNoteCardController } from '../controllers/UpdateNoteCardController';
8import { UpdateUrlCardAssociationsController } from '../controllers/UpdateUrlCardAssociationsController';
9import { RemoveCardFromLibraryController } from '../controllers/RemoveCardFromLibraryController';
10import { RemoveCardFromCollectionController } from '../controllers/RemoveCardFromCollectionController';
11import { GetUrlMetadataController } from '../controllers/GetUrlMetadataController';
12import { GetUrlCardViewController } from '../controllers/GetUrlCardViewController';
13import { GetLibrariesForCardController } from '../controllers/GetLibrariesForCardController';
14import { GetMyUrlCardsController } from '../controllers/GetMyUrlCardsController';
15import { GetUserUrlCardsController } from '../controllers/GetUserUrlCardsController';
16import { GetUrlStatusForMyLibraryController } from '../controllers/GetUrlStatusForMyLibraryController';
17import { GetLibrariesForUrlController } from '../controllers/GetLibrariesForUrlController';
18import { GetNoteCardsForUrlController } from '../controllers/GetNoteCardsForUrlController';
19import { CreateCollectionController } from '../controllers/CreateCollectionController';
20import { UpdateCollectionController } from '../controllers/UpdateCollectionController';
21import { DeleteCollectionController } from '../controllers/DeleteCollectionController';
22import { GetCollectionPageController } from '../controllers/GetCollectionPageController';
23import { AuthMiddleware } from 'src/shared/infrastructure/http/middleware';
24import { GetMyCollectionsController } from '../controllers/GetMyCollectionsController';
25import { GetUserCollectionsController } from '../controllers/GetUserCollectionsController';
26import { SearchCollectionsController } from '../controllers/SearchCollectionsController';
27import { GetOpenCollectionsWithContributorController } from '../controllers/GetOpenCollectionsWithContributorController';
28import { GetCollectionPageByAtUriController } from '../controllers/GetCollectionPageByAtUriController';
29import { GetCollectionsForUrlController } from '../controllers/GetCollectionsForUrlController';
30import { GetCollectionFollowersController } from '../controllers/GetCollectionFollowersController';
31import { GetCollectionFollowersCountController } from '../controllers/GetCollectionFollowersCountController';
32import { GetCollectionContributorsController } from '../controllers/GetCollectionContributorsController';
33
34export function createCardsModuleRoutes(
35 authMiddleware: AuthMiddleware,
36 // Card controllers
37 addUrlToLibraryController: AddUrlToLibraryController,
38 addCardToLibraryController: AddCardToLibraryController,
39 addCardToCollectionController: AddCardToCollectionController,
40 updateNoteCardController: UpdateNoteCardController,
41 updateUrlCardAssociationsController: UpdateUrlCardAssociationsController,
42 removeCardFromLibraryController: RemoveCardFromLibraryController,
43 removeCardFromCollectionController: RemoveCardFromCollectionController,
44 getUrlMetadataController: GetUrlMetadataController,
45 getUrlCardViewController: GetUrlCardViewController,
46 getLibrariesForCardController: GetLibrariesForCardController,
47 getMyUrlCardsController: GetMyUrlCardsController,
48 getUserUrlCardsController: GetUserUrlCardsController,
49 getUrlStatusForMyLibraryController: GetUrlStatusForMyLibraryController,
50 getLibrariesForUrlController: GetLibrariesForUrlController,
51 getNoteCardsForUrlController: GetNoteCardsForUrlController,
52 // Collection controllers
53 createCollectionController: CreateCollectionController,
54 updateCollectionController: UpdateCollectionController,
55 deleteCollectionController: DeleteCollectionController,
56 getCollectionPageController: GetCollectionPageController,
57 getCollectionPageByAtUriController: GetCollectionPageByAtUriController,
58 getMyCollectionsController: GetMyCollectionsController,
59 getCollectionsController: GetUserCollectionsController,
60 getCollectionsForUrlController: GetCollectionsForUrlController,
61 searchCollectionsController: SearchCollectionsController,
62 getOpenCollectionsWithContributorController: GetOpenCollectionsWithContributorController,
63 getCollectionFollowersController: GetCollectionFollowersController,
64 getCollectionFollowersCountController: GetCollectionFollowersCountController,
65 getCollectionContributorsController: GetCollectionContributorsController,
66): Router {
67 const router = Router();
68
69 // Mount card routes at /api/cards
70 router.use(
71 '/cards',
72 createCardRoutes(
73 authMiddleware,
74 addUrlToLibraryController,
75 addCardToLibraryController,
76 addCardToCollectionController,
77 updateNoteCardController,
78 updateUrlCardAssociationsController,
79 removeCardFromLibraryController,
80 removeCardFromCollectionController,
81 getUrlMetadataController,
82 getUrlCardViewController,
83 getLibrariesForCardController,
84 getMyUrlCardsController,
85 getUserUrlCardsController,
86 getUrlStatusForMyLibraryController,
87 getLibrariesForUrlController,
88 getNoteCardsForUrlController,
89 ),
90 );
91
92 // Mount collection routes at /api/collections
93 router.use(
94 '/collections',
95 createCollectionRoutes(
96 authMiddleware,
97 createCollectionController,
98 updateCollectionController,
99 deleteCollectionController,
100 getCollectionPageController,
101 getMyCollectionsController,
102 getCollectionsController,
103 getCollectionPageByAtUriController,
104 getCollectionsForUrlController,
105 searchCollectionsController,
106 getOpenCollectionsWithContributorController,
107 getCollectionFollowersController,
108 getCollectionFollowersCountController,
109 getCollectionContributorsController,
110 ),
111 );
112
113 return router;
114}