diff options
Diffstat (limited to 'packages/backend/src/models/RepositoryModule.ts')
| -rw-r--r-- | packages/backend/src/models/RepositoryModule.ts | 519 |
1 files changed, 519 insertions, 0 deletions
diff --git a/packages/backend/src/models/RepositoryModule.ts b/packages/backend/src/models/RepositoryModule.ts new file mode 100644 index 0000000000..9edef10e87 --- /dev/null +++ b/packages/backend/src/models/RepositoryModule.ts @@ -0,0 +1,519 @@ +import { Module } from '@nestjs/common'; +import { DI } from '@/di-symbols.js'; +import { User, Note, Announcement, AnnouncementRead, App, NoteFavorite, NoteThreadMuting, NoteReaction, NoteUnread, Notification, Poll, PollVote, UserProfile, UserKeypair, UserPending, AttestationChallenge, UserSecurityKey, UserPublickey, UserList, UserListJoining, UserGroup, UserGroupJoining, UserGroupInvitation, UserNotePining, UserIp, UsedUsername, Following, FollowRequest, Instance, Emoji, DriveFile, DriveFolder, Meta, Muting, Blocking, SwSubscription, Hashtag, AbuseUserReport, RegistrationTicket, AuthSession, AccessToken, Signin, MessagingMessage, Page, PageLike, GalleryPost, GalleryLike, ModerationLog, Clip, ClipNote, Antenna, AntennaNote, PromoNote, PromoRead, Relay, MutedNote, Channel, ChannelFollowing, ChannelNotePining, RegistryItem, Webhook, Ad, PasswordResetRequest } from './index.js'; +import type { DataSource } from 'typeorm'; +import type { Provider } from '@nestjs/common'; + +const $usersRepository: Provider = { + provide: DI.usersRepository, + useFactory: (db: DataSource) => db.getRepository(User), + inject: [DI.db], +}; + +const $notesRepository: Provider = { + provide: DI.notesRepository, + useFactory: (db: DataSource) => db.getRepository(Note), + inject: [DI.db], +}; + +const $announcementsRepository: Provider = { + provide: DI.announcementsRepository, + useFactory: (db: DataSource) => db.getRepository(Announcement), + inject: [DI.db], +}; + +const $announcementReadsRepository: Provider = { + provide: DI.announcementReadsRepository, + useFactory: (db: DataSource) => db.getRepository(AnnouncementRead), + inject: [DI.db], +}; + +const $appsRepository: Provider = { + provide: DI.appsRepository, + useFactory: (db: DataSource) => db.getRepository(App), + inject: [DI.db], +}; + +const $noteFavoritesRepository: Provider = { + provide: DI.noteFavoritesRepository, + useFactory: (db: DataSource) => db.getRepository(NoteFavorite), + inject: [DI.db], +}; + +const $noteThreadMutingsRepository: Provider = { + provide: DI.noteThreadMutingsRepository, + useFactory: (db: DataSource) => db.getRepository(NoteThreadMuting), + inject: [DI.db], +}; + +const $noteReactionsRepository: Provider = { + provide: DI.noteReactionsRepository, + useFactory: (db: DataSource) => db.getRepository(NoteReaction), + inject: [DI.db], +}; + +const $noteUnreadsRepository: Provider = { + provide: DI.noteUnreadsRepository, + useFactory: (db: DataSource) => db.getRepository(NoteUnread), + inject: [DI.db], +}; + +const $pollsRepository: Provider = { + provide: DI.pollsRepository, + useFactory: (db: DataSource) => db.getRepository(Poll), + inject: [DI.db], +}; + +const $pollVotesRepository: Provider = { + provide: DI.pollVotesRepository, + useFactory: (db: DataSource) => db.getRepository(PollVote), + inject: [DI.db], +}; + +const $userProfilesRepository: Provider = { + provide: DI.userProfilesRepository, + useFactory: (db: DataSource) => db.getRepository(UserProfile), + inject: [DI.db], +}; + +const $userKeypairsRepository: Provider = { + provide: DI.userKeypairsRepository, + useFactory: (db: DataSource) => db.getRepository(UserKeypair), + inject: [DI.db], +}; + +const $userPendingsRepository: Provider = { + provide: DI.userPendingsRepository, + useFactory: (db: DataSource) => db.getRepository(UserPending), + inject: [DI.db], +}; + +const $attestationChallengesRepository: Provider = { + provide: DI.attestationChallengesRepository, + useFactory: (db: DataSource) => db.getRepository(AttestationChallenge), + inject: [DI.db], +}; + +const $userSecurityKeysRepository: Provider = { + provide: DI.userSecurityKeysRepository, + useFactory: (db: DataSource) => db.getRepository(UserSecurityKey), + inject: [DI.db], +}; + +const $userPublickeysRepository: Provider = { + provide: DI.userPublickeysRepository, + useFactory: (db: DataSource) => db.getRepository(UserPublickey), + inject: [DI.db], +}; + +const $userListsRepository: Provider = { + provide: DI.userListsRepository, + useFactory: (db: DataSource) => db.getRepository(UserList), + inject: [DI.db], +}; + +const $userListJoiningsRepository: Provider = { + provide: DI.userListJoiningsRepository, + useFactory: (db: DataSource) => db.getRepository(UserListJoining), + inject: [DI.db], +}; + +const $userGroupsRepository: Provider = { + provide: DI.userGroupsRepository, + useFactory: (db: DataSource) => db.getRepository(UserGroup), + inject: [DI.db], +}; + +const $userGroupJoiningsRepository: Provider = { + provide: DI.userGroupJoiningsRepository, + useFactory: (db: DataSource) => db.getRepository(UserGroupJoining), + inject: [DI.db], +}; + +const $userGroupInvitationsRepository: Provider = { + provide: DI.userGroupInvitationsRepository, + useFactory: (db: DataSource) => db.getRepository(UserGroupInvitation), + inject: [DI.db], +}; + +const $userNotePiningsRepository: Provider = { + provide: DI.userNotePiningsRepository, + useFactory: (db: DataSource) => db.getRepository(UserNotePining), + inject: [DI.db], +}; + +const $userIpsRepository: Provider = { + provide: DI.userIpsRepository, + useFactory: (db: DataSource) => db.getRepository(UserIp), + inject: [DI.db], +}; + +const $usedUsernamesRepository: Provider = { + provide: DI.usedUsernamesRepository, + useFactory: (db: DataSource) => db.getRepository(UsedUsername), + inject: [DI.db], +}; + +const $followingsRepository: Provider = { + provide: DI.followingsRepository, + useFactory: (db: DataSource) => db.getRepository(Following), + inject: [DI.db], +}; + +const $followRequestsRepository: Provider = { + provide: DI.followRequestsRepository, + useFactory: (db: DataSource) => db.getRepository(FollowRequest), + inject: [DI.db], +}; + +const $instancesRepository: Provider = { + provide: DI.instancesRepository, + useFactory: (db: DataSource) => db.getRepository(Instance), + inject: [DI.db], +}; + +const $emojisRepository: Provider = { + provide: DI.emojisRepository, + useFactory: (db: DataSource) => db.getRepository(Emoji), + inject: [DI.db], +}; + +const $driveFilesRepository: Provider = { + provide: DI.driveFilesRepository, + useFactory: (db: DataSource) => db.getRepository(DriveFile), + inject: [DI.db], +}; + +const $driveFoldersRepository: Provider = { + provide: DI.driveFoldersRepository, + useFactory: (db: DataSource) => db.getRepository(DriveFolder), + inject: [DI.db], +}; + +const $notificationsRepository: Provider = { + provide: DI.notificationsRepository, + useFactory: (db: DataSource) => db.getRepository(Notification), + inject: [DI.db], +}; + +const $metasRepository: Provider = { + provide: DI.metasRepository, + useFactory: (db: DataSource) => db.getRepository(Meta), + inject: [DI.db], +}; + +const $mutingsRepository: Provider = { + provide: DI.mutingsRepository, + useFactory: (db: DataSource) => db.getRepository(Muting), + inject: [DI.db], +}; + +const $blockingsRepository: Provider = { + provide: DI.blockingsRepository, + useFactory: (db: DataSource) => db.getRepository(Blocking), + inject: [DI.db], +}; + +const $swSubscriptionsRepository: Provider = { + provide: DI.swSubscriptionsRepository, + useFactory: (db: DataSource) => db.getRepository(SwSubscription), + inject: [DI.db], +}; + +const $hashtagsRepository: Provider = { + provide: DI.hashtagsRepository, + useFactory: (db: DataSource) => db.getRepository(Hashtag), + inject: [DI.db], +}; + +const $abuseUserReportsRepository: Provider = { + provide: DI.abuseUserReportsRepository, + useFactory: (db: DataSource) => db.getRepository(AbuseUserReport), + inject: [DI.db], +}; + +const $registrationTicketsRepository: Provider = { + provide: DI.registrationTicketsRepository, + useFactory: (db: DataSource) => db.getRepository(RegistrationTicket), + inject: [DI.db], +}; + +const $authSessionsRepository: Provider = { + provide: DI.authSessionsRepository, + useFactory: (db: DataSource) => db.getRepository(AuthSession), + inject: [DI.db], +}; + +const $accessTokensRepository: Provider = { + provide: DI.accessTokensRepository, + useFactory: (db: DataSource) => db.getRepository(AccessToken), + inject: [DI.db], +}; + +const $signinsRepository: Provider = { + provide: DI.signinsRepository, + useFactory: (db: DataSource) => db.getRepository(Signin), + inject: [DI.db], +}; + +const $messagingMessagesRepository: Provider = { + provide: DI.messagingMessagesRepository, + useFactory: (db: DataSource) => db.getRepository(MessagingMessage), + inject: [DI.db], +}; + +const $pagesRepository: Provider = { + provide: DI.pagesRepository, + useFactory: (db: DataSource) => db.getRepository(Page), + inject: [DI.db], +}; + +const $pageLikesRepository: Provider = { + provide: DI.pageLikesRepository, + useFactory: (db: DataSource) => db.getRepository(PageLike), + inject: [DI.db], +}; + +const $galleryPostsRepository: Provider = { + provide: DI.galleryPostsRepository, + useFactory: (db: DataSource) => db.getRepository(GalleryPost), + inject: [DI.db], +}; + +const $galleryLikesRepository: Provider = { + provide: DI.galleryLikesRepository, + useFactory: (db: DataSource) => db.getRepository(GalleryLike), + inject: [DI.db], +}; + +const $moderationLogsRepository: Provider = { + provide: DI.moderationLogsRepository, + useFactory: (db: DataSource) => db.getRepository(ModerationLog), + inject: [DI.db], +}; + +const $clipsRepository: Provider = { + provide: DI.clipsRepository, + useFactory: (db: DataSource) => db.getRepository(Clip), + inject: [DI.db], +}; + +const $clipNotesRepository: Provider = { + provide: DI.clipNotesRepository, + useFactory: (db: DataSource) => db.getRepository(ClipNote), + inject: [DI.db], +}; + +const $antennasRepository: Provider = { + provide: DI.antennasRepository, + useFactory: (db: DataSource) => db.getRepository(Antenna), + inject: [DI.db], +}; + +const $antennaNotesRepository: Provider = { + provide: DI.antennaNotesRepository, + useFactory: (db: DataSource) => db.getRepository(AntennaNote), + inject: [DI.db], +}; + +const $promoNotesRepository: Provider = { + provide: DI.promoNotesRepository, + useFactory: (db: DataSource) => db.getRepository(PromoNote), + inject: [DI.db], +}; + +const $promoReadsRepository: Provider = { + provide: DI.promoReadsRepository, + useFactory: (db: DataSource) => db.getRepository(PromoRead), + inject: [DI.db], +}; + +const $relaysRepository: Provider = { + provide: DI.relaysRepository, + useFactory: (db: DataSource) => db.getRepository(Relay), + inject: [DI.db], +}; + +const $mutedNotesRepository: Provider = { + provide: DI.mutedNotesRepository, + useFactory: (db: DataSource) => db.getRepository(MutedNote), + inject: [DI.db], +}; + +const $channelsRepository: Provider = { + provide: DI.channelsRepository, + useFactory: (db: DataSource) => db.getRepository(Channel), + inject: [DI.db], +}; + +const $channelFollowingsRepository: Provider = { + provide: DI.channelFollowingsRepository, + useFactory: (db: DataSource) => db.getRepository(ChannelFollowing), + inject: [DI.db], +}; + +const $channelNotePiningsRepository: Provider = { + provide: DI.channelNotePiningsRepository, + useFactory: (db: DataSource) => db.getRepository(ChannelNotePining), + inject: [DI.db], +}; + +const $registryItemsRepository: Provider = { + provide: DI.registryItemsRepository, + useFactory: (db: DataSource) => db.getRepository(RegistryItem), + inject: [DI.db], +}; + +const $webhooksRepository: Provider = { + provide: DI.webhooksRepository, + useFactory: (db: DataSource) => db.getRepository(Webhook), + inject: [DI.db], +}; + +const $adsRepository: Provider = { + provide: DI.adsRepository, + useFactory: (db: DataSource) => db.getRepository(Ad), + inject: [DI.db], +}; + +const $passwordResetRequestsRepository: Provider = { + provide: DI.passwordResetRequestsRepository, + useFactory: (db: DataSource) => db.getRepository(PasswordResetRequest), + inject: [DI.db], +}; + +@Module({ + imports: [ + ], + providers: [ + $usersRepository, + $notesRepository, + $announcementsRepository, + $announcementReadsRepository, + $appsRepository, + $noteFavoritesRepository, + $noteThreadMutingsRepository, + $noteReactionsRepository, + $noteUnreadsRepository, + $pollsRepository, + $pollVotesRepository, + $userProfilesRepository, + $userKeypairsRepository, + $userPendingsRepository, + $attestationChallengesRepository, + $userSecurityKeysRepository, + $userPublickeysRepository, + $userListsRepository, + $userListJoiningsRepository, + $userGroupsRepository, + $userGroupJoiningsRepository, + $userGroupInvitationsRepository, + $userNotePiningsRepository, + $userIpsRepository, + $usedUsernamesRepository, + $followingsRepository, + $followRequestsRepository, + $instancesRepository, + $emojisRepository, + $driveFilesRepository, + $driveFoldersRepository, + $notificationsRepository, + $metasRepository, + $mutingsRepository, + $blockingsRepository, + $swSubscriptionsRepository, + $hashtagsRepository, + $abuseUserReportsRepository, + $registrationTicketsRepository, + $authSessionsRepository, + $accessTokensRepository, + $signinsRepository, + $messagingMessagesRepository, + $pagesRepository, + $pageLikesRepository, + $galleryPostsRepository, + $galleryLikesRepository, + $moderationLogsRepository, + $clipsRepository, + $clipNotesRepository, + $antennasRepository, + $antennaNotesRepository, + $promoNotesRepository, + $promoReadsRepository, + $relaysRepository, + $mutedNotesRepository, + $channelsRepository, + $channelFollowingsRepository, + $channelNotePiningsRepository, + $registryItemsRepository, + $webhooksRepository, + $adsRepository, + $passwordResetRequestsRepository, + ], + exports: [ + $usersRepository, + $notesRepository, + $announcementsRepository, + $announcementReadsRepository, + $appsRepository, + $noteFavoritesRepository, + $noteThreadMutingsRepository, + $noteReactionsRepository, + $noteUnreadsRepository, + $pollsRepository, + $pollVotesRepository, + $userProfilesRepository, + $userKeypairsRepository, + $userPendingsRepository, + $attestationChallengesRepository, + $userSecurityKeysRepository, + $userPublickeysRepository, + $userListsRepository, + $userListJoiningsRepository, + $userGroupsRepository, + $userGroupJoiningsRepository, + $userGroupInvitationsRepository, + $userNotePiningsRepository, + $userIpsRepository, + $usedUsernamesRepository, + $followingsRepository, + $followRequestsRepository, + $instancesRepository, + $emojisRepository, + $driveFilesRepository, + $driveFoldersRepository, + $notificationsRepository, + $metasRepository, + $mutingsRepository, + $blockingsRepository, + $swSubscriptionsRepository, + $hashtagsRepository, + $abuseUserReportsRepository, + $registrationTicketsRepository, + $authSessionsRepository, + $accessTokensRepository, + $signinsRepository, + $messagingMessagesRepository, + $pagesRepository, + $pageLikesRepository, + $galleryPostsRepository, + $galleryLikesRepository, + $moderationLogsRepository, + $clipsRepository, + $clipNotesRepository, + $antennasRepository, + $antennaNotesRepository, + $promoNotesRepository, + $promoReadsRepository, + $relaysRepository, + $mutedNotesRepository, + $channelsRepository, + $channelFollowingsRepository, + $channelNotePiningsRepository, + $registryItemsRepository, + $webhooksRepository, + $adsRepository, + $passwordResetRequestsRepository, + ], +}) +export class RepositoryModule {} |