A social knowledge tool for researchers built on ATProto
at development 175 lines 10 kB view raw
1import { InitiateOAuthSignInController } from '../../../../modules/user/infrastructure/http/controllers/InitiateOAuthSignInController'; 2import { CompleteOAuthSignInController } from '../../../../modules/user/infrastructure/http/controllers/CompleteOAuthSignInController'; 3import { RefreshAccessTokenController } from '../../../../modules/user/infrastructure/http/controllers/RefreshAccessTokenController'; 4import { AddUrlToLibraryController } from '../../../../modules/cards/infrastructure/http/controllers/AddUrlToLibraryController'; 5import { AddCardToLibraryController } from '../../../../modules/cards/infrastructure/http/controllers/AddCardToLibraryController'; 6import { AddCardToCollectionController } from '../../../../modules/cards/infrastructure/http/controllers/AddCardToCollectionController'; 7import { UpdateNoteCardController } from '../../../../modules/cards/infrastructure/http/controllers/UpdateNoteCardController'; 8import { RemoveCardFromLibraryController } from '../../../../modules/cards/infrastructure/http/controllers/RemoveCardFromLibraryController'; 9import { RemoveCardFromCollectionController } from '../../../../modules/cards/infrastructure/http/controllers/RemoveCardFromCollectionController'; 10import { GetUrlMetadataController } from '../../../../modules/cards/infrastructure/http/controllers/GetUrlMetadataController'; 11import { GetUrlCardViewController } from '../../../../modules/cards/infrastructure/http/controllers/GetUrlCardViewController'; 12import { GetLibrariesForCardController } from '../../../../modules/cards/infrastructure/http/controllers/GetLibrariesForCardController'; 13import { GetMyUrlCardsController } from '../../../../modules/cards/infrastructure/http/controllers/GetMyUrlCardsController'; 14import { GetUserUrlCardsController } from '../../../../modules/cards/infrastructure/http/controllers/GetUserUrlCardsController'; 15import { CreateCollectionController } from '../../../../modules/cards/infrastructure/http/controllers/CreateCollectionController'; 16import { UpdateCollectionController } from '../../../../modules/cards/infrastructure/http/controllers/UpdateCollectionController'; 17import { DeleteCollectionController } from '../../../../modules/cards/infrastructure/http/controllers/DeleteCollectionController'; 18import { GetCollectionPageController } from '../../../../modules/cards/infrastructure/http/controllers/GetCollectionPageController'; 19import { GetMyCollectionsController } from '../../../../modules/cards/infrastructure/http/controllers/GetMyCollectionsController'; 20import { GetGlobalFeedController } from '../../../../modules/feeds/infrastructure/http/controllers/GetGlobalFeedController'; 21import { UseCases } from './UseCaseFactory'; 22import { GetMyProfileController } from 'src/modules/cards/infrastructure/http/controllers/GetMyProfileController'; 23import { GetUserProfileController } from 'src/modules/cards/infrastructure/http/controllers/GetUserProfileController'; 24import { LoginWithAppPasswordController } from 'src/modules/user/infrastructure/http/controllers/LoginWithAppPasswordController'; 25import { LogoutController } from 'src/modules/user/infrastructure/http/controllers/LogoutController'; 26import { GenerateExtensionTokensController } from 'src/modules/user/infrastructure/http/controllers/GenerateExtensionTokensController'; 27import { GetUserCollectionsController } from 'src/modules/cards/infrastructure/http/controllers/GetUserCollectionsController'; 28import { GetCollectionPageByAtUriController } from 'src/modules/cards/infrastructure/http/controllers/GetCollectionPageByAtUriController'; 29import { GetUrlStatusForMyLibraryController } from '../../../../modules/cards/infrastructure/http/controllers/GetUrlStatusForMyLibraryController'; 30import { GetLibrariesForUrlController } from '../../../../modules/cards/infrastructure/http/controllers/GetLibrariesForUrlController'; 31import { GetCollectionsForUrlController } from '../../../../modules/cards/infrastructure/http/controllers/GetCollectionsForUrlController'; 32import { GetNoteCardsForUrlController } from '../../../../modules/cards/infrastructure/http/controllers/GetNoteCardsForUrlController'; 33 34export interface Controllers { 35 // User controllers 36 loginWithAppPasswordController: LoginWithAppPasswordController; 37 logoutController: LogoutController; 38 initiateOAuthSignInController: InitiateOAuthSignInController; 39 completeOAuthSignInController: CompleteOAuthSignInController; 40 getMyProfileController: GetMyProfileController; 41 getUserProfileController: GetUserProfileController; 42 refreshAccessTokenController: RefreshAccessTokenController; 43 generateExtensionTokensController: GenerateExtensionTokensController; 44 // Card controllers 45 addUrlToLibraryController: AddUrlToLibraryController; 46 addCardToLibraryController: AddCardToLibraryController; 47 addCardToCollectionController: AddCardToCollectionController; 48 updateNoteCardController: UpdateNoteCardController; 49 removeCardFromLibraryController: RemoveCardFromLibraryController; 50 removeCardFromCollectionController: RemoveCardFromCollectionController; 51 getUrlMetadataController: GetUrlMetadataController; 52 getUrlCardViewController: GetUrlCardViewController; 53 getLibrariesForCardController: GetLibrariesForCardController; 54 getMyUrlCardsController: GetMyUrlCardsController; 55 getUserUrlCardsController: GetUserUrlCardsController; 56 createCollectionController: CreateCollectionController; 57 updateCollectionController: UpdateCollectionController; 58 deleteCollectionController: DeleteCollectionController; 59 getCollectionPageController: GetCollectionPageController; 60 getCollectionPageByAtUriController: GetCollectionPageByAtUriController; 61 getMyCollectionsController: GetMyCollectionsController; 62 getCollectionsController: GetUserCollectionsController; 63 getUrlStatusForMyLibraryController: GetUrlStatusForMyLibraryController; 64 getLibrariesForUrlController: GetLibrariesForUrlController; 65 getCollectionsForUrlController: GetCollectionsForUrlController; 66 getNoteCardsForUrlController: GetNoteCardsForUrlController; 67 // Feed controllers 68 getGlobalFeedController: GetGlobalFeedController; 69} 70 71export class ControllerFactory { 72 static create(useCases: UseCases): Controllers { 73 return { 74 // User controllers 75 loginWithAppPasswordController: new LoginWithAppPasswordController( 76 useCases.loginWithAppPasswordUseCase, 77 ), 78 logoutController: new LogoutController(useCases.logoutUseCase), 79 initiateOAuthSignInController: new InitiateOAuthSignInController( 80 useCases.initiateOAuthSignInUseCase, 81 ), 82 completeOAuthSignInController: new CompleteOAuthSignInController( 83 useCases.completeOAuthSignInUseCase, 84 ), 85 getMyProfileController: new GetMyProfileController( 86 useCases.getMyProfileUseCase, 87 ), 88 getUserProfileController: new GetUserProfileController( 89 useCases.getMyProfileUseCase, 90 ), 91 refreshAccessTokenController: new RefreshAccessTokenController( 92 useCases.refreshAccessTokenUseCase, 93 ), 94 generateExtensionTokensController: new GenerateExtensionTokensController( 95 useCases.generateExtensionTokensUseCase, 96 ), 97 98 // Card controllers 99 addUrlToLibraryController: new AddUrlToLibraryController( 100 useCases.addUrlToLibraryUseCase, 101 ), 102 addCardToLibraryController: new AddCardToLibraryController( 103 useCases.addCardToLibraryUseCase, 104 ), 105 addCardToCollectionController: new AddCardToCollectionController( 106 useCases.addCardToCollectionUseCase, 107 ), 108 updateNoteCardController: new UpdateNoteCardController( 109 useCases.updateNoteCardUseCase, 110 ), 111 removeCardFromLibraryController: new RemoveCardFromLibraryController( 112 useCases.removeCardFromLibraryUseCase, 113 ), 114 removeCardFromCollectionController: 115 new RemoveCardFromCollectionController( 116 useCases.removeCardFromCollectionUseCase, 117 ), 118 getUrlMetadataController: new GetUrlMetadataController( 119 useCases.getUrlMetadataUseCase, 120 ), 121 getUrlCardViewController: new GetUrlCardViewController( 122 useCases.getUrlCardViewUseCase, 123 ), 124 getLibrariesForCardController: new GetLibrariesForCardController( 125 useCases.getLibrariesForCardUseCase, 126 ), 127 getMyUrlCardsController: new GetMyUrlCardsController( 128 useCases.getMyUrlCardsUseCase, 129 ), 130 getUserUrlCardsController: new GetUserUrlCardsController( 131 useCases.getMyUrlCardsUseCase, 132 ), 133 createCollectionController: new CreateCollectionController( 134 useCases.createCollectionUseCase, 135 ), 136 updateCollectionController: new UpdateCollectionController( 137 useCases.updateCollectionUseCase, 138 ), 139 deleteCollectionController: new DeleteCollectionController( 140 useCases.deleteCollectionUseCase, 141 ), 142 getCollectionPageController: new GetCollectionPageController( 143 useCases.getCollectionPageUseCase, 144 ), 145 getCollectionPageByAtUriController: 146 new GetCollectionPageByAtUriController( 147 useCases.getCollectionPageByAtUriUseCase, 148 ), 149 getMyCollectionsController: new GetMyCollectionsController( 150 useCases.getCollectionsUseCase, 151 ), 152 getCollectionsController: new GetUserCollectionsController( 153 useCases.getCollectionsUseCase, 154 ), 155 getUrlStatusForMyLibraryController: 156 new GetUrlStatusForMyLibraryController( 157 useCases.getUrlStatusForMyLibraryUseCase, 158 ), 159 getLibrariesForUrlController: new GetLibrariesForUrlController( 160 useCases.getLibrariesForUrlUseCase, 161 ), 162 getCollectionsForUrlController: new GetCollectionsForUrlController( 163 useCases.getCollectionsForUrlUseCase, 164 ), 165 getNoteCardsForUrlController: new GetNoteCardsForUrlController( 166 useCases.getNoteCardsForUrlUseCase, 167 ), 168 169 // Feed controllers 170 getGlobalFeedController: new GetGlobalFeedController( 171 useCases.getGlobalFeedUseCase, 172 ), 173 }; 174 } 175}