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';
30
31export function createCardsModuleRoutes(
32 authMiddleware: AuthMiddleware,
33 // Card controllers
34 addUrlToLibraryController: AddUrlToLibraryController,
35 addCardToLibraryController: AddCardToLibraryController,
36 addCardToCollectionController: AddCardToCollectionController,
37 updateNoteCardController: UpdateNoteCardController,
38 updateUrlCardAssociationsController: UpdateUrlCardAssociationsController,
39 removeCardFromLibraryController: RemoveCardFromLibraryController,
40 removeCardFromCollectionController: RemoveCardFromCollectionController,
41 getUrlMetadataController: GetUrlMetadataController,
42 getUrlCardViewController: GetUrlCardViewController,
43 getLibrariesForCardController: GetLibrariesForCardController,
44 getMyUrlCardsController: GetMyUrlCardsController,
45 getUserUrlCardsController: GetUserUrlCardsController,
46 getUrlStatusForMyLibraryController: GetUrlStatusForMyLibraryController,
47 getLibrariesForUrlController: GetLibrariesForUrlController,
48 getNoteCardsForUrlController: GetNoteCardsForUrlController,
49 // Collection controllers
50 createCollectionController: CreateCollectionController,
51 updateCollectionController: UpdateCollectionController,
52 deleteCollectionController: DeleteCollectionController,
53 getCollectionPageController: GetCollectionPageController,
54 getCollectionPageByAtUriController: GetCollectionPageByAtUriController,
55 getMyCollectionsController: GetMyCollectionsController,
56 getCollectionsController: GetUserCollectionsController,
57 getCollectionsForUrlController: GetCollectionsForUrlController,
58 searchCollectionsController: SearchCollectionsController,
59 getOpenCollectionsWithContributorController: GetOpenCollectionsWithContributorController,
60): Router {
61 const router = Router();
62
63 // Mount card routes at /api/cards
64 router.use(
65 '/cards',
66 createCardRoutes(
67 authMiddleware,
68 addUrlToLibraryController,
69 addCardToLibraryController,
70 addCardToCollectionController,
71 updateNoteCardController,
72 updateUrlCardAssociationsController,
73 removeCardFromLibraryController,
74 removeCardFromCollectionController,
75 getUrlMetadataController,
76 getUrlCardViewController,
77 getLibrariesForCardController,
78 getMyUrlCardsController,
79 getUserUrlCardsController,
80 getUrlStatusForMyLibraryController,
81 getLibrariesForUrlController,
82 getNoteCardsForUrlController,
83 ),
84 );
85
86 // Mount collection routes at /api/collections
87 router.use(
88 '/collections',
89 createCollectionRoutes(
90 authMiddleware,
91 createCollectionController,
92 updateCollectionController,
93 deleteCollectionController,
94 getCollectionPageController,
95 getMyCollectionsController,
96 getCollectionsController,
97 getCollectionPageByAtUriController,
98 getCollectionsForUrlController,
99 searchCollectionsController,
100 getOpenCollectionsWithContributorController,
101 ),
102 );
103
104 return router;
105}