summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-08-21 17:59:29 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-08-21 17:59:29 +0900
commitf00ceedae48e7969ca9e80f0af2280bf060421ec (patch)
tree620bb82f6a2ce41f3b3b3d187242bd5bc8e35171 /src/server/api
parentMerge branch 'develop' (diff)
parent12.89.0 (diff)
downloadmisskey-f00ceedae48e7969ca9e80f0af2280bf060421ec.tar.gz
misskey-f00ceedae48e7969ca9e80f0af2280bf060421ec.tar.bz2
misskey-f00ceedae48e7969ca9e80f0af2280bf060421ec.zip
Merge branch 'develop'
Diffstat (limited to 'src/server/api')
-rw-r--r--src/server/api/2fa.ts2
-rw-r--r--src/server/api/authenticate.ts6
-rw-r--r--src/server/api/call.ts4
-rw-r--r--src/server/api/common/generate-block-query.ts4
-rw-r--r--src/server/api/common/generate-channel-query.ts4
-rw-r--r--src/server/api/common/generate-muted-note-query.ts4
-rw-r--r--src/server/api/common/generate-muted-user-query.ts4
-rw-r--r--src/server/api/common/generate-replies-query.ts2
-rw-r--r--src/server/api/common/generate-visibility-query.ts4
-rw-r--r--src/server/api/common/getters.ts6
-rw-r--r--src/server/api/common/inject-featured.ts6
-rw-r--r--src/server/api/common/inject-promo.ts6
-rw-r--r--src/server/api/common/read-messaging-message.ts24
-rw-r--r--src/server/api/common/read-notification.ts8
-rw-r--r--src/server/api/common/signin.ts8
-rw-r--r--src/server/api/common/signup.ts12
-rw-r--r--src/server/api/define.ts4
-rw-r--r--src/server/api/endpoints.ts8
-rw-r--r--src/server/api/endpoints/admin/abuse-user-reports.ts2
-rw-r--r--src/server/api/endpoints/admin/accounts/create.ts2
-rw-r--r--src/server/api/endpoints/admin/ad/create.ts2
-rw-r--r--src/server/api/endpoints/admin/ad/delete.ts2
-rw-r--r--src/server/api/endpoints/admin/ad/list.ts2
-rw-r--r--src/server/api/endpoints/admin/ad/update.ts2
-rw-r--r--src/server/api/endpoints/admin/announcements/create.ts2
-rw-r--r--src/server/api/endpoints/admin/announcements/delete.ts2
-rw-r--r--src/server/api/endpoints/admin/announcements/list.ts2
-rw-r--r--src/server/api/endpoints/admin/announcements/update.ts2
-rw-r--r--src/server/api/endpoints/admin/delete-all-files-of-a-user.ts4
-rw-r--r--src/server/api/endpoints/admin/delete-logs.ts2
-rw-r--r--src/server/api/endpoints/admin/drive/clean-remote-files.ts2
-rw-r--r--src/server/api/endpoints/admin/drive/cleanup.ts4
-rw-r--r--src/server/api/endpoints/admin/drive/files.ts2
-rw-r--r--src/server/api/endpoints/admin/drive/show-file.ts2
-rw-r--r--src/server/api/endpoints/admin/emoji/add.ts6
-rw-r--r--src/server/api/endpoints/admin/emoji/copy.ts6
-rw-r--r--src/server/api/endpoints/admin/emoji/list-remote.ts2
-rw-r--r--src/server/api/endpoints/admin/emoji/list.ts4
-rw-r--r--src/server/api/endpoints/admin/emoji/remove.ts4
-rw-r--r--src/server/api/endpoints/admin/emoji/update.ts2
-rw-r--r--src/server/api/endpoints/admin/federation/delete-all-files.ts4
-rw-r--r--src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts4
-rw-r--r--src/server/api/endpoints/admin/federation/remove-all-following.ts4
-rw-r--r--src/server/api/endpoints/admin/federation/update-instance.ts2
-rw-r--r--src/server/api/endpoints/admin/invite.ts2
-rw-r--r--src/server/api/endpoints/admin/logs.ts2
-rw-r--r--src/server/api/endpoints/admin/moderators/add.ts2
-rw-r--r--src/server/api/endpoints/admin/moderators/remove.ts2
-rw-r--r--src/server/api/endpoints/admin/promo/create.ts2
-rw-r--r--src/server/api/endpoints/admin/queue/clear.ts4
-rw-r--r--src/server/api/endpoints/admin/queue/inbox-delayed.ts2
-rw-r--r--src/server/api/endpoints/admin/relays/add.ts2
-rw-r--r--src/server/api/endpoints/admin/relays/list.ts2
-rw-r--r--src/server/api/endpoints/admin/relays/remove.ts2
-rw-r--r--src/server/api/endpoints/admin/reset-password.ts2
-rw-r--r--src/server/api/endpoints/admin/resolve-abuse-user-report.ts2
-rw-r--r--src/server/api/endpoints/admin/resync-chart.ts4
-rw-r--r--src/server/api/endpoints/admin/send-email.ts2
-rw-r--r--src/server/api/endpoints/admin/show-moderation-logs.ts2
-rw-r--r--src/server/api/endpoints/admin/show-user.ts2
-rw-r--r--src/server/api/endpoints/admin/show-users.ts2
-rw-r--r--src/server/api/endpoints/admin/silence-user.ts4
-rw-r--r--src/server/api/endpoints/admin/suspend-user.ts10
-rw-r--r--src/server/api/endpoints/admin/unsilence-user.ts4
-rw-r--r--src/server/api/endpoints/admin/unsuspend-user.ts6
-rw-r--r--src/server/api/endpoints/admin/update-meta.ts4
-rw-r--r--src/server/api/endpoints/admin/vacuum.ts2
-rw-r--r--src/server/api/endpoints/announcements.ts2
-rw-r--r--src/server/api/endpoints/antennas/create.ts4
-rw-r--r--src/server/api/endpoints/antennas/delete.ts4
-rw-r--r--src/server/api/endpoints/antennas/list.ts2
-rw-r--r--src/server/api/endpoints/antennas/notes.ts2
-rw-r--r--src/server/api/endpoints/antennas/show.ts2
-rw-r--r--src/server/api/endpoints/antennas/update.ts4
-rw-r--r--src/server/api/endpoints/ap/get.ts2
-rw-r--r--src/server/api/endpoints/ap/show.ts16
-rw-r--r--src/server/api/endpoints/app/create.ts4
-rw-r--r--src/server/api/endpoints/app/show.ts2
-rw-r--r--src/server/api/endpoints/auth/accept.ts2
-rw-r--r--src/server/api/endpoints/auth/session/generate.ts4
-rw-r--r--src/server/api/endpoints/auth/session/show.ts2
-rw-r--r--src/server/api/endpoints/auth/session/userkey.ts2
-rw-r--r--src/server/api/endpoints/blocking/create.ts4
-rw-r--r--src/server/api/endpoints/blocking/delete.ts4
-rw-r--r--src/server/api/endpoints/blocking/list.ts2
-rw-r--r--src/server/api/endpoints/channels/create.ts4
-rw-r--r--src/server/api/endpoints/channels/featured.ts2
-rw-r--r--src/server/api/endpoints/channels/follow.ts4
-rw-r--r--src/server/api/endpoints/channels/followed.ts2
-rw-r--r--src/server/api/endpoints/channels/owned.ts2
-rw-r--r--src/server/api/endpoints/channels/show.ts2
-rw-r--r--src/server/api/endpoints/channels/timeline.ts4
-rw-r--r--src/server/api/endpoints/channels/unfollow.ts4
-rw-r--r--src/server/api/endpoints/channels/update.ts2
-rw-r--r--src/server/api/endpoints/charts/active-users.ts4
-rw-r--r--src/server/api/endpoints/charts/drive.ts4
-rw-r--r--src/server/api/endpoints/charts/federation.ts4
-rw-r--r--src/server/api/endpoints/charts/hashtag.ts4
-rw-r--r--src/server/api/endpoints/charts/instance.ts4
-rw-r--r--src/server/api/endpoints/charts/network.ts4
-rw-r--r--src/server/api/endpoints/charts/notes.ts4
-rw-r--r--src/server/api/endpoints/charts/user/drive.ts4
-rw-r--r--src/server/api/endpoints/charts/user/following.ts4
-rw-r--r--src/server/api/endpoints/charts/user/notes.ts4
-rw-r--r--src/server/api/endpoints/charts/user/reactions.ts4
-rw-r--r--src/server/api/endpoints/charts/users.ts4
-rw-r--r--src/server/api/endpoints/clips/add-note.ts2
-rw-r--r--src/server/api/endpoints/clips/create.ts2
-rw-r--r--src/server/api/endpoints/clips/delete.ts2
-rw-r--r--src/server/api/endpoints/clips/list.ts2
-rw-r--r--src/server/api/endpoints/clips/notes.ts2
-rw-r--r--src/server/api/endpoints/clips/show.ts2
-rw-r--r--src/server/api/endpoints/clips/update.ts2
-rw-r--r--src/server/api/endpoints/drive.ts2
-rw-r--r--src/server/api/endpoints/drive/files.ts2
-rw-r--r--src/server/api/endpoints/drive/files/attached-notes.ts2
-rw-r--r--src/server/api/endpoints/drive/files/check-existence.ts2
-rw-r--r--src/server/api/endpoints/drive/files/create.ts4
-rw-r--r--src/server/api/endpoints/drive/files/delete.ts6
-rw-r--r--src/server/api/endpoints/drive/files/find-by-hash.ts2
-rw-r--r--src/server/api/endpoints/drive/files/find.ts2
-rw-r--r--src/server/api/endpoints/drive/files/show.ts4
-rw-r--r--src/server/api/endpoints/drive/files/update.ts4
-rw-r--r--src/server/api/endpoints/drive/files/upload-from-url.ts6
-rw-r--r--src/server/api/endpoints/drive/folders.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/create.ts4
-rw-r--r--src/server/api/endpoints/drive/folders/delete.ts4
-rw-r--r--src/server/api/endpoints/drive/folders/find.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/show.ts2
-rw-r--r--src/server/api/endpoints/drive/folders/update.ts4
-rw-r--r--src/server/api/endpoints/drive/stream.ts2
-rw-r--r--src/server/api/endpoints/federation/dns.ts2
-rw-r--r--src/server/api/endpoints/federation/followers.ts2
-rw-r--r--src/server/api/endpoints/federation/following.ts2
-rw-r--r--src/server/api/endpoints/federation/instances.ts4
-rw-r--r--src/server/api/endpoints/federation/show-instance.ts2
-rw-r--r--src/server/api/endpoints/federation/update-remote-user.ts2
-rw-r--r--src/server/api/endpoints/federation/users.ts2
-rw-r--r--src/server/api/endpoints/following/create.ts4
-rw-r--r--src/server/api/endpoints/following/delete.ts4
-rw-r--r--src/server/api/endpoints/following/requests/accept.ts2
-rw-r--r--src/server/api/endpoints/following/requests/cancel.ts4
-rw-r--r--src/server/api/endpoints/following/requests/list.ts2
-rw-r--r--src/server/api/endpoints/following/requests/reject.ts2
-rw-r--r--src/server/api/endpoints/gallery/featured.ts2
-rw-r--r--src/server/api/endpoints/gallery/popular.ts2
-rw-r--r--src/server/api/endpoints/gallery/posts.ts2
-rw-r--r--src/server/api/endpoints/gallery/posts/create.ts4
-rw-r--r--src/server/api/endpoints/gallery/posts/delete.ts2
-rw-r--r--src/server/api/endpoints/gallery/posts/like.ts2
-rw-r--r--src/server/api/endpoints/gallery/posts/show.ts2
-rw-r--r--src/server/api/endpoints/gallery/posts/unlike.ts2
-rw-r--r--src/server/api/endpoints/gallery/posts/update.ts4
-rw-r--r--src/server/api/endpoints/games/reversi/games.ts2
-rw-r--r--src/server/api/endpoints/games/reversi/games/show.ts2
-rw-r--r--src/server/api/endpoints/games/reversi/games/surrender.ts4
-rw-r--r--src/server/api/endpoints/games/reversi/invitations.ts2
-rw-r--r--src/server/api/endpoints/games/reversi/match.ts8
-rw-r--r--src/server/api/endpoints/games/reversi/match/cancel.ts2
-rw-r--r--src/server/api/endpoints/get-online-users-count.ts2
-rw-r--r--src/server/api/endpoints/hashtags/list.ts2
-rw-r--r--src/server/api/endpoints/hashtags/search.ts2
-rw-r--r--src/server/api/endpoints/hashtags/show.ts2
-rw-r--r--src/server/api/endpoints/hashtags/trend.ts4
-rw-r--r--src/server/api/endpoints/hashtags/users.ts2
-rw-r--r--src/server/api/endpoints/i.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/done.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/key-done.ts6
-rw-r--r--src/server/api/endpoints/i/2fa/password-less.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/register-key.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/register.ts4
-rw-r--r--src/server/api/endpoints/i/2fa/remove-key.ts4
-rw-r--r--src/server/api/endpoints/i/2fa/unregister.ts2
-rw-r--r--src/server/api/endpoints/i/apps.ts2
-rw-r--r--src/server/api/endpoints/i/authorized-apps.ts2
-rw-r--r--src/server/api/endpoints/i/change-password.ts2
-rw-r--r--src/server/api/endpoints/i/delete-account.ts15
-rw-r--r--src/server/api/endpoints/i/export-blocking.ts4
-rw-r--r--src/server/api/endpoints/i/export-following.ts4
-rw-r--r--src/server/api/endpoints/i/export-mute.ts4
-rw-r--r--src/server/api/endpoints/i/export-notes.ts4
-rw-r--r--src/server/api/endpoints/i/export-user-lists.ts4
-rw-r--r--src/server/api/endpoints/i/favorites.ts2
-rw-r--r--src/server/api/endpoints/i/gallery/likes.ts2
-rw-r--r--src/server/api/endpoints/i/gallery/posts.ts2
-rw-r--r--src/server/api/endpoints/i/get-word-muted-notes-count.ts2
-rw-r--r--src/server/api/endpoints/i/import-following.ts6
-rw-r--r--src/server/api/endpoints/i/import-user-lists.ts6
-rw-r--r--src/server/api/endpoints/i/notifications.ts2
-rw-r--r--src/server/api/endpoints/i/page-likes.ts2
-rw-r--r--src/server/api/endpoints/i/pages.ts2
-rw-r--r--src/server/api/endpoints/i/pin.ts4
-rw-r--r--src/server/api/endpoints/i/read-all-messaging-messages.ts4
-rw-r--r--src/server/api/endpoints/i/read-all-unread-notes.ts4
-rw-r--r--src/server/api/endpoints/i/read-announcement.ts4
-rw-r--r--src/server/api/endpoints/i/regenerate-token.ts4
-rw-r--r--src/server/api/endpoints/i/registry/get-all.ts2
-rw-r--r--src/server/api/endpoints/i/registry/get-detail.ts2
-rw-r--r--src/server/api/endpoints/i/registry/get.ts2
-rw-r--r--src/server/api/endpoints/i/registry/keys-with-type.ts2
-rw-r--r--src/server/api/endpoints/i/registry/keys.ts2
-rw-r--r--src/server/api/endpoints/i/registry/remove.ts2
-rw-r--r--src/server/api/endpoints/i/registry/scopes.ts2
-rw-r--r--src/server/api/endpoints/i/registry/set.ts4
-rw-r--r--src/server/api/endpoints/i/revoke-token.ts2
-rw-r--r--src/server/api/endpoints/i/signin-history.ts2
-rw-r--r--src/server/api/endpoints/i/unpin.ts4
-rw-r--r--src/server/api/endpoints/i/update-email.ts8
-rw-r--r--src/server/api/endpoints/i/update.ts14
-rw-r--r--src/server/api/endpoints/i/user-group-invites.ts2
-rw-r--r--src/server/api/endpoints/messaging/history.ts4
-rw-r--r--src/server/api/endpoints/messaging/messages.ts2
-rw-r--r--src/server/api/endpoints/messaging/messages/create.ts8
-rw-r--r--src/server/api/endpoints/messaging/messages/delete.ts4
-rw-r--r--src/server/api/endpoints/messaging/messages/read.ts2
-rw-r--r--src/server/api/endpoints/meta.ts4
-rw-r--r--src/server/api/endpoints/miauth/gen-token.ts2
-rw-r--r--src/server/api/endpoints/mute/create.ts6
-rw-r--r--src/server/api/endpoints/mute/delete.ts4
-rw-r--r--src/server/api/endpoints/mute/list.ts2
-rw-r--r--src/server/api/endpoints/my/apps.ts2
-rw-r--r--src/server/api/endpoints/notes.ts2
-rw-r--r--src/server/api/endpoints/notes/children.ts2
-rw-r--r--src/server/api/endpoints/notes/clips.ts2
-rw-r--r--src/server/api/endpoints/notes/conversation.ts4
-rw-r--r--src/server/api/endpoints/notes/create.ts12
-rw-r--r--src/server/api/endpoints/notes/delete.ts4
-rw-r--r--src/server/api/endpoints/notes/favorites/create.ts2
-rw-r--r--src/server/api/endpoints/notes/favorites/delete.ts2
-rw-r--r--src/server/api/endpoints/notes/featured.ts2
-rw-r--r--src/server/api/endpoints/notes/global-timeline.ts4
-rw-r--r--src/server/api/endpoints/notes/hybrid-timeline.ts4
-rw-r--r--src/server/api/endpoints/notes/local-timeline.ts4
-rw-r--r--src/server/api/endpoints/notes/mentions.ts4
-rw-r--r--src/server/api/endpoints/notes/polls/recommendation.ts2
-rw-r--r--src/server/api/endpoints/notes/polls/vote.ts16
-rw-r--r--src/server/api/endpoints/notes/reactions.ts4
-rw-r--r--src/server/api/endpoints/notes/reactions/create.ts2
-rw-r--r--src/server/api/endpoints/notes/reactions/delete.ts2
-rw-r--r--src/server/api/endpoints/notes/renotes.ts2
-rw-r--r--src/server/api/endpoints/notes/replies.ts2
-rw-r--r--src/server/api/endpoints/notes/search-by-tag.ts2
-rw-r--r--src/server/api/endpoints/notes/search.ts4
-rw-r--r--src/server/api/endpoints/notes/show.ts2
-rw-r--r--src/server/api/endpoints/notes/state.ts2
-rw-r--r--src/server/api/endpoints/notes/timeline.ts4
-rw-r--r--src/server/api/endpoints/notes/translate.ts2
-rw-r--r--src/server/api/endpoints/notes/unrenote.ts4
-rw-r--r--src/server/api/endpoints/notes/user-list-timeline.ts4
-rw-r--r--src/server/api/endpoints/notes/watching/create.ts2
-rw-r--r--src/server/api/endpoints/notes/watching/delete.ts2
-rw-r--r--src/server/api/endpoints/notifications/create.ts2
-rw-r--r--src/server/api/endpoints/notifications/mark-all-as-read.ts4
-rw-r--r--src/server/api/endpoints/notifications/read.ts4
-rw-r--r--src/server/api/endpoints/page-push.ts4
-rw-r--r--src/server/api/endpoints/pages/create.ts4
-rw-r--r--src/server/api/endpoints/pages/delete.ts2
-rw-r--r--src/server/api/endpoints/pages/featured.ts2
-rw-r--r--src/server/api/endpoints/pages/like.ts2
-rw-r--r--src/server/api/endpoints/pages/show.ts4
-rw-r--r--src/server/api/endpoints/pages/unlike.ts2
-rw-r--r--src/server/api/endpoints/pages/update.ts2
-rw-r--r--src/server/api/endpoints/pinned-users.ts4
-rw-r--r--src/server/api/endpoints/promo/read.ts2
-rw-r--r--src/server/api/endpoints/request-reset-password.ts8
-rw-r--r--src/server/api/endpoints/reset-password.ts4
-rw-r--r--src/server/api/endpoints/room/show.ts2
-rw-r--r--src/server/api/endpoints/room/update.ts4
-rw-r--r--src/server/api/endpoints/stats.ts4
-rw-r--r--src/server/api/endpoints/sw/register.ts2
-rw-r--r--src/server/api/endpoints/sw/unregister.ts22
-rw-r--r--src/server/api/endpoints/username/available.ts2
-rw-r--r--src/server/api/endpoints/users.ts6
-rw-r--r--src/server/api/endpoints/users/clips.ts2
-rw-r--r--src/server/api/endpoints/users/followers.ts2
-rw-r--r--src/server/api/endpoints/users/following.ts2
-rw-r--r--src/server/api/endpoints/users/gallery/posts.ts2
-rw-r--r--src/server/api/endpoints/users/get-frequently-replied-users.ts4
-rw-r--r--src/server/api/endpoints/users/groups/create.ts6
-rw-r--r--src/server/api/endpoints/users/groups/delete.ts2
-rw-r--r--src/server/api/endpoints/users/groups/invitations/accept.ts4
-rw-r--r--src/server/api/endpoints/users/groups/invitations/reject.ts2
-rw-r--r--src/server/api/endpoints/users/groups/invite.ts6
-rw-r--r--src/server/api/endpoints/users/groups/joined.ts2
-rw-r--r--src/server/api/endpoints/users/groups/owned.ts2
-rw-r--r--src/server/api/endpoints/users/groups/pull.ts2
-rw-r--r--src/server/api/endpoints/users/groups/show.ts2
-rw-r--r--src/server/api/endpoints/users/groups/transfer.ts2
-rw-r--r--src/server/api/endpoints/users/groups/update.ts2
-rw-r--r--src/server/api/endpoints/users/lists/create.ts4
-rw-r--r--src/server/api/endpoints/users/lists/delete.ts2
-rw-r--r--src/server/api/endpoints/users/lists/list.ts2
-rw-r--r--src/server/api/endpoints/users/lists/pull.ts4
-rw-r--r--src/server/api/endpoints/users/lists/push.ts4
-rw-r--r--src/server/api/endpoints/users/lists/show.ts2
-rw-r--r--src/server/api/endpoints/users/lists/update.ts2
-rw-r--r--src/server/api/endpoints/users/notes.ts2
-rw-r--r--src/server/api/endpoints/users/pages.ts2
-rw-r--r--src/server/api/endpoints/users/recommendation.ts2
-rw-r--r--src/server/api/endpoints/users/relation.ts2
-rw-r--r--src/server/api/endpoints/users/report-abuse.ts4
-rw-r--r--src/server/api/endpoints/users/search-by-username-and-host.ts2
-rw-r--r--src/server/api/endpoints/users/search.ts4
-rw-r--r--src/server/api/endpoints/users/show.ts4
-rw-r--r--src/server/api/endpoints/users/stats.ts2
-rw-r--r--src/server/api/index.ts2
-rw-r--r--src/server/api/limiter.ts4
-rw-r--r--src/server/api/logger.ts2
-rw-r--r--src/server/api/openapi/description.ts2
-rw-r--r--src/server/api/openapi/gen-spec.ts2
-rw-r--r--src/server/api/openapi/schemas.ts42
-rw-r--r--src/server/api/private/signin.ts6
-rw-r--r--src/server/api/private/signup.ts2
-rw-r--r--src/server/api/service/discord.ts8
-rw-r--r--src/server/api/service/github.ts8
-rw-r--r--src/server/api/service/twitter.ts8
-rw-r--r--src/server/api/stream/channels/antenna.ts2
-rw-r--r--src/server/api/stream/channels/channel.ts6
-rw-r--r--src/server/api/stream/channels/games/reversi-game.ts8
-rw-r--r--src/server/api/stream/channels/games/reversi.ts4
-rw-r--r--src/server/api/stream/channels/global-timeline.ts4
-rw-r--r--src/server/api/stream/channels/hashtag.ts4
-rw-r--r--src/server/api/stream/channels/home-timeline.ts4
-rw-r--r--src/server/api/stream/channels/hybrid-timeline.ts6
-rw-r--r--src/server/api/stream/channels/local-timeline.ts6
-rw-r--r--src/server/api/stream/channels/main.ts2
-rw-r--r--src/server/api/stream/channels/messaging.ts4
-rw-r--r--src/server/api/stream/channels/user-list.ts6
-rw-r--r--src/server/api/stream/index.ts20
-rw-r--r--src/server/api/streaming.ts4
330 files changed, 623 insertions, 586 deletions
diff --git a/src/server/api/2fa.ts b/src/server/api/2fa.ts
index 77f0f8cd04..117446383d 100644
--- a/src/server/api/2fa.ts
+++ b/src/server/api/2fa.ts
@@ -1,5 +1,5 @@
import * as crypto from 'crypto';
-import config from '@/config';
+import config from '@/config/index';
import * as jsrsasign from 'jsrsasign';
const ECC_PRELUDE = Buffer.from([0x04]);
diff --git a/src/server/api/authenticate.ts b/src/server/api/authenticate.ts
index 6148ad33c5..b8e216edc4 100644
--- a/src/server/api/authenticate.ts
+++ b/src/server/api/authenticate.ts
@@ -1,7 +1,7 @@
import isNativeToken from './common/is-native-token';
-import { User } from '../../models/entities/user';
-import { Users, AccessTokens, Apps } from '../../models';
-import { AccessToken } from '../../models/entities/access-token';
+import { User } from '@/models/entities/user';
+import { Users, AccessTokens, Apps } from '@/models/index';
+import { AccessToken } from '@/models/entities/access-token';
export class AuthenticationError extends Error {
constructor(message: string) {
diff --git a/src/server/api/call.ts b/src/server/api/call.ts
index d50b6a1222..2768bde07e 100644
--- a/src/server/api/call.ts
+++ b/src/server/api/call.ts
@@ -1,10 +1,10 @@
import { performance } from 'perf_hooks';
import limiter from './limiter';
-import { User } from '../../models/entities/user';
+import { User } from '@/models/entities/user';
import endpoints from './endpoints';
import { ApiError } from './error';
import { apiLogger } from './logger';
-import { AccessToken } from '../../models/entities/access-token';
+import { AccessToken } from '@/models/entities/access-token';
const accessDenied = {
message: 'Access denied.',
diff --git a/src/server/api/common/generate-block-query.ts b/src/server/api/common/generate-block-query.ts
index 016da57aac..4fd6184738 100644
--- a/src/server/api/common/generate-block-query.ts
+++ b/src/server/api/common/generate-block-query.ts
@@ -1,5 +1,5 @@
-import { User } from '../../../models/entities/user';
-import { Blockings } from '../../../models';
+import { User } from '@/models/entities/user';
+import { Blockings } from '@/models/index';
import { Brackets, SelectQueryBuilder } from 'typeorm';
// ここでいうBlockedは被Blockedの意
diff --git a/src/server/api/common/generate-channel-query.ts b/src/server/api/common/generate-channel-query.ts
index 74a6d68c40..80a0acf7f9 100644
--- a/src/server/api/common/generate-channel-query.ts
+++ b/src/server/api/common/generate-channel-query.ts
@@ -1,5 +1,5 @@
-import { User } from '../../../models/entities/user';
-import { ChannelFollowings } from '../../../models';
+import { User } from '@/models/entities/user';
+import { ChannelFollowings } from '@/models/index';
import { Brackets, SelectQueryBuilder } from 'typeorm';
export function generateChannelQuery(q: SelectQueryBuilder<any>, me?: { id: User['id'] } | null) {
diff --git a/src/server/api/common/generate-muted-note-query.ts b/src/server/api/common/generate-muted-note-query.ts
index c7f9f7c5a3..0737842613 100644
--- a/src/server/api/common/generate-muted-note-query.ts
+++ b/src/server/api/common/generate-muted-note-query.ts
@@ -1,5 +1,5 @@
-import { User } from '../../../models/entities/user';
-import { MutedNotes } from '../../../models';
+import { User } from '@/models/entities/user';
+import { MutedNotes } from '@/models/index';
import { SelectQueryBuilder } from 'typeorm';
export function generateMutedNoteQuery(q: SelectQueryBuilder<any>, me: { id: User['id'] }) {
diff --git a/src/server/api/common/generate-muted-user-query.ts b/src/server/api/common/generate-muted-user-query.ts
index f5e072ba93..7e200b87ef 100644
--- a/src/server/api/common/generate-muted-user-query.ts
+++ b/src/server/api/common/generate-muted-user-query.ts
@@ -1,5 +1,5 @@
-import { User } from '../../../models/entities/user';
-import { Mutings } from '../../../models';
+import { User } from '@/models/entities/user';
+import { Mutings } from '@/models/index';
import { SelectQueryBuilder, Brackets } from 'typeorm';
export function generateMutedUserQuery(q: SelectQueryBuilder<any>, me: { id: User['id'] }, exclude?: User) {
diff --git a/src/server/api/common/generate-replies-query.ts b/src/server/api/common/generate-replies-query.ts
index 29b1e17c2e..fbc41b2c25 100644
--- a/src/server/api/common/generate-replies-query.ts
+++ b/src/server/api/common/generate-replies-query.ts
@@ -1,4 +1,4 @@
-import { User } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
import { Brackets, SelectQueryBuilder } from 'typeorm';
export function generateRepliesQuery(q: SelectQueryBuilder<any>, me?: { id: User['id'] } | null) {
diff --git a/src/server/api/common/generate-visibility-query.ts b/src/server/api/common/generate-visibility-query.ts
index 00a50f8211..813e8b6c09 100644
--- a/src/server/api/common/generate-visibility-query.ts
+++ b/src/server/api/common/generate-visibility-query.ts
@@ -1,5 +1,5 @@
-import { User } from '../../../models/entities/user';
-import { Followings } from '../../../models';
+import { User } from '@/models/entities/user';
+import { Followings } from '@/models/index';
import { Brackets, SelectQueryBuilder } from 'typeorm';
export function generateVisibilityQuery(q: SelectQueryBuilder<any>, me?: { id: User['id'] } | null) {
diff --git a/src/server/api/common/getters.ts b/src/server/api/common/getters.ts
index 73fbadfee6..4b2ee8f1da 100644
--- a/src/server/api/common/getters.ts
+++ b/src/server/api/common/getters.ts
@@ -1,7 +1,7 @@
import { IdentifiableError } from '@/misc/identifiable-error';
-import { User } from '../../../models/entities/user';
-import { Note } from '../../../models/entities/note';
-import { Notes, Users } from '../../../models';
+import { User } from '@/models/entities/user';
+import { Note } from '@/models/entities/note';
+import { Notes, Users } from '@/models/index';
/**
* Get note for API processing
diff --git a/src/server/api/common/inject-featured.ts b/src/server/api/common/inject-featured.ts
index 3659b7f2b2..1dc13c83ef 100644
--- a/src/server/api/common/inject-featured.ts
+++ b/src/server/api/common/inject-featured.ts
@@ -1,7 +1,7 @@
import rndstr from 'rndstr';
-import { Note } from '../../../models/entities/note';
-import { User } from '../../../models/entities/user';
-import { Notes, UserProfiles, NoteReactions } from '../../../models';
+import { Note } from '@/models/entities/note';
+import { User } from '@/models/entities/user';
+import { Notes, UserProfiles, NoteReactions } from '@/models/index';
import { generateMutedUserQuery } from './generate-muted-user-query';
import { generateBlockedUserQuery } from './generate-block-query';
diff --git a/src/server/api/common/inject-promo.ts b/src/server/api/common/inject-promo.ts
index 2c16ca4cf7..87767a65bf 100644
--- a/src/server/api/common/inject-promo.ts
+++ b/src/server/api/common/inject-promo.ts
@@ -1,7 +1,7 @@
import rndstr from 'rndstr';
-import { Note } from '../../../models/entities/note';
-import { User } from '../../../models/entities/user';
-import { PromoReads, PromoNotes, Notes, Users } from '../../../models';
+import { Note } from '@/models/entities/note';
+import { User } from '@/models/entities/user';
+import { PromoReads, PromoNotes, Notes, Users } from '@/models/index';
export async function injectPromo(timeline: Note[], user?: User | null) {
if (timeline.length < 5) return;
diff --git a/src/server/api/common/read-messaging-message.ts b/src/server/api/common/read-messaging-message.ts
index 6c9fcf973f..1dce76d2a9 100644
--- a/src/server/api/common/read-messaging-message.ts
+++ b/src/server/api/common/read-messaging-message.ts
@@ -1,17 +1,17 @@
-import { publishMainStream, publishGroupMessagingStream } from '../../../services/stream';
-import { publishMessagingStream } from '../../../services/stream';
-import { publishMessagingIndexStream } from '../../../services/stream';
-import { User, IRemoteUser } from '../../../models/entities/user';
-import { MessagingMessage } from '../../../models/entities/messaging-message';
-import { MessagingMessages, UserGroupJoinings, Users } from '../../../models';
+import { publishMainStream, publishGroupMessagingStream } from '@/services/stream';
+import { publishMessagingStream } from '@/services/stream';
+import { publishMessagingIndexStream } from '@/services/stream';
+import { User, IRemoteUser } from '@/models/entities/user';
+import { MessagingMessage } from '@/models/entities/messaging-message';
+import { MessagingMessages, UserGroupJoinings, Users } from '@/models/index';
import { In } from 'typeorm';
import { IdentifiableError } from '@/misc/identifiable-error';
-import { UserGroup } from '../../../models/entities/user-group';
-import { toArray } from '../../../prelude/array';
-import { renderReadActivity } from '../../../remote/activitypub/renderer/read';
-import { renderActivity } from '../../../remote/activitypub/renderer';
-import { deliver } from '../../../queue';
-import orderedCollection from '../../../remote/activitypub/renderer/ordered-collection';
+import { UserGroup } from '@/models/entities/user-group';
+import { toArray } from '@/prelude/array';
+import { renderReadActivity } from '@/remote/activitypub/renderer/read';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import { deliver } from '@/queue/index';
+import orderedCollection from '@/remote/activitypub/renderer/ordered-collection';
/**
* Mark messages as read
diff --git a/src/server/api/common/read-notification.ts b/src/server/api/common/read-notification.ts
index effa61e8b5..a4406c9eeb 100644
--- a/src/server/api/common/read-notification.ts
+++ b/src/server/api/common/read-notification.ts
@@ -1,7 +1,7 @@
-import { publishMainStream } from '../../../services/stream';
-import { User } from '../../../models/entities/user';
-import { Notification } from '../../../models/entities/notification';
-import { Notifications, Users } from '../../../models';
+import { publishMainStream } from '@/services/stream';
+import { User } from '@/models/entities/user';
+import { Notification } from '@/models/entities/notification';
+import { Notifications, Users } from '@/models/index';
import { In } from 'typeorm';
export async function readNotification(
diff --git a/src/server/api/common/signin.ts b/src/server/api/common/signin.ts
index af09a70340..4c7aacf1cd 100644
--- a/src/server/api/common/signin.ts
+++ b/src/server/api/common/signin.ts
@@ -1,10 +1,10 @@
import * as Koa from 'koa';
-import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
-import { Signins } from '../../../models';
+import config from '@/config/index';
+import { ILocalUser } from '@/models/entities/user';
+import { Signins } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { publishMainStream } from '../../../services/stream';
+import { publishMainStream } from '@/services/stream';
export default function(ctx: Koa.Context, user: ILocalUser, redirect = false) {
if (redirect) {
diff --git a/src/server/api/common/signup.ts b/src/server/api/common/signup.ts
index b8d197317a..eb3aa09c8c 100644
--- a/src/server/api/common/signup.ts
+++ b/src/server/api/common/signup.ts
@@ -1,15 +1,15 @@
import * as bcrypt from 'bcryptjs';
import { generateKeyPair } from 'crypto';
import generateUserToken from './generate-native-user-token';
-import { User } from '../../../models/entities/user';
-import { Users, UsedUsernames } from '../../../models';
-import { UserProfile } from '../../../models/entities/user-profile';
+import { User } from '@/models/entities/user';
+import { Users, UsedUsernames } from '@/models/index';
+import { UserProfile } from '@/models/entities/user-profile';
import { getConnection } from 'typeorm';
import { genId } from '@/misc/gen-id';
import { toPunyNullable } from '@/misc/convert-host';
-import { UserKeypair } from '../../../models/entities/user-keypair';
-import { usersChart } from '../../../services/chart';
-import { UsedUsername } from '../../../models/entities/used-username';
+import { UserKeypair } from '@/models/entities/user-keypair';
+import { usersChart } from '@/services/chart/index';
+import { UsedUsername } from '@/models/entities/used-username';
export async function signup(username: User['username'], password: UserProfile['password'], host: string | null = null) {
// Validate username
diff --git a/src/server/api/define.ts b/src/server/api/define.ts
index cba69cfdc4..4bd8f95e31 100644
--- a/src/server/api/define.ts
+++ b/src/server/api/define.ts
@@ -1,9 +1,9 @@
import * as fs from 'fs';
-import { ILocalUser } from '../../models/entities/user';
+import { ILocalUser } from '@/models/entities/user';
import { IEndpointMeta } from './endpoints';
import { ApiError } from './error';
import { SchemaType } from '@/misc/schema';
-import { AccessToken } from '../../models/entities/access-token';
+import { AccessToken } from '@/models/entities/access-token';
type NonOptional<T> = T extends undefined ? never : T;
diff --git a/src/server/api/endpoints.ts b/src/server/api/endpoints.ts
index 24b58b873c..640b14ed6a 100644
--- a/src/server/api/endpoints.ts
+++ b/src/server/api/endpoints.ts
@@ -1,8 +1,14 @@
+import { fileURLToPath } from 'url';
+import { dirname } from 'path';
import { Context } from 'cafy';
import * as path from 'path';
import * as glob from 'glob';
import { Schema } from '@/misc/schema';
+//const _filename = fileURLToPath(import.meta.url);
+const _filename = __filename;
+const _dirname = dirname(_filename);
+
export type Param = {
validator: Context<any>;
transform?: any;
@@ -102,7 +108,7 @@ export interface IEndpoint {
}
const files = glob.sync('**/*.js', {
- cwd: path.resolve(__dirname + '/endpoints/')
+ cwd: path.resolve(_dirname + '/endpoints/')
});
const endpoints: IEndpoint[] = files.map(f => {
diff --git a/src/server/api/endpoints/admin/abuse-user-reports.ts b/src/server/api/endpoints/admin/abuse-user-reports.ts
index 02291a3edd..403eb24191 100644
--- a/src/server/api/endpoints/admin/abuse-user-reports.ts
+++ b/src/server/api/endpoints/admin/abuse-user-reports.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { AbuseUserReports } from '../../../../models';
+import { AbuseUserReports } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/admin/accounts/create.ts b/src/server/api/endpoints/admin/accounts/create.ts
index bceb210a82..9691b9c7e3 100644
--- a/src/server/api/endpoints/admin/accounts/create.ts
+++ b/src/server/api/endpoints/admin/accounts/create.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { Users } from '../../../../../models';
+import { Users } from '@/models/index';
import { signup } from '../../../common/signup';
export const meta = {
diff --git a/src/server/api/endpoints/admin/ad/create.ts b/src/server/api/endpoints/admin/ad/create.ts
index 337114a3fa..27c7b5d318 100644
--- a/src/server/api/endpoints/admin/ad/create.ts
+++ b/src/server/api/endpoints/admin/ad/create.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { Ads } from '../../../../../models';
+import { Ads } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/admin/ad/delete.ts b/src/server/api/endpoints/admin/ad/delete.ts
index 6a5f92193e..91934e1aab 100644
--- a/src/server/api/endpoints/admin/ad/delete.ts
+++ b/src/server/api/endpoints/admin/ad/delete.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { Ads } from '../../../../../models';
+import { Ads } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/admin/ad/list.ts b/src/server/api/endpoints/admin/ad/list.ts
index a323f2a9ed..000aaaba9d 100644
--- a/src/server/api/endpoints/admin/ad/list.ts
+++ b/src/server/api/endpoints/admin/ad/list.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { Ads } from '../../../../../models';
+import { Ads } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/admin/ad/update.ts b/src/server/api/endpoints/admin/ad/update.ts
index 71e6054a88..36c87895c2 100644
--- a/src/server/api/endpoints/admin/ad/update.ts
+++ b/src/server/api/endpoints/admin/ad/update.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { Ads } from '../../../../../models';
+import { Ads } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/admin/announcements/create.ts b/src/server/api/endpoints/admin/announcements/create.ts
index 794c35023b..f1c07745f9 100644
--- a/src/server/api/endpoints/admin/announcements/create.ts
+++ b/src/server/api/endpoints/admin/announcements/create.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { Announcements } from '../../../../../models';
+import { Announcements } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/admin/announcements/delete.ts b/src/server/api/endpoints/admin/announcements/delete.ts
index 6c28054da8..7dbc05b4c9 100644
--- a/src/server/api/endpoints/admin/announcements/delete.ts
+++ b/src/server/api/endpoints/admin/announcements/delete.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { Announcements } from '../../../../../models';
+import { Announcements } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/admin/announcements/list.ts b/src/server/api/endpoints/admin/announcements/list.ts
index a14f0c0bdc..4039bcd88f 100644
--- a/src/server/api/endpoints/admin/announcements/list.ts
+++ b/src/server/api/endpoints/admin/announcements/list.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { Announcements, AnnouncementReads } from '../../../../../models';
+import { Announcements, AnnouncementReads } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/admin/announcements/update.ts b/src/server/api/endpoints/admin/announcements/update.ts
index 6e9a43d346..343f37d626 100644
--- a/src/server/api/endpoints/admin/announcements/update.ts
+++ b/src/server/api/endpoints/admin/announcements/update.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { Announcements } from '../../../../../models';
+import { Announcements } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts b/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
index 3d49689cd7..988ab29558 100644
--- a/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
+++ b/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { deleteFile } from '../../../../services/drive/delete-file';
-import { DriveFiles } from '../../../../models';
+import { deleteFile } from '@/services/drive/delete-file';
+import { DriveFiles } from '@/models/index';
import { ID } from '@/misc/cafy-id';
export const meta = {
diff --git a/src/server/api/endpoints/admin/delete-logs.ts b/src/server/api/endpoints/admin/delete-logs.ts
index 410588bc01..9d37ceb434 100644
--- a/src/server/api/endpoints/admin/delete-logs.ts
+++ b/src/server/api/endpoints/admin/delete-logs.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { Logs } from '../../../../models';
+import { Logs } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/drive/clean-remote-files.ts b/src/server/api/endpoints/admin/drive/clean-remote-files.ts
index 5a5adb8a8b..76a6acff59 100644
--- a/src/server/api/endpoints/admin/drive/clean-remote-files.ts
+++ b/src/server/api/endpoints/admin/drive/clean-remote-files.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { createCleanRemoteFilesJob } from '../../../../../queue';
+import { createCleanRemoteFilesJob } from '@/queue/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/drive/cleanup.ts b/src/server/api/endpoints/admin/drive/cleanup.ts
index b76236a7f0..8497478da9 100644
--- a/src/server/api/endpoints/admin/drive/cleanup.ts
+++ b/src/server/api/endpoints/admin/drive/cleanup.ts
@@ -1,7 +1,7 @@
import { IsNull } from 'typeorm';
import define from '../../../define';
-import { deleteFile } from '../../../../../services/drive/delete-file';
-import { DriveFiles } from '../../../../../models';
+import { deleteFile } from '@/services/drive/delete-file';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/drive/files.ts b/src/server/api/endpoints/admin/drive/files.ts
index efeef83ca3..c0788c8e02 100644
--- a/src/server/api/endpoints/admin/drive/files.ts
+++ b/src/server/api/endpoints/admin/drive/files.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
import { ID } from '@/misc/cafy-id';
diff --git a/src/server/api/endpoints/admin/drive/show-file.ts b/src/server/api/endpoints/admin/drive/show-file.ts
index 3489e5c816..270b89c4fa 100644
--- a/src/server/api/endpoints/admin/drive/show-file.ts
+++ b/src/server/api/endpoints/admin/drive/show-file.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/emoji/add.ts b/src/server/api/endpoints/admin/emoji/add.ts
index 0d4550bf3c..1af81fe46d 100644
--- a/src/server/api/endpoints/admin/emoji/add.ts
+++ b/src/server/api/endpoints/admin/emoji/add.ts
@@ -1,13 +1,13 @@
import $ from 'cafy';
import define from '../../../define';
-import { Emojis, DriveFiles } from '../../../../../models';
+import { Emojis, DriveFiles } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { getConnection } from 'typeorm';
-import { insertModerationLog } from '../../../../../services/insert-moderation-log';
+import { insertModerationLog } from '@/services/insert-moderation-log';
import { ApiError } from '../../../error';
import { ID } from '@/misc/cafy-id';
import rndstr from 'rndstr';
-import { publishBroadcastStream } from '../../../../../services/stream';
+import { publishBroadcastStream } from '@/services/stream';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/emoji/copy.ts b/src/server/api/endpoints/admin/emoji/copy.ts
index 72c2b014a4..4c8ab99f7c 100644
--- a/src/server/api/endpoints/admin/emoji/copy.ts
+++ b/src/server/api/endpoints/admin/emoji/copy.ts
@@ -1,12 +1,12 @@
import $ from 'cafy';
import define from '../../../define';
-import { Emojis } from '../../../../../models';
+import { Emojis } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { getConnection } from 'typeorm';
import { ApiError } from '../../../error';
-import { DriveFile } from '../../../../../models/entities/drive-file';
+import { DriveFile } from '@/models/entities/drive-file';
import { ID } from '@/misc/cafy-id';
-import uploadFromUrl from '../../../../../services/drive/upload-from-url';
+import uploadFromUrl from '@/services/drive/upload-from-url';
import { publishBroadcastStream } from '@/services/stream';
export const meta = {
diff --git a/src/server/api/endpoints/admin/emoji/list-remote.ts b/src/server/api/endpoints/admin/emoji/list-remote.ts
index 570db064ec..3c8ca22170 100644
--- a/src/server/api/endpoints/admin/emoji/list-remote.ts
+++ b/src/server/api/endpoints/admin/emoji/list-remote.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { Emojis } from '../../../../../models';
+import { Emojis } from '@/models/index';
import { toPuny } from '@/misc/convert-host';
import { makePaginationQuery } from '../../../common/make-pagination-query';
import { ID } from '@/misc/cafy-id';
diff --git a/src/server/api/endpoints/admin/emoji/list.ts b/src/server/api/endpoints/admin/emoji/list.ts
index b864fed4b0..cb1e79e0fe 100644
--- a/src/server/api/endpoints/admin/emoji/list.ts
+++ b/src/server/api/endpoints/admin/emoji/list.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import define from '../../../define';
-import { Emojis } from '../../../../../models';
+import { Emojis } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
import { ID } from '@/misc/cafy-id';
-import { Emoji } from '../../../../../models/entities/emoji';
+import { Emoji } from '@/models/entities/emoji';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/emoji/remove.ts b/src/server/api/endpoints/admin/emoji/remove.ts
index 22bbc76e78..259950e362 100644
--- a/src/server/api/endpoints/admin/emoji/remove.ts
+++ b/src/server/api/endpoints/admin/emoji/remove.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { Emojis } from '../../../../../models';
+import { Emojis } from '@/models/index';
import { getConnection } from 'typeorm';
-import { insertModerationLog } from '../../../../../services/insert-moderation-log';
+import { insertModerationLog } from '@/services/insert-moderation-log';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/admin/emoji/update.ts b/src/server/api/endpoints/admin/emoji/update.ts
index 70589d5cf7..3fd547d7e5 100644
--- a/src/server/api/endpoints/admin/emoji/update.ts
+++ b/src/server/api/endpoints/admin/emoji/update.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { Emojis } from '../../../../../models';
+import { Emojis } from '@/models/index';
import { getConnection } from 'typeorm';
import { ApiError } from '../../../error';
diff --git a/src/server/api/endpoints/admin/federation/delete-all-files.ts b/src/server/api/endpoints/admin/federation/delete-all-files.ts
index eef53cd92c..82540c5447 100644
--- a/src/server/api/endpoints/admin/federation/delete-all-files.ts
+++ b/src/server/api/endpoints/admin/federation/delete-all-files.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
-import { deleteFile } from '../../../../../services/drive/delete-file';
-import { DriveFiles } from '../../../../../models';
+import { deleteFile } from '@/services/drive/delete-file';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts b/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
index 65b3b6e260..65a6947ba0 100644
--- a/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
+++ b/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../../define';
-import { Instances } from '../../../../../models';
+import { Instances } from '@/models/index';
import { toPuny } from '@/misc/convert-host';
-import { fetchInstanceMetadata } from '../../../../../services/fetch-instance-metadata';
+import { fetchInstanceMetadata } from '@/services/fetch-instance-metadata';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/federation/remove-all-following.ts b/src/server/api/endpoints/admin/federation/remove-all-following.ts
index e593193552..7935eaa631 100644
--- a/src/server/api/endpoints/admin/federation/remove-all-following.ts
+++ b/src/server/api/endpoints/admin/federation/remove-all-following.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
-import deleteFollowing from '../../../../../services/following/delete';
-import { Followings, Users } from '../../../../../models';
+import deleteFollowing from '@/services/following/delete';
+import { Followings, Users } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/federation/update-instance.ts b/src/server/api/endpoints/admin/federation/update-instance.ts
index 2d559e43e8..34eab27c78 100644
--- a/src/server/api/endpoints/admin/federation/update-instance.ts
+++ b/src/server/api/endpoints/admin/federation/update-instance.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { Instances } from '../../../../../models';
+import { Instances } from '@/models/index';
import { toPuny } from '@/misc/convert-host';
export const meta = {
diff --git a/src/server/api/endpoints/admin/invite.ts b/src/server/api/endpoints/admin/invite.ts
index 141f27d95e..2c69eec535 100644
--- a/src/server/api/endpoints/admin/invite.ts
+++ b/src/server/api/endpoints/admin/invite.ts
@@ -1,6 +1,6 @@
import rndstr from 'rndstr';
import define from '../../define';
-import { RegistrationTickets } from '../../../../models';
+import { RegistrationTickets } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/admin/logs.ts b/src/server/api/endpoints/admin/logs.ts
index 1ec7320399..776403a62e 100644
--- a/src/server/api/endpoints/admin/logs.ts
+++ b/src/server/api/endpoints/admin/logs.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Logs } from '../../../../models';
+import { Logs } from '@/models/index';
import { Brackets } from 'typeorm';
export const meta = {
diff --git a/src/server/api/endpoints/admin/moderators/add.ts b/src/server/api/endpoints/admin/moderators/add.ts
index 2b4e8a8014..2b87fc217f 100644
--- a/src/server/api/endpoints/admin/moderators/add.ts
+++ b/src/server/api/endpoints/admin/moderators/add.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { Users } from '../../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/moderators/remove.ts b/src/server/api/endpoints/admin/moderators/remove.ts
index fd6e29df54..cbb0625224 100644
--- a/src/server/api/endpoints/admin/moderators/remove.ts
+++ b/src/server/api/endpoints/admin/moderators/remove.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { Users } from '../../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/promo/create.ts b/src/server/api/endpoints/admin/promo/create.ts
index 8468ab6545..3bdaaad4d9 100644
--- a/src/server/api/endpoints/admin/promo/create.ts
+++ b/src/server/api/endpoints/admin/promo/create.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getNote } from '../../../common/getters';
-import { PromoNotes } from '../../../../../models';
+import { PromoNotes } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/queue/clear.ts b/src/server/api/endpoints/admin/queue/clear.ts
index 0375f55f01..fedb7065ab 100644
--- a/src/server/api/endpoints/admin/queue/clear.ts
+++ b/src/server/api/endpoints/admin/queue/clear.ts
@@ -1,6 +1,6 @@
import define from '../../../define';
-import { destroy } from '../../../../../queue';
-import { insertModerationLog } from '../../../../../services/insert-moderation-log';
+import { destroy } from '@/queue/index';
+import { insertModerationLog } from '@/services/insert-moderation-log';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/src/server/api/endpoints/admin/queue/inbox-delayed.ts
index 119976c680..59e5c834ed 100644
--- a/src/server/api/endpoints/admin/queue/inbox-delayed.ts
+++ b/src/server/api/endpoints/admin/queue/inbox-delayed.ts
@@ -1,6 +1,6 @@
import { URL } from 'url';
import define from '../../../define';
-import { inboxQueue } from '../../../../../queue';
+import { inboxQueue } from '@/queue/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/relays/add.ts b/src/server/api/endpoints/admin/relays/add.ts
index 54d292ad55..567035fd3a 100644
--- a/src/server/api/endpoints/admin/relays/add.ts
+++ b/src/server/api/endpoints/admin/relays/add.ts
@@ -1,7 +1,7 @@
import { URL } from 'url';
import $ from 'cafy';
import define from '../../../define';
-import { addRelay } from '../../../../../services/relay';
+import { addRelay } from '@/services/relay';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/admin/relays/list.ts b/src/server/api/endpoints/admin/relays/list.ts
index 9f2474f10c..031ebe85d0 100644
--- a/src/server/api/endpoints/admin/relays/list.ts
+++ b/src/server/api/endpoints/admin/relays/list.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { listRelay } from '../../../../../services/relay';
+import { listRelay } from '@/services/relay';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/relays/remove.ts b/src/server/api/endpoints/admin/relays/remove.ts
index 220efab406..c1c50f5dc0 100644
--- a/src/server/api/endpoints/admin/relays/remove.ts
+++ b/src/server/api/endpoints/admin/relays/remove.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { removeRelay } from '../../../../../services/relay';
+import { removeRelay } from '@/services/relay';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/reset-password.ts b/src/server/api/endpoints/admin/reset-password.ts
index 6ff49d83d5..0fc2c6a868 100644
--- a/src/server/api/endpoints/admin/reset-password.ts
+++ b/src/server/api/endpoints/admin/reset-password.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import * as bcrypt from 'bcryptjs';
import rndstr from 'rndstr';
-import { Users, UserProfiles } from '../../../../models';
+import { Users, UserProfiles } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/resolve-abuse-user-report.ts b/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
index 38a5e81375..7b71f8e000 100644
--- a/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
+++ b/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { AbuseUserReports } from '../../../../models';
+import { AbuseUserReports } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/resync-chart.ts b/src/server/api/endpoints/admin/resync-chart.ts
index 84e19d37e6..b0e687333f 100644
--- a/src/server/api/endpoints/admin/resync-chart.ts
+++ b/src/server/api/endpoints/admin/resync-chart.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { driveChart, notesChart, usersChart, instanceChart } from '../../../../services/chart';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
+import { driveChart, notesChart, usersChart, instanceChart } from '@/services/chart/index';
+import { insertModerationLog } from '@/services/insert-moderation-log';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/send-email.ts b/src/server/api/endpoints/admin/send-email.ts
index c0e77e1621..6f67b78542 100644
--- a/src/server/api/endpoints/admin/send-email.ts
+++ b/src/server/api/endpoints/admin/send-email.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { sendEmail } from '../../../../services/send-email';
+import { sendEmail } from '@/services/send-email';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/show-moderation-logs.ts b/src/server/api/endpoints/admin/show-moderation-logs.ts
index cfceab9463..e9509568d0 100644
--- a/src/server/api/endpoints/admin/show-moderation-logs.ts
+++ b/src/server/api/endpoints/admin/show-moderation-logs.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { ModerationLogs } from '../../../../models';
+import { ModerationLogs } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/admin/show-user.ts b/src/server/api/endpoints/admin/show-user.ts
index b1132ac207..963c123255 100644
--- a/src/server/api/endpoints/admin/show-user.ts
+++ b/src/server/api/endpoints/admin/show-user.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/show-users.ts b/src/server/api/endpoints/admin/show-users.ts
index 7ea0e0e864..20b63e7be6 100644
--- a/src/server/api/endpoints/admin/show-users.ts
+++ b/src/server/api/endpoints/admin/show-users.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/silence-user.ts b/src/server/api/endpoints/admin/silence-user.ts
index 73f9d03b70..9bfed2310a 100644
--- a/src/server/api/endpoints/admin/silence-user.ts
+++ b/src/server/api/endpoints/admin/silence-user.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Users } from '../../../../models';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
+import { Users } from '@/models/index';
+import { insertModerationLog } from '@/services/insert-moderation-log';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/suspend-user.ts b/src/server/api/endpoints/admin/suspend-user.ts
index 912d6a5162..364f258ce8 100644
--- a/src/server/api/endpoints/admin/suspend-user.ts
+++ b/src/server/api/endpoints/admin/suspend-user.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import deleteFollowing from '../../../../services/following/delete';
-import { Users, Followings, Notifications } from '../../../../models';
-import { User } from '../../../../models/entities/user';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
-import { doPostSuspend } from '../../../../services/suspend-user';
+import deleteFollowing from '@/services/following/delete';
+import { Users, Followings, Notifications } from '@/models/index';
+import { User } from '@/models/entities/user';
+import { insertModerationLog } from '@/services/insert-moderation-log';
+import { doPostSuspend } from '@/services/suspend-user';
import { publishUserEvent } from '@/services/stream';
export const meta = {
diff --git a/src/server/api/endpoints/admin/unsilence-user.ts b/src/server/api/endpoints/admin/unsilence-user.ts
index 6083d87afc..9994fbf462 100644
--- a/src/server/api/endpoints/admin/unsilence-user.ts
+++ b/src/server/api/endpoints/admin/unsilence-user.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Users } from '../../../../models';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
+import { Users } from '@/models/index';
+import { insertModerationLog } from '@/services/insert-moderation-log';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/unsuspend-user.ts b/src/server/api/endpoints/admin/unsuspend-user.ts
index 6d015b51ab..ab4c2d3dfe 100644
--- a/src/server/api/endpoints/admin/unsuspend-user.ts
+++ b/src/server/api/endpoints/admin/unsuspend-user.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Users } from '../../../../models';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
-import { doPostUnsuspend } from '../../../../services/unsuspend-user';
+import { Users } from '@/models/index';
+import { insertModerationLog } from '@/services/insert-moderation-log';
+import { doPostUnsuspend } from '@/services/unsuspend-user';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts
index 573f22822c..5962dba98a 100644
--- a/src/server/api/endpoints/admin/update-meta.ts
+++ b/src/server/api/endpoints/admin/update-meta.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../define';
import { getConnection } from 'typeorm';
-import { Meta } from '../../../../models/entities/meta';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
+import { Meta } from '@/models/entities/meta';
+import { insertModerationLog } from '@/services/insert-moderation-log';
import { DB_MAX_NOTE_TEXT_LENGTH } from '@/misc/hard-limits';
import { ID } from '@/misc/cafy-id';
diff --git a/src/server/api/endpoints/admin/vacuum.ts b/src/server/api/endpoints/admin/vacuum.ts
index e041e65431..9a80d88c44 100644
--- a/src/server/api/endpoints/admin/vacuum.ts
+++ b/src/server/api/endpoints/admin/vacuum.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { getConnection } from 'typeorm';
-import { insertModerationLog } from '../../../../services/insert-moderation-log';
+import { insertModerationLog } from '@/services/insert-moderation-log';
export const meta = {
tags: ['admin'],
diff --git a/src/server/api/endpoints/announcements.ts b/src/server/api/endpoints/announcements.ts
index 124682909c..a67737b2ff 100644
--- a/src/server/api/endpoints/announcements.ts
+++ b/src/server/api/endpoints/announcements.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../define';
-import { Announcements, AnnouncementReads } from '../../../models';
+import { Announcements, AnnouncementReads } from '@/models/index';
import { makePaginationQuery } from '../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/antennas/create.ts b/src/server/api/endpoints/antennas/create.ts
index bff3c09f1c..4bdae8cc33 100644
--- a/src/server/api/endpoints/antennas/create.ts
+++ b/src/server/api/endpoints/antennas/create.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import define from '../../define';
import { genId } from '@/misc/gen-id';
-import { Antennas, UserLists, UserGroupJoinings } from '../../../../models';
+import { Antennas, UserLists, UserGroupJoinings } from '@/models/index';
import { ID } from '@/misc/cafy-id';
import { ApiError } from '../../error';
-import { publishInternalEvent } from '../../../../services/stream';
+import { publishInternalEvent } from '@/services/stream';
export const meta = {
tags: ['antennas'],
diff --git a/src/server/api/endpoints/antennas/delete.ts b/src/server/api/endpoints/antennas/delete.ts
index 10a212897b..1cd136183e 100644
--- a/src/server/api/endpoints/antennas/delete.ts
+++ b/src/server/api/endpoints/antennas/delete.ts
@@ -2,8 +2,8 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Antennas } from '../../../../models';
-import { publishInternalEvent } from '../../../../services/stream';
+import { Antennas } from '@/models/index';
+import { publishInternalEvent } from '@/services/stream';
export const meta = {
tags: ['antennas'],
diff --git a/src/server/api/endpoints/antennas/list.ts b/src/server/api/endpoints/antennas/list.ts
index 6ae3c0cbb2..8baae8435b 100644
--- a/src/server/api/endpoints/antennas/list.ts
+++ b/src/server/api/endpoints/antennas/list.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { Antennas } from '../../../../models';
+import { Antennas } from '@/models/index';
export const meta = {
tags: ['antennas', 'account'],
diff --git a/src/server/api/endpoints/antennas/notes.ts b/src/server/api/endpoints/antennas/notes.ts
index aadb4261e3..3c8a4fbdae 100644
--- a/src/server/api/endpoints/antennas/notes.ts
+++ b/src/server/api/endpoints/antennas/notes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Antennas, Notes, AntennaNotes } from '../../../../models';
+import { Antennas, Notes, AntennaNotes } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
diff --git a/src/server/api/endpoints/antennas/show.ts b/src/server/api/endpoints/antennas/show.ts
index 36045e47a4..3cdf4dcb61 100644
--- a/src/server/api/endpoints/antennas/show.ts
+++ b/src/server/api/endpoints/antennas/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Antennas } from '../../../../models';
+import { Antennas } from '@/models/index';
export const meta = {
tags: ['antennas', 'account'],
diff --git a/src/server/api/endpoints/antennas/update.ts b/src/server/api/endpoints/antennas/update.ts
index 9194c14795..ff13e89bcc 100644
--- a/src/server/api/endpoints/antennas/update.ts
+++ b/src/server/api/endpoints/antennas/update.ts
@@ -2,8 +2,8 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Antennas, UserLists, UserGroupJoinings } from '../../../../models';
-import { publishInternalEvent } from '../../../../services/stream';
+import { Antennas, UserLists, UserGroupJoinings } from '@/models/index';
+import { publishInternalEvent } from '@/services/stream';
export const meta = {
tags: ['antennas'],
diff --git a/src/server/api/endpoints/ap/get.ts b/src/server/api/endpoints/ap/get.ts
index f2b4c2408f..2cffce1f16 100644
--- a/src/server/api/endpoints/ap/get.ts
+++ b/src/server/api/endpoints/ap/get.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import Resolver from '../../../../remote/activitypub/resolver';
+import Resolver from '@/remote/activitypub/resolver';
import { ApiError } from '../../error';
export const meta = {
diff --git a/src/server/api/endpoints/ap/show.ts b/src/server/api/endpoints/ap/show.ts
index 7f61055bfa..aa0dae070c 100644
--- a/src/server/api/endpoints/ap/show.ts
+++ b/src/server/api/endpoints/ap/show.ts
@@ -1,16 +1,16 @@
import $ from 'cafy';
import define from '../../define';
-import config from '@/config';
-import { createPerson } from '../../../../remote/activitypub/models/person';
-import { createNote } from '../../../../remote/activitypub/models/note';
-import Resolver from '../../../../remote/activitypub/resolver';
+import config from '@/config/index';
+import { createPerson } from '@/remote/activitypub/models/person';
+import { createNote } from '@/remote/activitypub/models/note';
+import Resolver from '@/remote/activitypub/resolver';
import { ApiError } from '../../error';
import { extractDbHost } from '@/misc/convert-host';
-import { Users, Notes } from '../../../../models';
-import { Note } from '../../../../models/entities/note';
-import { User } from '../../../../models/entities/user';
+import { Users, Notes } from '@/models/index';
+import { Note } from '@/models/entities/note';
+import { User } from '@/models/entities/user';
import { fetchMeta } from '@/misc/fetch-meta';
-import { isActor, isPost, getApId } from '../../../../remote/activitypub/type';
+import { isActor, isPost, getApId } from '@/remote/activitypub/type';
export const meta = {
tags: ['federation'],
diff --git a/src/server/api/endpoints/app/create.ts b/src/server/api/endpoints/app/create.ts
index 500567bf29..c2ce943dcc 100644
--- a/src/server/api/endpoints/app/create.ts
+++ b/src/server/api/endpoints/app/create.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../define';
-import { Apps } from '../../../../models';
+import { Apps } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { unique } from '../../../../prelude/array';
+import { unique } from '@/prelude/array';
import { secureRndstr } from '@/misc/secure-rndstr';
export const meta = {
diff --git a/src/server/api/endpoints/app/show.ts b/src/server/api/endpoints/app/show.ts
index 65f8c77981..27f12eb44f 100644
--- a/src/server/api/endpoints/app/show.ts
+++ b/src/server/api/endpoints/app/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Apps } from '../../../../models';
+import { Apps } from '@/models/index';
export const meta = {
tags: ['app'],
diff --git a/src/server/api/endpoints/auth/accept.ts b/src/server/api/endpoints/auth/accept.ts
index ee0d0421c9..1d1d8ac227 100644
--- a/src/server/api/endpoints/auth/accept.ts
+++ b/src/server/api/endpoints/auth/accept.ts
@@ -2,7 +2,7 @@ import * as crypto from 'crypto';
import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
-import { AuthSessions, AccessTokens, Apps } from '../../../../models';
+import { AuthSessions, AccessTokens, Apps } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { secureRndstr } from '@/misc/secure-rndstr';
diff --git a/src/server/api/endpoints/auth/session/generate.ts b/src/server/api/endpoints/auth/session/generate.ts
index 42f9e25c78..859cf52ed3 100644
--- a/src/server/api/endpoints/auth/session/generate.ts
+++ b/src/server/api/endpoints/auth/session/generate.ts
@@ -1,9 +1,9 @@
import { v4 as uuid } from 'uuid';
import $ from 'cafy';
-import config from '@/config';
+import config from '@/config/index';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { Apps, AuthSessions } from '../../../../../models';
+import { Apps, AuthSessions } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/auth/session/show.ts b/src/server/api/endpoints/auth/session/show.ts
index fd20884c02..23f1a56a37 100644
--- a/src/server/api/endpoints/auth/session/show.ts
+++ b/src/server/api/endpoints/auth/session/show.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { AuthSessions } from '../../../../../models';
+import { AuthSessions } from '@/models/index';
export const meta = {
tags: ['auth'],
diff --git a/src/server/api/endpoints/auth/session/userkey.ts b/src/server/api/endpoints/auth/session/userkey.ts
index 7059aacbea..72201cb207 100644
--- a/src/server/api/endpoints/auth/session/userkey.ts
+++ b/src/server/api/endpoints/auth/session/userkey.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { Apps, AuthSessions, AccessTokens, Users } from '../../../../../models';
+import { Apps, AuthSessions, AccessTokens, Users } from '@/models/index';
export const meta = {
tags: ['auth'],
diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts
index dd976a7bf1..1bf5cf374b 100644
--- a/src/server/api/endpoints/blocking/create.ts
+++ b/src/server/api/endpoints/blocking/create.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
-import create from '../../../../services/blocking/create';
+import create from '@/services/blocking/create';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { Blockings, NoteWatchings, Users } from '../../../../models';
+import { Blockings, NoteWatchings, Users } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/blocking/delete.ts b/src/server/api/endpoints/blocking/delete.ts
index c69c8b14a7..a66e46fdf0 100644
--- a/src/server/api/endpoints/blocking/delete.ts
+++ b/src/server/api/endpoints/blocking/delete.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
-import deleteBlocking from '../../../../services/blocking/delete';
+import deleteBlocking from '@/services/blocking/delete';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { Blockings, Users } from '../../../../models';
+import { Blockings, Users } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/blocking/list.ts b/src/server/api/endpoints/blocking/list.ts
index db849338ac..fe25fdaba1 100644
--- a/src/server/api/endpoints/blocking/list.ts
+++ b/src/server/api/endpoints/blocking/list.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Blockings } from '../../../../models';
+import { Blockings } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/channels/create.ts b/src/server/api/endpoints/channels/create.ts
index c6dc68faf8..0cedfd6c6a 100644
--- a/src/server/api/endpoints/channels/create.ts
+++ b/src/server/api/endpoints/channels/create.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
-import { Channels, DriveFiles } from '../../../../models';
-import { Channel } from '../../../../models/entities/channel';
+import { Channels, DriveFiles } from '@/models/index';
+import { Channel } from '@/models/entities/channel';
import { genId } from '@/misc/gen-id';
import { ID } from '@/misc/cafy-id';
diff --git a/src/server/api/endpoints/channels/featured.ts b/src/server/api/endpoints/channels/featured.ts
index abb0a19e2d..dc1f49f960 100644
--- a/src/server/api/endpoints/channels/featured.ts
+++ b/src/server/api/endpoints/channels/featured.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { Channels } from '../../../../models';
+import { Channels } from '@/models/index';
export const meta = {
tags: ['channels'],
diff --git a/src/server/api/endpoints/channels/follow.ts b/src/server/api/endpoints/channels/follow.ts
index b264f7451a..d4664e6996 100644
--- a/src/server/api/endpoints/channels/follow.ts
+++ b/src/server/api/endpoints/channels/follow.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Channels, ChannelFollowings } from '../../../../models';
+import { Channels, ChannelFollowings } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { publishUserEvent } from '../../../../services/stream';
+import { publishUserEvent } from '@/services/stream';
export const meta = {
tags: ['channels'],
diff --git a/src/server/api/endpoints/channels/followed.ts b/src/server/api/endpoints/channels/followed.ts
index 7f0cfe4941..be239a01d6 100644
--- a/src/server/api/endpoints/channels/followed.ts
+++ b/src/server/api/endpoints/channels/followed.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Channels, ChannelFollowings } from '../../../../models';
+import { Channels, ChannelFollowings } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/channels/owned.ts b/src/server/api/endpoints/channels/owned.ts
index 4f538f651e..4a2e9db17b 100644
--- a/src/server/api/endpoints/channels/owned.ts
+++ b/src/server/api/endpoints/channels/owned.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Channels } from '../../../../models';
+import { Channels } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/channels/show.ts b/src/server/api/endpoints/channels/show.ts
index d5f182da11..803ce6363d 100644
--- a/src/server/api/endpoints/channels/show.ts
+++ b/src/server/api/endpoints/channels/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Channels } from '../../../../models';
+import { Channels } from '@/models/index';
export const meta = {
tags: ['channels'],
diff --git a/src/server/api/endpoints/channels/timeline.ts b/src/server/api/endpoints/channels/timeline.ts
index 9e5ecdeeb3..0ed057a11e 100644
--- a/src/server/api/endpoints/channels/timeline.ts
+++ b/src/server/api/endpoints/channels/timeline.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Notes, Channels } from '../../../../models';
+import { Notes, Channels } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { activeUsersChart } from '../../../../services/chart';
+import { activeUsersChart } from '@/services/chart/index';
export const meta = {
tags: ['notes', 'channels'],
diff --git a/src/server/api/endpoints/channels/unfollow.ts b/src/server/api/endpoints/channels/unfollow.ts
index 116af50337..700f8e93ba 100644
--- a/src/server/api/endpoints/channels/unfollow.ts
+++ b/src/server/api/endpoints/channels/unfollow.ts
@@ -2,8 +2,8 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Channels, ChannelFollowings } from '../../../../models';
-import { publishUserEvent } from '../../../../services/stream';
+import { Channels, ChannelFollowings } from '@/models/index';
+import { publishUserEvent } from '@/services/stream';
export const meta = {
tags: ['channels'],
diff --git a/src/server/api/endpoints/channels/update.ts b/src/server/api/endpoints/channels/update.ts
index 1495297ee5..9b447bd04b 100644
--- a/src/server/api/endpoints/channels/update.ts
+++ b/src/server/api/endpoints/channels/update.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Channels, DriveFiles } from '../../../../models';
+import { Channels, DriveFiles } from '@/models/index';
export const meta = {
tags: ['channels'],
diff --git a/src/server/api/endpoints/charts/active-users.ts b/src/server/api/endpoints/charts/active-users.ts
index fb177e5c94..c4878f7d61 100644
--- a/src/server/api/endpoints/charts/active-users.ts
+++ b/src/server/api/endpoints/charts/active-users.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { activeUsersChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { activeUsersChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'users'],
diff --git a/src/server/api/endpoints/charts/drive.ts b/src/server/api/endpoints/charts/drive.ts
index ba6556c597..07bff82cf4 100644
--- a/src/server/api/endpoints/charts/drive.ts
+++ b/src/server/api/endpoints/charts/drive.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { driveChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { driveChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'drive'],
diff --git a/src/server/api/endpoints/charts/federation.ts b/src/server/api/endpoints/charts/federation.ts
index 46eb87ac02..9575f9a7b7 100644
--- a/src/server/api/endpoints/charts/federation.ts
+++ b/src/server/api/endpoints/charts/federation.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { federationChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { federationChart } from '@/services/chart/index';
export const meta = {
tags: ['charts'],
diff --git a/src/server/api/endpoints/charts/hashtag.ts b/src/server/api/endpoints/charts/hashtag.ts
index 5c2875ddd2..53dc61e51e 100644
--- a/src/server/api/endpoints/charts/hashtag.ts
+++ b/src/server/api/endpoints/charts/hashtag.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { hashtagChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { hashtagChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'hashtags'],
diff --git a/src/server/api/endpoints/charts/instance.ts b/src/server/api/endpoints/charts/instance.ts
index 9375992d21..1835023188 100644
--- a/src/server/api/endpoints/charts/instance.ts
+++ b/src/server/api/endpoints/charts/instance.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { instanceChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { instanceChart } from '@/services/chart/index';
export const meta = {
tags: ['charts'],
diff --git a/src/server/api/endpoints/charts/network.ts b/src/server/api/endpoints/charts/network.ts
index d1fd404239..b524df93be 100644
--- a/src/server/api/endpoints/charts/network.ts
+++ b/src/server/api/endpoints/charts/network.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { networkChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { networkChart } from '@/services/chart/index';
export const meta = {
tags: ['charts'],
diff --git a/src/server/api/endpoints/charts/notes.ts b/src/server/api/endpoints/charts/notes.ts
index 7141fe3b0a..676f302939 100644
--- a/src/server/api/endpoints/charts/notes.ts
+++ b/src/server/api/endpoints/charts/notes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { notesChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { notesChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'notes'],
diff --git a/src/server/api/endpoints/charts/user/drive.ts b/src/server/api/endpoints/charts/user/drive.ts
index bacb022c81..f2770e2df8 100644
--- a/src/server/api/endpoints/charts/user/drive.ts
+++ b/src/server/api/endpoints/charts/user/drive.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { convertLog } from '../../../../../services/chart/core';
-import { perUserDriveChart } from '../../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { perUserDriveChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'drive', 'users'],
diff --git a/src/server/api/endpoints/charts/user/following.ts b/src/server/api/endpoints/charts/user/following.ts
index ce41c231ba..8c97b63e89 100644
--- a/src/server/api/endpoints/charts/user/following.ts
+++ b/src/server/api/endpoints/charts/user/following.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { convertLog } from '../../../../../services/chart/core';
-import { perUserFollowingChart } from '../../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { perUserFollowingChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'users', 'following'],
diff --git a/src/server/api/endpoints/charts/user/notes.ts b/src/server/api/endpoints/charts/user/notes.ts
index 470b7274bd..0d5f5a8b6a 100644
--- a/src/server/api/endpoints/charts/user/notes.ts
+++ b/src/server/api/endpoints/charts/user/notes.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { convertLog } from '../../../../../services/chart/core';
-import { perUserNotesChart } from '../../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { perUserNotesChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'users', 'notes'],
diff --git a/src/server/api/endpoints/charts/user/reactions.ts b/src/server/api/endpoints/charts/user/reactions.ts
index 4ebe4623c0..3cabe40d56 100644
--- a/src/server/api/endpoints/charts/user/reactions.ts
+++ b/src/server/api/endpoints/charts/user/reactions.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../../define';
import { ID } from '@/misc/cafy-id';
-import { convertLog } from '../../../../../services/chart/core';
-import { perUserReactionsChart } from '../../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { perUserReactionsChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'users', 'reactions'],
diff --git a/src/server/api/endpoints/charts/users.ts b/src/server/api/endpoints/charts/users.ts
index 4246a18e59..deac89b59d 100644
--- a/src/server/api/endpoints/charts/users.ts
+++ b/src/server/api/endpoints/charts/users.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { convertLog } from '../../../../services/chart/core';
-import { usersChart } from '../../../../services/chart';
+import { convertLog } from '@/services/chart/core';
+import { usersChart } from '@/services/chart/index';
export const meta = {
tags: ['charts', 'users'],
diff --git a/src/server/api/endpoints/clips/add-note.ts b/src/server/api/endpoints/clips/add-note.ts
index 3d72def4f5..79d7b8adde 100644
--- a/src/server/api/endpoints/clips/add-note.ts
+++ b/src/server/api/endpoints/clips/add-note.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { ClipNotes, Clips } from '../../../../models';
+import { ClipNotes, Clips } from '@/models/index';
import { ApiError } from '../../error';
import { genId } from '@/misc/gen-id';
import { getNote } from '../../common/getters';
diff --git a/src/server/api/endpoints/clips/create.ts b/src/server/api/endpoints/clips/create.ts
index fb2a77fe5b..02d2773709 100644
--- a/src/server/api/endpoints/clips/create.ts
+++ b/src/server/api/endpoints/clips/create.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { genId } from '@/misc/gen-id';
-import { Clips } from '../../../../models';
+import { Clips } from '@/models/index';
export const meta = {
tags: ['clips'],
diff --git a/src/server/api/endpoints/clips/delete.ts b/src/server/api/endpoints/clips/delete.ts
index 20b2addb76..ca489af3bf 100644
--- a/src/server/api/endpoints/clips/delete.ts
+++ b/src/server/api/endpoints/clips/delete.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Clips } from '../../../../models';
+import { Clips } from '@/models/index';
export const meta = {
tags: ['clips'],
diff --git a/src/server/api/endpoints/clips/list.ts b/src/server/api/endpoints/clips/list.ts
index 6b90b114df..1f6db9b979 100644
--- a/src/server/api/endpoints/clips/list.ts
+++ b/src/server/api/endpoints/clips/list.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { Clips } from '../../../../models';
+import { Clips } from '@/models/index';
export const meta = {
tags: ['clips', 'account'],
diff --git a/src/server/api/endpoints/clips/notes.ts b/src/server/api/endpoints/clips/notes.ts
index 4bece5a2c8..5a9fed52fa 100644
--- a/src/server/api/endpoints/clips/notes.ts
+++ b/src/server/api/endpoints/clips/notes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { ClipNotes, Clips, Notes } from '../../../../models';
+import { ClipNotes, Clips, Notes } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
diff --git a/src/server/api/endpoints/clips/show.ts b/src/server/api/endpoints/clips/show.ts
index 43d2719129..8f245cd18e 100644
--- a/src/server/api/endpoints/clips/show.ts
+++ b/src/server/api/endpoints/clips/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Clips } from '../../../../models';
+import { Clips } from '@/models/index';
export const meta = {
tags: ['clips', 'account'],
diff --git a/src/server/api/endpoints/clips/update.ts b/src/server/api/endpoints/clips/update.ts
index a368174e76..7f645560bb 100644
--- a/src/server/api/endpoints/clips/update.ts
+++ b/src/server/api/endpoints/clips/update.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Clips } from '../../../../models';
+import { Clips } from '@/models/index';
export const meta = {
tags: ['clips'],
diff --git a/src/server/api/endpoints/drive.ts b/src/server/api/endpoints/drive.ts
index 2feb72ae12..2974ccfab9 100644
--- a/src/server/api/endpoints/drive.ts
+++ b/src/server/api/endpoints/drive.ts
@@ -1,6 +1,6 @@
import define from '../define';
import { fetchMeta } from '@/misc/fetch-meta';
-import { DriveFiles } from '../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive', 'account'],
diff --git a/src/server/api/endpoints/drive/files.ts b/src/server/api/endpoints/drive/files.ts
index 1e821b0085..95435e1e43 100644
--- a/src/server/api/endpoints/drive/files.ts
+++ b/src/server/api/endpoints/drive/files.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { DriveFiles } from '../../../../models';
+import { DriveFiles } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/drive/files/attached-notes.ts b/src/server/api/endpoints/drive/files/attached-notes.ts
index dafbf30fbb..eec7d7877e 100644
--- a/src/server/api/endpoints/drive/files/attached-notes.ts
+++ b/src/server/api/endpoints/drive/files/attached-notes.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFiles, Notes } from '../../../../../models';
+import { DriveFiles, Notes } from '@/models/index';
export const meta = {
tags: ['drive', 'notes'],
diff --git a/src/server/api/endpoints/drive/files/check-existence.ts b/src/server/api/endpoints/drive/files/check-existence.ts
index b20be44072..2c36078421 100644
--- a/src/server/api/endpoints/drive/files/check-existence.ts
+++ b/src/server/api/endpoints/drive/files/check-existence.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts
index a8f6b92014..2abc104e6c 100644
--- a/src/server/api/endpoints/drive/files/create.ts
+++ b/src/server/api/endpoints/drive/files/create.ts
@@ -1,11 +1,11 @@
import * as ms from 'ms';
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import create from '../../../../../services/drive/add-file';
+import create from '@/services/drive/add-file';
import define from '../../../define';
import { apiLogger } from '../../../logger';
import { ApiError } from '../../../error';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/files/delete.ts b/src/server/api/endpoints/drive/files/delete.ts
index 520078948c..038325694d 100644
--- a/src/server/api/endpoints/drive/files/delete.ts
+++ b/src/server/api/endpoints/drive/files/delete.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { deleteFile } from '../../../../../services/drive/delete-file';
-import { publishDriveStream } from '../../../../../services/stream';
+import { deleteFile } from '@/services/drive/delete-file';
+import { publishDriveStream } from '@/services/stream';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/files/find-by-hash.ts b/src/server/api/endpoints/drive/files/find-by-hash.ts
index ef0077392e..5fea7bbbb0 100644
--- a/src/server/api/endpoints/drive/files/find-by-hash.ts
+++ b/src/server/api/endpoints/drive/files/find-by-hash.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/files/find.ts b/src/server/api/endpoints/drive/files/find.ts
index b7f2571453..dd419f4c04 100644
--- a/src/server/api/endpoints/drive/files/find.ts
+++ b/src/server/api/endpoints/drive/files/find.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { DriveFiles } from '../../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/drive/files/show.ts b/src/server/api/endpoints/drive/files/show.ts
index 33e88fa817..a96ebaa123 100644
--- a/src/server/api/endpoints/drive/files/show.ts
+++ b/src/server/api/endpoints/drive/files/show.ts
@@ -2,8 +2,8 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFile } from '../../../../../models/entities/drive-file';
-import { DriveFiles } from '../../../../../models';
+import { DriveFile } from '@/models/entities/drive-file';
+import { DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/files/update.ts b/src/server/api/endpoints/drive/files/update.ts
index 29b4ba7a45..1ef445625c 100644
--- a/src/server/api/endpoints/drive/files/update.ts
+++ b/src/server/api/endpoints/drive/files/update.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishDriveStream } from '../../../../../services/stream';
+import { publishDriveStream } from '@/services/stream';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFiles, DriveFolders } from '../../../../../models';
+import { DriveFiles, DriveFolders } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/files/upload-from-url.ts b/src/server/api/endpoints/drive/files/upload-from-url.ts
index 8dfc86e660..f37f316efb 100644
--- a/src/server/api/endpoints/drive/files/upload-from-url.ts
+++ b/src/server/api/endpoints/drive/files/upload-from-url.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
-import uploadFromUrl from '../../../../../services/drive/upload-from-url';
+import uploadFromUrl from '@/services/drive/upload-from-url';
import define from '../../../define';
-import { DriveFiles } from '../../../../../models';
-import { publishMainStream } from '../../../../../services/stream';
+import { DriveFiles } from '@/models/index';
+import { publishMainStream } from '@/services/stream';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/folders.ts b/src/server/api/endpoints/drive/folders.ts
index c446d546cc..6f16878b13 100644
--- a/src/server/api/endpoints/drive/folders.ts
+++ b/src/server/api/endpoints/drive/folders.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { DriveFolders } from '../../../../models';
+import { DriveFolders } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/drive/folders/create.ts b/src/server/api/endpoints/drive/folders/create.ts
index e39f8f2cee..80f96bd641 100644
--- a/src/server/api/endpoints/drive/folders/create.ts
+++ b/src/server/api/endpoints/drive/folders/create.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishDriveStream } from '../../../../../services/stream';
+import { publishDriveStream } from '@/services/stream';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFolders } from '../../../../../models';
+import { DriveFolders } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/drive/folders/delete.ts b/src/server/api/endpoints/drive/folders/delete.ts
index 253563a3ef..38b4aef103 100644
--- a/src/server/api/endpoints/drive/folders/delete.ts
+++ b/src/server/api/endpoints/drive/folders/delete.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { publishDriveStream } from '../../../../../services/stream';
+import { publishDriveStream } from '@/services/stream';
import { ApiError } from '../../../error';
-import { DriveFolders, DriveFiles } from '../../../../../models';
+import { DriveFolders, DriveFiles } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/folders/find.ts b/src/server/api/endpoints/drive/folders/find.ts
index c8e7639e63..a6c5a49988 100644
--- a/src/server/api/endpoints/drive/folders/find.ts
+++ b/src/server/api/endpoints/drive/folders/find.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { DriveFolders } from '../../../../../models';
+import { DriveFolders } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/folders/show.ts b/src/server/api/endpoints/drive/folders/show.ts
index fe1326da75..e907a24f05 100644
--- a/src/server/api/endpoints/drive/folders/show.ts
+++ b/src/server/api/endpoints/drive/folders/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFolders } from '../../../../../models';
+import { DriveFolders } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/folders/update.ts b/src/server/api/endpoints/drive/folders/update.ts
index 9dfe33517e..612252e6df 100644
--- a/src/server/api/endpoints/drive/folders/update.ts
+++ b/src/server/api/endpoints/drive/folders/update.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishDriveStream } from '../../../../../services/stream';
+import { publishDriveStream } from '@/services/stream';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { DriveFolders } from '../../../../../models';
+import { DriveFolders } from '@/models/index';
export const meta = {
tags: ['drive'],
diff --git a/src/server/api/endpoints/drive/stream.ts b/src/server/api/endpoints/drive/stream.ts
index ca88acf5fe..141e02f748 100644
--- a/src/server/api/endpoints/drive/stream.ts
+++ b/src/server/api/endpoints/drive/stream.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { DriveFiles } from '../../../../models';
+import { DriveFiles } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/federation/dns.ts b/src/server/api/endpoints/federation/dns.ts
index a188f46ac1..7ba566301a 100644
--- a/src/server/api/endpoints/federation/dns.ts
+++ b/src/server/api/endpoints/federation/dns.ts
@@ -1,7 +1,7 @@
import { promises as dns } from 'dns';
import $ from 'cafy';
import define from '../../define';
-import { Instances } from '../../../../models';
+import { Instances } from '@/models/index';
import { toPuny } from '@/misc/convert-host';
const resolver = new dns.Resolver();
diff --git a/src/server/api/endpoints/federation/followers.ts b/src/server/api/endpoints/federation/followers.ts
index 727eada682..655e7b7b9a 100644
--- a/src/server/api/endpoints/federation/followers.ts
+++ b/src/server/api/endpoints/federation/followers.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Followings } from '../../../../models';
+import { Followings } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/federation/following.ts b/src/server/api/endpoints/federation/following.ts
index c6bc71a982..5b283581a6 100644
--- a/src/server/api/endpoints/federation/following.ts
+++ b/src/server/api/endpoints/federation/following.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Followings } from '../../../../models';
+import { Followings } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/federation/instances.ts b/src/server/api/endpoints/federation/instances.ts
index 29515f0eb4..cf5e44ebd5 100644
--- a/src/server/api/endpoints/federation/instances.ts
+++ b/src/server/api/endpoints/federation/instances.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
-import config from '@/config';
+import config from '@/config/index';
import define from '../../define';
-import { Instances } from '../../../../models';
+import { Instances } from '@/models/index';
import { fetchMeta } from '@/misc/fetch-meta';
export const meta = {
diff --git a/src/server/api/endpoints/federation/show-instance.ts b/src/server/api/endpoints/federation/show-instance.ts
index 549d7340fb..f8352aefb3 100644
--- a/src/server/api/endpoints/federation/show-instance.ts
+++ b/src/server/api/endpoints/federation/show-instance.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Instances } from '../../../../models';
+import { Instances } from '@/models/index';
import { toPuny } from '@/misc/convert-host';
export const meta = {
diff --git a/src/server/api/endpoints/federation/update-remote-user.ts b/src/server/api/endpoints/federation/update-remote-user.ts
index c4a6db0dd2..580c3cb3d9 100644
--- a/src/server/api/endpoints/federation/update-remote-user.ts
+++ b/src/server/api/endpoints/federation/update-remote-user.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { getRemoteUser } from '../../common/getters';
-import { updatePerson } from '../../../../remote/activitypub/models/person';
+import { updatePerson } from '@/remote/activitypub/models/person';
export const meta = {
tags: ['federation'],
diff --git a/src/server/api/endpoints/federation/users.ts b/src/server/api/endpoints/federation/users.ts
index 77d9e2e076..0e35df3e1c 100644
--- a/src/server/api/endpoints/federation/users.ts
+++ b/src/server/api/endpoints/federation/users.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/following/create.ts b/src/server/api/endpoints/following/create.ts
index e4f9a86d99..ba9ca1092d 100644
--- a/src/server/api/endpoints/following/create.ts
+++ b/src/server/api/endpoints/following/create.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
-import create from '../../../../services/following/create';
+import create from '@/services/following/create';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { Followings, Users } from '../../../../models';
+import { Followings, Users } from '@/models/index';
export const meta = {
tags: ['following', 'users'],
diff --git a/src/server/api/endpoints/following/delete.ts b/src/server/api/endpoints/following/delete.ts
index e164cb25c9..0b0158b86e 100644
--- a/src/server/api/endpoints/following/delete.ts
+++ b/src/server/api/endpoints/following/delete.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import * as ms from 'ms';
-import deleteFollowing from '../../../../services/following/delete';
+import deleteFollowing from '@/services/following/delete';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { Followings, Users } from '../../../../models';
+import { Followings, Users } from '@/models/index';
export const meta = {
tags: ['following', 'users'],
diff --git a/src/server/api/endpoints/following/requests/accept.ts b/src/server/api/endpoints/following/requests/accept.ts
index aa7085c53f..af39ea1d90 100644
--- a/src/server/api/endpoints/following/requests/accept.ts
+++ b/src/server/api/endpoints/following/requests/accept.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import acceptFollowRequest from '../../../../../services/following/requests/accept';
+import acceptFollowRequest from '@/services/following/requests/accept';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
diff --git a/src/server/api/endpoints/following/requests/cancel.ts b/src/server/api/endpoints/following/requests/cancel.ts
index 09056f2620..b69c9d2fe1 100644
--- a/src/server/api/endpoints/following/requests/cancel.ts
+++ b/src/server/api/endpoints/following/requests/cancel.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import cancelFollowRequest from '../../../../../services/following/requests/cancel';
+import cancelFollowRequest from '@/services/following/requests/cancel';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { Users } from '../../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['following', 'account'],
diff --git a/src/server/api/endpoints/following/requests/list.ts b/src/server/api/endpoints/following/requests/list.ts
index bf3bfc68fa..84440ccac7 100644
--- a/src/server/api/endpoints/following/requests/list.ts
+++ b/src/server/api/endpoints/following/requests/list.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { FollowRequests } from '../../../../../models';
+import { FollowRequests } from '@/models/index';
export const meta = {
tags: ['following', 'account'],
diff --git a/src/server/api/endpoints/following/requests/reject.ts b/src/server/api/endpoints/following/requests/reject.ts
index 1685a86137..620324361f 100644
--- a/src/server/api/endpoints/following/requests/reject.ts
+++ b/src/server/api/endpoints/following/requests/reject.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import rejectFollowRequest from '../../../../../services/following/requests/reject';
+import rejectFollowRequest from '@/services/following/requests/reject';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
diff --git a/src/server/api/endpoints/gallery/featured.ts b/src/server/api/endpoints/gallery/featured.ts
index d09000cc71..30ef8cedec 100644
--- a/src/server/api/endpoints/gallery/featured.ts
+++ b/src/server/api/endpoints/gallery/featured.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { GalleryPosts } from '../../../../models';
+import { GalleryPosts } from '@/models/index';
export const meta = {
tags: ['gallery'],
diff --git a/src/server/api/endpoints/gallery/popular.ts b/src/server/api/endpoints/gallery/popular.ts
index e240b14d27..18449b9654 100644
--- a/src/server/api/endpoints/gallery/popular.ts
+++ b/src/server/api/endpoints/gallery/popular.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { GalleryPosts } from '../../../../models';
+import { GalleryPosts } from '@/models/index';
export const meta = {
tags: ['gallery'],
diff --git a/src/server/api/endpoints/gallery/posts.ts b/src/server/api/endpoints/gallery/posts.ts
index 656765d80a..53d3236d2d 100644
--- a/src/server/api/endpoints/gallery/posts.ts
+++ b/src/server/api/endpoints/gallery/posts.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { GalleryPosts } from '../../../../models';
+import { GalleryPosts } from '@/models/index';
export const meta = {
tags: ['gallery'],
diff --git a/src/server/api/endpoints/gallery/posts/create.ts b/src/server/api/endpoints/gallery/posts/create.ts
index ed24a45f88..38b487e6ea 100644
--- a/src/server/api/endpoints/gallery/posts/create.ts
+++ b/src/server/api/endpoints/gallery/posts/create.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import * as ms from 'ms';
import define from '../../../define';
import { ID } from '../../../../../misc/cafy-id';
-import { DriveFiles, GalleryPosts } from '../../../../../models';
+import { DriveFiles, GalleryPosts } from '@/models/index';
import { genId } from '../../../../../misc/gen-id';
-import { GalleryPost } from '../../../../../models/entities/gallery-post';
+import { GalleryPost } from '@/models/entities/gallery-post';
import { ApiError } from '../../../error';
import { DriveFile } from '@/models/entities/drive-file';
diff --git a/src/server/api/endpoints/gallery/posts/delete.ts b/src/server/api/endpoints/gallery/posts/delete.ts
index 8b54828b20..e5b7c07f2f 100644
--- a/src/server/api/endpoints/gallery/posts/delete.ts
+++ b/src/server/api/endpoints/gallery/posts/delete.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { GalleryPosts } from '../../../../../models';
+import { GalleryPosts } from '@/models/index';
import { ID } from '@/misc/cafy-id';
export const meta = {
diff --git a/src/server/api/endpoints/gallery/posts/like.ts b/src/server/api/endpoints/gallery/posts/like.ts
index 3bf37c13e3..81a25c0ad1 100644
--- a/src/server/api/endpoints/gallery/posts/like.ts
+++ b/src/server/api/endpoints/gallery/posts/like.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { GalleryPosts, GalleryLikes } from '../../../../../models';
+import { GalleryPosts, GalleryLikes } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/gallery/posts/show.ts b/src/server/api/endpoints/gallery/posts/show.ts
index 17628544b7..93852a5f8d 100644
--- a/src/server/api/endpoints/gallery/posts/show.ts
+++ b/src/server/api/endpoints/gallery/posts/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { GalleryPosts } from '@/models';
+import { GalleryPosts } from '@/models/index';
export const meta = {
tags: ['gallery'],
diff --git a/src/server/api/endpoints/gallery/posts/unlike.ts b/src/server/api/endpoints/gallery/posts/unlike.ts
index 155949ae3d..0347cdf79e 100644
--- a/src/server/api/endpoints/gallery/posts/unlike.ts
+++ b/src/server/api/endpoints/gallery/posts/unlike.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { GalleryPosts, GalleryLikes } from '../../../../../models';
+import { GalleryPosts, GalleryLikes } from '@/models/index';
export const meta = {
tags: ['gallery'],
diff --git a/src/server/api/endpoints/gallery/posts/update.ts b/src/server/api/endpoints/gallery/posts/update.ts
index d9176ea407..54eea130d3 100644
--- a/src/server/api/endpoints/gallery/posts/update.ts
+++ b/src/server/api/endpoints/gallery/posts/update.ts
@@ -2,8 +2,8 @@ import $ from 'cafy';
import * as ms from 'ms';
import define from '../../../define';
import { ID } from '../../../../../misc/cafy-id';
-import { DriveFiles, GalleryPosts } from '../../../../../models';
-import { GalleryPost } from '../../../../../models/entities/gallery-post';
+import { DriveFiles, GalleryPosts } from '@/models/index';
+import { GalleryPost } from '@/models/entities/gallery-post';
import { ApiError } from '../../../error';
import { DriveFile } from '@/models/entities/drive-file';
diff --git a/src/server/api/endpoints/games/reversi/games.ts b/src/server/api/endpoints/games/reversi/games.ts
index 6ac150ef2c..4db9ecb69f 100644
--- a/src/server/api/endpoints/games/reversi/games.ts
+++ b/src/server/api/endpoints/games/reversi/games.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { ReversiGames } from '../../../../../models';
+import { ReversiGames } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
import { Brackets } from 'typeorm';
diff --git a/src/server/api/endpoints/games/reversi/games/show.ts b/src/server/api/endpoints/games/reversi/games/show.ts
index a6fbdbaf6d..93afffdb1f 100644
--- a/src/server/api/endpoints/games/reversi/games/show.ts
+++ b/src/server/api/endpoints/games/reversi/games/show.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import Reversi from '../../../../../../games/reversi/core';
import define from '../../../../define';
import { ApiError } from '../../../../error';
-import { ReversiGames } from '../../../../../../models';
+import { ReversiGames } from '@/models/index';
export const meta = {
tags: ['games'],
diff --git a/src/server/api/endpoints/games/reversi/games/surrender.ts b/src/server/api/endpoints/games/reversi/games/surrender.ts
index 41896b4ab5..00d58b19e3 100644
--- a/src/server/api/endpoints/games/reversi/games/surrender.ts
+++ b/src/server/api/endpoints/games/reversi/games/surrender.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishReversiGameStream } from '../../../../../../services/stream';
+import { publishReversiGameStream } from '@/services/stream';
import define from '../../../../define';
import { ApiError } from '../../../../error';
-import { ReversiGames } from '../../../../../../models';
+import { ReversiGames } from '@/models/index';
export const meta = {
tags: ['games'],
diff --git a/src/server/api/endpoints/games/reversi/invitations.ts b/src/server/api/endpoints/games/reversi/invitations.ts
index 6a73bdf0c4..c8629377b2 100644
--- a/src/server/api/endpoints/games/reversi/invitations.ts
+++ b/src/server/api/endpoints/games/reversi/invitations.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { ReversiMatchings } from '../../../../../models';
+import { ReversiMatchings } from '@/models/index';
export const meta = {
tags: ['games'],
diff --git a/src/server/api/endpoints/games/reversi/match.ts b/src/server/api/endpoints/games/reversi/match.ts
index 55ff9225d9..5ceb16c7d7 100644
--- a/src/server/api/endpoints/games/reversi/match.ts
+++ b/src/server/api/endpoints/games/reversi/match.ts
@@ -1,14 +1,14 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishMainStream, publishReversiStream } from '../../../../../services/stream';
+import { publishMainStream, publishReversiStream } from '@/services/stream';
import { eighteight } from '../../../../../games/reversi/maps';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
import { genId } from '@/misc/gen-id';
-import { ReversiMatchings, ReversiGames } from '../../../../../models';
-import { ReversiGame } from '../../../../../models/entities/games/reversi/game';
-import { ReversiMatching } from '../../../../../models/entities/games/reversi/matching';
+import { ReversiMatchings, ReversiGames } from '@/models/index';
+import { ReversiGame } from '@/models/entities/games/reversi/game';
+import { ReversiMatching } from '@/models/entities/games/reversi/matching';
export const meta = {
tags: ['games'],
diff --git a/src/server/api/endpoints/games/reversi/match/cancel.ts b/src/server/api/endpoints/games/reversi/match/cancel.ts
index 0abd4b5c8f..e4a138bb87 100644
--- a/src/server/api/endpoints/games/reversi/match/cancel.ts
+++ b/src/server/api/endpoints/games/reversi/match/cancel.ts
@@ -1,5 +1,5 @@
import define from '../../../../define';
-import { ReversiMatchings } from '../../../../../../models';
+import { ReversiMatchings } from '@/models/index';
export const meta = {
tags: ['games'],
diff --git a/src/server/api/endpoints/get-online-users-count.ts b/src/server/api/endpoints/get-online-users-count.ts
index a13363055f..5c80d588d3 100644
--- a/src/server/api/endpoints/get-online-users-count.ts
+++ b/src/server/api/endpoints/get-online-users-count.ts
@@ -1,5 +1,5 @@
import { USER_ONLINE_THRESHOLD } from '@/const';
-import { Users } from '@/models';
+import { Users } from '@/models/index';
import { MoreThan } from 'typeorm';
import define from '../define';
diff --git a/src/server/api/endpoints/hashtags/list.ts b/src/server/api/endpoints/hashtags/list.ts
index 6e37f909ee..821016a50c 100644
--- a/src/server/api/endpoints/hashtags/list.ts
+++ b/src/server/api/endpoints/hashtags/list.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Hashtags } from '../../../../models';
+import { Hashtags } from '@/models/index';
export const meta = {
tags: ['hashtags'],
diff --git a/src/server/api/endpoints/hashtags/search.ts b/src/server/api/endpoints/hashtags/search.ts
index 372ccd5084..fd0cac3983 100644
--- a/src/server/api/endpoints/hashtags/search.ts
+++ b/src/server/api/endpoints/hashtags/search.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Hashtags } from '../../../../models';
+import { Hashtags } from '@/models/index';
export const meta = {
tags: ['hashtags'],
diff --git a/src/server/api/endpoints/hashtags/show.ts b/src/server/api/endpoints/hashtags/show.ts
index 9e388ce145..f22edbfffd 100644
--- a/src/server/api/endpoints/hashtags/show.ts
+++ b/src/server/api/endpoints/hashtags/show.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
-import { Hashtags } from '../../../../models';
+import { Hashtags } from '@/models/index';
import { normalizeForSearch } from '@/misc/normalize-for-search';
export const meta = {
diff --git a/src/server/api/endpoints/hashtags/trend.ts b/src/server/api/endpoints/hashtags/trend.ts
index 5341c3e584..3d67241ab6 100644
--- a/src/server/api/endpoints/hashtags/trend.ts
+++ b/src/server/api/endpoints/hashtags/trend.ts
@@ -1,8 +1,8 @@
import { Brackets } from 'typeorm';
import define from '../../define';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Notes } from '../../../../models';
-import { Note } from '../../../../models/entities/note';
+import { Notes } from '@/models/index';
+import { Note } from '@/models/entities/note';
import { safeForSql } from '@/misc/safe-for-sql';
import { normalizeForSearch } from '@/misc/normalize-for-search';
diff --git a/src/server/api/endpoints/hashtags/users.ts b/src/server/api/endpoints/hashtags/users.ts
index cecbc80cd2..8c8cd1510b 100644
--- a/src/server/api/endpoints/hashtags/users.ts
+++ b/src/server/api/endpoints/hashtags/users.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
import { normalizeForSearch } from '@/misc/normalize-for-search';
export const meta = {
diff --git a/src/server/api/endpoints/i.ts b/src/server/api/endpoints/i.ts
index c6b89124b6..0568a962d8 100644
--- a/src/server/api/endpoints/i.ts
+++ b/src/server/api/endpoints/i.ts
@@ -1,5 +1,5 @@
import define from '../define';
-import { Users } from '../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/2fa/done.ts b/src/server/api/endpoints/i/2fa/done.ts
index 9a74d7675b..2bd2128cce 100644
--- a/src/server/api/endpoints/i/2fa/done.ts
+++ b/src/server/api/endpoints/i/2fa/done.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as speakeasy from 'speakeasy';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/key-done.ts b/src/server/api/endpoints/i/2fa/key-done.ts
index 923a8b386c..b4d3af235a 100644
--- a/src/server/api/endpoints/i/2fa/key-done.ts
+++ b/src/server/api/endpoints/i/2fa/key-done.ts
@@ -8,10 +8,10 @@ import {
UserSecurityKeys,
AttestationChallenges,
Users
-} from '../../../../../models';
-import config from '@/config';
+} from '@/models/index';
+import config from '@/config/index';
import { procedures, hash } from '../../../2fa';
-import { publishMainStream } from '../../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
const cborDecodeFirst = promisify(cbor.decodeFirst) as any;
diff --git a/src/server/api/endpoints/i/2fa/password-less.ts b/src/server/api/endpoints/i/2fa/password-less.ts
index ee0a065e43..064828b638 100644
--- a/src/server/api/endpoints/i/2fa/password-less.ts
+++ b/src/server/api/endpoints/i/2fa/password-less.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/register-key.ts b/src/server/api/endpoints/i/2fa/register-key.ts
index 75f578fc5f..1b385a10ee 100644
--- a/src/server/api/endpoints/i/2fa/register-key.ts
+++ b/src/server/api/endpoints/i/2fa/register-key.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../../define';
-import { UserProfiles, AttestationChallenges } from '../../../../../models';
+import { UserProfiles, AttestationChallenges } from '@/models/index';
import { promisify } from 'util';
import * as crypto from 'crypto';
import { genId } from '@/misc/gen-id';
diff --git a/src/server/api/endpoints/i/2fa/register.ts b/src/server/api/endpoints/i/2fa/register.ts
index d40997d6ed..b03b98188a 100644
--- a/src/server/api/endpoints/i/2fa/register.ts
+++ b/src/server/api/endpoints/i/2fa/register.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import * as speakeasy from 'speakeasy';
import * as QRCode from 'qrcode';
-import config from '@/config';
+import config from '@/config/index';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/remove-key.ts b/src/server/api/endpoints/i/2fa/remove-key.ts
index 135f0eb284..dea56301ab 100644
--- a/src/server/api/endpoints/i/2fa/remove-key.ts
+++ b/src/server/api/endpoints/i/2fa/remove-key.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../../define';
-import { UserProfiles, UserSecurityKeys, Users } from '../../../../../models';
-import { publishMainStream } from '../../../../../services/stream';
+import { UserProfiles, UserSecurityKeys, Users } from '@/models/index';
+import { publishMainStream } from '@/services/stream';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/unregister.ts b/src/server/api/endpoints/i/2fa/unregister.ts
index e809f40c71..af53033daa 100644
--- a/src/server/api/endpoints/i/2fa/unregister.ts
+++ b/src/server/api/endpoints/i/2fa/unregister.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/apps.ts b/src/server/api/endpoints/i/apps.ts
index 69958f1ca4..994528e5c9 100644
--- a/src/server/api/endpoints/i/apps.ts
+++ b/src/server/api/endpoints/i/apps.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens } from '../../../../models';
+import { AccessTokens } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/authorized-apps.ts b/src/server/api/endpoints/i/authorized-apps.ts
index 050d079d9b..042fcd14e8 100644
--- a/src/server/api/endpoints/i/authorized-apps.ts
+++ b/src/server/api/endpoints/i/authorized-apps.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens, Apps } from '../../../../models';
+import { AccessTokens, Apps } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/change-password.ts b/src/server/api/endpoints/i/change-password.ts
index 0a8b86e665..7ea5f8c488 100644
--- a/src/server/api/endpoints/i/change-password.ts
+++ b/src/server/api/endpoints/i/change-password.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../define';
-import { UserProfiles } from '../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/delete-account.ts b/src/server/api/endpoints/i/delete-account.ts
index f5f0f32a4a..77f11925cd 100644
--- a/src/server/api/endpoints/i/delete-account.ts
+++ b/src/server/api/endpoints/i/delete-account.ts
@@ -1,9 +1,10 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../define';
-import { Users, UserProfiles } from '../../../../models';
-import { doPostSuspend } from '../../../../services/suspend-user';
+import { UserProfiles, Users } from '@/models/index';
+import { doPostSuspend } from '@/services/suspend-user';
import { publishUserEvent } from '@/services/stream';
+import { createDeleteAccountJob } from '@/queue';
export const meta = {
requireCredential: true as const,
@@ -19,6 +20,10 @@ export const meta = {
export default define(meta, async (ps, user) => {
const profile = await UserProfiles.findOneOrFail(user.id);
+ const userDetailed = await Users.findOneOrFail(user.id);
+ if (userDetailed.isDeleted) {
+ return;
+ }
// Compare password
const same = await bcrypt.compare(ps.password, profile.password!);
@@ -30,7 +35,11 @@ export default define(meta, async (ps, user) => {
// 物理削除する前にDelete activityを送信する
await doPostSuspend(user).catch(e => {});
- await Users.delete(user.id);
+ createDeleteAccountJob(user);
+
+ await Users.update(user.id, {
+ isDeleted: true,
+ });
// Terminate streaming
publishUserEvent(user.id, 'terminate', {});
diff --git a/src/server/api/endpoints/i/export-blocking.ts b/src/server/api/endpoints/i/export-blocking.ts
index 87cf7655b0..e4797da0c1 100644
--- a/src/server/api/endpoints/i/export-blocking.ts
+++ b/src/server/api/endpoints/i/export-blocking.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportBlockingJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportBlockingJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-following.ts b/src/server/api/endpoints/i/export-following.ts
index 9afc96a24a..b0f154cda8 100644
--- a/src/server/api/endpoints/i/export-following.ts
+++ b/src/server/api/endpoints/i/export-following.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportFollowingJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportFollowingJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-mute.ts b/src/server/api/endpoints/i/export-mute.ts
index 7bb24f8f84..46d547fa53 100644
--- a/src/server/api/endpoints/i/export-mute.ts
+++ b/src/server/api/endpoints/i/export-mute.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportMuteJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportMuteJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-notes.ts b/src/server/api/endpoints/i/export-notes.ts
index 368a340512..441bf16896 100644
--- a/src/server/api/endpoints/i/export-notes.ts
+++ b/src/server/api/endpoints/i/export-notes.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportNotesJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportNotesJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-user-lists.ts b/src/server/api/endpoints/i/export-user-lists.ts
index e1de59f321..24043a862a 100644
--- a/src/server/api/endpoints/i/export-user-lists.ts
+++ b/src/server/api/endpoints/i/export-user-lists.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportUserListsJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportUserListsJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/favorites.ts b/src/server/api/endpoints/i/favorites.ts
index eb97e8bab6..b79d68ae73 100644
--- a/src/server/api/endpoints/i/favorites.ts
+++ b/src/server/api/endpoints/i/favorites.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { NoteFavorites } from '../../../../models';
+import { NoteFavorites } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/gallery/likes.ts b/src/server/api/endpoints/i/gallery/likes.ts
index e569261fa6..7a2935a5ec 100644
--- a/src/server/api/endpoints/i/gallery/likes.ts
+++ b/src/server/api/endpoints/i/gallery/likes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { GalleryLikes } from '../../../../../models';
+import { GalleryLikes } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/gallery/posts.ts b/src/server/api/endpoints/i/gallery/posts.ts
index d7c2e96c16..21bb8759fc 100644
--- a/src/server/api/endpoints/i/gallery/posts.ts
+++ b/src/server/api/endpoints/i/gallery/posts.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { GalleryPosts } from '../../../../../models';
+import { GalleryPosts } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/get-word-muted-notes-count.ts b/src/server/api/endpoints/i/get-word-muted-notes-count.ts
index a69ebc286a..6b9be98582 100644
--- a/src/server/api/endpoints/i/get-word-muted-notes-count.ts
+++ b/src/server/api/endpoints/i/get-word-muted-notes-count.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { MutedNotes } from '../../../../models';
+import { MutedNotes } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/import-following.ts b/src/server/api/endpoints/i/import-following.ts
index 0349551073..b3de397661 100644
--- a/src/server/api/endpoints/i/import-following.ts
+++ b/src/server/api/endpoints/i/import-following.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { createImportFollowingJob } from '../../../../queue';
-import ms = require('ms');
+import { createImportFollowingJob } from '@/queue/index';
+import * as ms from 'ms';
import { ApiError } from '../../error';
-import { DriveFiles } from '../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/import-user-lists.ts b/src/server/api/endpoints/i/import-user-lists.ts
index f40eb2745d..9069a019a9 100644
--- a/src/server/api/endpoints/i/import-user-lists.ts
+++ b/src/server/api/endpoints/i/import-user-lists.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { createImportUserListsJob } from '../../../../queue';
-import ms = require('ms');
+import { createImportUserListsJob } from '@/queue/index';
+import * as ms from 'ms';
import { ApiError } from '../../error';
-import { DriveFiles } from '../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/notifications.ts b/src/server/api/endpoints/i/notifications.ts
index a16766c92e..3c265a10c1 100644
--- a/src/server/api/endpoints/i/notifications.ts
+++ b/src/server/api/endpoints/i/notifications.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import { readNotification } from '../../common/read-notification';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notifications, Followings, Mutings, Users } from '../../../../models';
+import { Notifications, Followings, Mutings, Users } from '@/models/index';
import { notificationTypes } from '../../../../types';
import read from '@/services/note/read';
diff --git a/src/server/api/endpoints/i/page-likes.ts b/src/server/api/endpoints/i/page-likes.ts
index bb41499694..fa2bc31730 100644
--- a/src/server/api/endpoints/i/page-likes.ts
+++ b/src/server/api/endpoints/i/page-likes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { PageLikes } from '../../../../models';
+import { PageLikes } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/pages.ts b/src/server/api/endpoints/i/pages.ts
index 981686adb0..ee87fffa2d 100644
--- a/src/server/api/endpoints/i/pages.ts
+++ b/src/server/api/endpoints/i/pages.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Pages } from '../../../../models';
+import { Pages } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/pin.ts b/src/server/api/endpoints/i/pin.ts
index e1e0658996..de94220ba9 100644
--- a/src/server/api/endpoints/i/pin.ts
+++ b/src/server/api/endpoints/i/pin.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { addPinned } from '../../../../services/i/pin';
+import { addPinned } from '@/services/i/pin';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['account', 'notes'],
diff --git a/src/server/api/endpoints/i/read-all-messaging-messages.ts b/src/server/api/endpoints/i/read-all-messaging-messages.ts
index dd26a10a73..9aca7611c9 100644
--- a/src/server/api/endpoints/i/read-all-messaging-messages.ts
+++ b/src/server/api/endpoints/i/read-all-messaging-messages.ts
@@ -1,6 +1,6 @@
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { MessagingMessages, UserGroupJoinings } from '../../../../models';
+import { MessagingMessages, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['account', 'messaging'],
diff --git a/src/server/api/endpoints/i/read-all-unread-notes.ts b/src/server/api/endpoints/i/read-all-unread-notes.ts
index 64469a2ad5..2a7102a590 100644
--- a/src/server/api/endpoints/i/read-all-unread-notes.ts
+++ b/src/server/api/endpoints/i/read-all-unread-notes.ts
@@ -1,6 +1,6 @@
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { NoteUnreads } from '../../../../models';
+import { NoteUnreads } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/read-announcement.ts b/src/server/api/endpoints/i/read-announcement.ts
index 0f58b823fc..2f5036f953 100644
--- a/src/server/api/endpoints/i/read-announcement.ts
+++ b/src/server/api/endpoints/i/read-announcement.ts
@@ -3,8 +3,8 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
import { genId } from '@/misc/gen-id';
-import { AnnouncementReads, Announcements, Users } from '../../../../models';
-import { publishMainStream } from '../../../../services/stream';
+import { AnnouncementReads, Announcements, Users } from '@/models/index';
+import { publishMainStream } from '@/services/stream';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/regenerate-token.ts b/src/server/api/endpoints/i/regenerate-token.ts
index 3665ed0532..1cce2d37be 100644
--- a/src/server/api/endpoints/i/regenerate-token.ts
+++ b/src/server/api/endpoints/i/regenerate-token.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
-import { publishMainStream, publishUserEvent } from '../../../../services/stream';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
import generateUserToken from '../../common/generate-native-user-token';
import define from '../../define';
-import { Users, UserProfiles } from '../../../../models';
+import { Users, UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/get-all.ts b/src/server/api/endpoints/i/registry/get-all.ts
index ce8653f22b..c8eaf83a25 100644
--- a/src/server/api/endpoints/i/registry/get-all.ts
+++ b/src/server/api/endpoints/i/registry/get-all.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/get-detail.ts b/src/server/api/endpoints/i/registry/get-detail.ts
index 441833d3d7..992800c44c 100644
--- a/src/server/api/endpoints/i/registry/get-detail.ts
+++ b/src/server/api/endpoints/i/registry/get-detail.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/registry/get.ts b/src/server/api/endpoints/i/registry/get.ts
index 275e660cb6..569c3a9280 100644
--- a/src/server/api/endpoints/i/registry/get.ts
+++ b/src/server/api/endpoints/i/registry/get.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/registry/keys-with-type.ts b/src/server/api/endpoints/i/registry/keys-with-type.ts
index 06d77acbeb..16a4fee374 100644
--- a/src/server/api/endpoints/i/registry/keys-with-type.ts
+++ b/src/server/api/endpoints/i/registry/keys-with-type.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/keys.ts b/src/server/api/endpoints/i/registry/keys.ts
index e4dd5044b4..3a8aeaa195 100644
--- a/src/server/api/endpoints/i/registry/keys.ts
+++ b/src/server/api/endpoints/i/registry/keys.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/remove.ts b/src/server/api/endpoints/i/registry/remove.ts
index 4f04d653b3..07bc23d4a6 100644
--- a/src/server/api/endpoints/i/registry/remove.ts
+++ b/src/server/api/endpoints/i/registry/remove.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/registry/scopes.ts b/src/server/api/endpoints/i/registry/scopes.ts
index baf3ebdeca..ecbdb05a8e 100644
--- a/src/server/api/endpoints/i/registry/scopes.ts
+++ b/src/server/api/endpoints/i/registry/scopes.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/set.ts b/src/server/api/endpoints/i/registry/set.ts
index 40f6368017..f129ee1b70 100644
--- a/src/server/api/endpoints/i/registry/set.ts
+++ b/src/server/api/endpoints/i/registry/set.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
-import { publishMainStream } from '../../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/i/revoke-token.ts b/src/server/api/endpoints/i/revoke-token.ts
index d22d9ca693..bed868def4 100644
--- a/src/server/api/endpoints/i/revoke-token.ts
+++ b/src/server/api/endpoints/i/revoke-token.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens } from '../../../../models';
+import { AccessTokens } from '@/models/index';
import { ID } from '@/misc/cafy-id';
import { publishUserEvent } from '@/services/stream';
diff --git a/src/server/api/endpoints/i/signin-history.ts b/src/server/api/endpoints/i/signin-history.ts
index 0395206144..a2c10148c6 100644
--- a/src/server/api/endpoints/i/signin-history.ts
+++ b/src/server/api/endpoints/i/signin-history.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Signins } from '../../../../models';
+import { Signins } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/unpin.ts b/src/server/api/endpoints/i/unpin.ts
index fe19b20905..dc79e255ab 100644
--- a/src/server/api/endpoints/i/unpin.ts
+++ b/src/server/api/endpoints/i/unpin.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { removePinned } from '../../../../services/i/pin';
+import { removePinned } from '@/services/i/pin';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['account', 'notes'],
diff --git a/src/server/api/endpoints/i/update-email.ts b/src/server/api/endpoints/i/update-email.ts
index cd0e989e51..14aedad88b 100644
--- a/src/server/api/endpoints/i/update-email.ts
+++ b/src/server/api/endpoints/i/update-email.ts
@@ -1,12 +1,12 @@
import $ from 'cafy';
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
import rndstr from 'rndstr';
-import config from '@/config';
+import config from '@/config/index';
import * as ms from 'ms';
import * as bcrypt from 'bcryptjs';
-import { Users, UserProfiles } from '../../../../models';
-import { sendEmail } from '../../../../services/send-email';
+import { Users, UserProfiles } from '@/models/index';
+import { sendEmail } from '@/services/send-email';
import { ApiError } from '../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts
index 96955354a3..fb7e12760e 100644
--- a/src/server/api/endpoints/i/update.ts
+++ b/src/server/api/endpoints/i/update.ts
@@ -1,18 +1,18 @@
import $ from 'cafy';
import * as mfm from 'mfm-js';
import { ID } from '@/misc/cafy-id';
-import { publishMainStream, publishUserEvent } from '../../../../services/stream';
-import acceptAllFollowRequests from '../../../../services/following/requests/accept-all';
-import { publishToFollowers } from '../../../../services/i/update';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
+import acceptAllFollowRequests from '@/services/following/requests/accept-all';
+import { publishToFollowers } from '@/services/i/update';
import define from '../../define';
import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mfm';
import { extractHashtags } from '@/misc/extract-hashtags';
import * as langmap from 'langmap';
-import { updateUsertags } from '../../../../services/update-hashtag';
+import { updateUsertags } from '@/services/update-hashtag';
import { ApiError } from '../../error';
-import { Users, DriveFiles, UserProfiles, Pages } from '../../../../models';
-import { User } from '../../../../models/entities/user';
-import { UserProfile } from '../../../../models/entities/user-profile';
+import { Users, DriveFiles, UserProfiles, Pages } from '@/models/index';
+import { User } from '@/models/entities/user';
+import { UserProfile } from '@/models/entities/user-profile';
import { notificationTypes } from '../../../../types';
import { normalizeForSearch } from '@/misc/normalize-for-search';
diff --git a/src/server/api/endpoints/i/user-group-invites.ts b/src/server/api/endpoints/i/user-group-invites.ts
index 623274df92..1ebde243ca 100644
--- a/src/server/api/endpoints/i/user-group-invites.ts
+++ b/src/server/api/endpoints/i/user-group-invites.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { UserGroupInvitations } from '../../../../models';
+import { UserGroupInvitations } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/messaging/history.ts b/src/server/api/endpoints/messaging/history.ts
index 5f4f02455d..e447703546 100644
--- a/src/server/api/endpoints/messaging/history.ts
+++ b/src/server/api/endpoints/messaging/history.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { MessagingMessage } from '../../../../models/entities/messaging-message';
-import { MessagingMessages, Mutings, UserGroupJoinings } from '../../../../models';
+import { MessagingMessage } from '@/models/entities/messaging-message';
+import { MessagingMessages, Mutings, UserGroupJoinings } from '@/models/index';
import { Brackets } from 'typeorm';
export const meta = {
diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts
index 087f5a7d62..6baa24609e 100644
--- a/src/server/api/endpoints/messaging/messages.ts
+++ b/src/server/api/endpoints/messaging/messages.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { MessagingMessages, UserGroups, UserGroupJoinings, Users } from '../../../../models';
+import { MessagingMessages, UserGroups, UserGroupJoinings, Users } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { Brackets } from 'typeorm';
import { readUserMessagingMessage, readGroupMessagingMessage, deliverReadActivity } from '../../common/read-messaging-message';
diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts
index a00513a24d..df0b455cbe 100644
--- a/src/server/api/endpoints/messaging/messages/create.ts
+++ b/src/server/api/endpoints/messaging/messages/create.ts
@@ -3,10 +3,10 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { MessagingMessages, DriveFiles, UserGroups, UserGroupJoinings, Blockings } from '../../../../../models';
-import { User } from '../../../../../models/entities/user';
-import { UserGroup } from '../../../../../models/entities/user-group';
-import { createMessage } from '../../../../../services/messages/create';
+import { MessagingMessages, DriveFiles, UserGroups, UserGroupJoinings, Blockings } from '@/models/index';
+import { User } from '@/models/entities/user';
+import { UserGroup } from '@/models/entities/user-group';
+import { createMessage } from '@/services/messages/create';
export const meta = {
tags: ['messaging'],
diff --git a/src/server/api/endpoints/messaging/messages/delete.ts b/src/server/api/endpoints/messaging/messages/delete.ts
index 5e5aa5fd13..bd4890fc8a 100644
--- a/src/server/api/endpoints/messaging/messages/delete.ts
+++ b/src/server/api/endpoints/messaging/messages/delete.ts
@@ -3,8 +3,8 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import * as ms from 'ms';
import { ApiError } from '../../../error';
-import { MessagingMessages } from '../../../../../models';
-import { deleteMessage } from '../../../../../services/messages/delete';
+import { MessagingMessages } from '@/models/index';
+import { deleteMessage } from '@/services/messages/delete';
export const meta = {
tags: ['messaging'],
diff --git a/src/server/api/endpoints/messaging/messages/read.ts b/src/server/api/endpoints/messaging/messages/read.ts
index b17927da3f..a1747310d3 100644
--- a/src/server/api/endpoints/messaging/messages/read.ts
+++ b/src/server/api/endpoints/messaging/messages/read.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { MessagingMessages } from '../../../../../models';
+import { MessagingMessages } from '@/models/index';
import { readUserMessagingMessage, readGroupMessagingMessage } from '../../../common/read-messaging-message';
export const meta = {
diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts
index 561d473d6f..1c87952f6a 100644
--- a/src/server/api/endpoints/meta.ts
+++ b/src/server/api/endpoints/meta.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
-import config from '@/config';
+import config from '@/config/index';
import define from '../define';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Ads, Emojis, Users } from '../../../models';
+import { Ads, Emojis, Users } from '@/models/index';
import { DB_MAX_NOTE_TEXT_LENGTH } from '@/misc/hard-limits';
import { MoreThan } from 'typeorm';
diff --git a/src/server/api/endpoints/miauth/gen-token.ts b/src/server/api/endpoints/miauth/gen-token.ts
index 68ef00eb28..321fa42fc9 100644
--- a/src/server/api/endpoints/miauth/gen-token.ts
+++ b/src/server/api/endpoints/miauth/gen-token.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens } from '../../../../models';
+import { AccessTokens } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { secureRndstr } from '@/misc/secure-rndstr';
diff --git a/src/server/api/endpoints/mute/create.ts b/src/server/api/endpoints/mute/create.ts
index 7f018a359a..5163ed63db 100644
--- a/src/server/api/endpoints/mute/create.ts
+++ b/src/server/api/endpoints/mute/create.ts
@@ -4,9 +4,9 @@ import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
import { genId } from '@/misc/gen-id';
-import { Mutings, NoteWatchings } from '../../../../models';
-import { Muting } from '../../../../models/entities/muting';
-import { publishUserEvent } from '../../../../services/stream';
+import { Mutings, NoteWatchings } from '@/models/index';
+import { Muting } from '@/models/entities/muting';
+import { publishUserEvent } from '@/services/stream';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/mute/delete.ts b/src/server/api/endpoints/mute/delete.ts
index bfb6a95e32..3ffd1f4562 100644
--- a/src/server/api/endpoints/mute/delete.ts
+++ b/src/server/api/endpoints/mute/delete.ts
@@ -3,8 +3,8 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { Mutings } from '../../../../models';
-import { publishUserEvent } from '../../../../services/stream';
+import { Mutings } from '@/models/index';
+import { publishUserEvent } from '@/services/stream';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/mute/list.ts b/src/server/api/endpoints/mute/list.ts
index 45952ec72e..ae4c3a719d 100644
--- a/src/server/api/endpoints/mute/list.ts
+++ b/src/server/api/endpoints/mute/list.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Mutings } from '../../../../models';
+import { Mutings } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/my/apps.ts b/src/server/api/endpoints/my/apps.ts
index 908e24e1ba..d91562b62f 100644
--- a/src/server/api/endpoints/my/apps.ts
+++ b/src/server/api/endpoints/my/apps.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Apps } from '../../../../models';
+import { Apps } from '@/models/index';
export const meta = {
tags: ['account', 'app'],
diff --git a/src/server/api/endpoints/notes.ts b/src/server/api/endpoints/notes.ts
index fdb8bad247..a3f6e187f2 100644
--- a/src/server/api/endpoints/notes.ts
+++ b/src/server/api/endpoints/notes.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../define';
import { makePaginationQuery } from '../common/make-pagination-query';
-import { Notes } from '../../../models';
+import { Notes } from '@/models/index';
export const meta = {
tags: ['notes'],
diff --git a/src/server/api/endpoints/notes/children.ts b/src/server/api/endpoints/notes/children.ts
index f4d2958810..68881fda9e 100644
--- a/src/server/api/endpoints/notes/children.ts
+++ b/src/server/api/endpoints/notes/children.ts
@@ -5,7 +5,7 @@ import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
import { Brackets } from 'typeorm';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateBlockedUserQuery } from '../../common/generate-block-query';
export const meta = {
diff --git a/src/server/api/endpoints/notes/clips.ts b/src/server/api/endpoints/notes/clips.ts
index d116370b46..6b303d87ec 100644
--- a/src/server/api/endpoints/notes/clips.ts
+++ b/src/server/api/endpoints/notes/clips.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { ClipNotes, Clips } from '../../../../models';
+import { ClipNotes, Clips } from '@/models/index';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
import { In } from 'typeorm';
diff --git a/src/server/api/endpoints/notes/conversation.ts b/src/server/api/endpoints/notes/conversation.ts
index 0fd10df077..0fe323ea00 100644
--- a/src/server/api/endpoints/notes/conversation.ts
+++ b/src/server/api/endpoints/notes/conversation.ts
@@ -3,8 +3,8 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
import { getNote } from '../../common/getters';
-import { Note } from '../../../../models/entities/note';
-import { Notes } from '../../../../models';
+import { Note } from '@/models/entities/note';
+import { Notes } from '@/models/index';
export const meta = {
tags: ['notes'],
diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts
index 9c055683f7..751673f955 100644
--- a/src/server/api/endpoints/notes/create.ts
+++ b/src/server/api/endpoints/notes/create.ts
@@ -1,18 +1,18 @@
import $ from 'cafy';
import * as ms from 'ms';
import { length } from 'stringz';
-import create from '../../../../services/note/create';
+import create from '@/services/note/create';
import define from '../../define';
import { fetchMeta } from '@/misc/fetch-meta';
import { ApiError } from '../../error';
import { ID } from '@/misc/cafy-id';
-import { User } from '../../../../models/entities/user';
-import { Users, DriveFiles, Notes, Channels, Blockings } from '../../../../models';
-import { DriveFile } from '../../../../models/entities/drive-file';
-import { Note } from '../../../../models/entities/note';
+import { User } from '@/models/entities/user';
+import { Users, DriveFiles, Notes, Channels, Blockings } from '@/models/index';
+import { DriveFile } from '@/models/entities/drive-file';
+import { Note } from '@/models/entities/note';
import { DB_MAX_NOTE_TEXT_LENGTH } from '@/misc/hard-limits';
import { noteVisibilities } from '../../../../types';
-import { Channel } from '../../../../models/entities/channel';
+import { Channel } from '@/models/entities/channel';
let maxNoteTextLength = 500;
diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts
index 6a0652312a..7163a2b9d2 100644
--- a/src/server/api/endpoints/notes/delete.ts
+++ b/src/server/api/endpoints/notes/delete.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import deleteNote from '../../../../services/note/delete';
+import deleteNote from '@/services/note/delete';
import define from '../../define';
import * as ms from 'ms';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['notes'],
diff --git a/src/server/api/endpoints/notes/favorites/create.ts b/src/server/api/endpoints/notes/favorites/create.ts
index b77b5d48ff..1bb25edd7f 100644
--- a/src/server/api/endpoints/notes/favorites/create.ts
+++ b/src/server/api/endpoints/notes/favorites/create.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getNote } from '../../../common/getters';
-import { NoteFavorites } from '../../../../../models';
+import { NoteFavorites } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/notes/favorites/delete.ts b/src/server/api/endpoints/notes/favorites/delete.ts
index 4a1fc71a0d..75eb9a359a 100644
--- a/src/server/api/endpoints/notes/favorites/delete.ts
+++ b/src/server/api/endpoints/notes/favorites/delete.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getNote } from '../../../common/getters';
-import { NoteFavorites } from '../../../../../models';
+import { NoteFavorites } from '@/models/index';
export const meta = {
tags: ['notes', 'favorites'],
diff --git a/src/server/api/endpoints/notes/featured.ts b/src/server/api/endpoints/notes/featured.ts
index 44c0fb23ab..8d33c0e73d 100644
--- a/src/server/api/endpoints/notes/featured.ts
+++ b/src/server/api/endpoints/notes/featured.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateBlockedUserQuery } from '../../common/generate-block-query';
export const meta = {
diff --git a/src/server/api/endpoints/notes/global-timeline.ts b/src/server/api/endpoints/notes/global-timeline.ts
index 96bfde5aa2..5902c0415c 100644
--- a/src/server/api/endpoints/notes/global-timeline.ts
+++ b/src/server/api/endpoints/notes/global-timeline.ts
@@ -4,9 +4,9 @@ import define from '../../define';
import { fetchMeta } from '@/misc/fetch-meta';
import { ApiError } from '../../error';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
-import { activeUsersChart } from '../../../../services/chart';
+import { activeUsersChart } from '@/services/chart/index';
import { generateRepliesQuery } from '../../common/generate-replies-query';
import { generateMutedNoteQuery } from '../../common/generate-muted-note-query';
import { generateBlockedUserQuery } from '../../common/generate-block-query';
diff --git a/src/server/api/endpoints/notes/hybrid-timeline.ts b/src/server/api/endpoints/notes/hybrid-timeline.ts
index 91a36fd0cc..47f08f208b 100644
--- a/src/server/api/endpoints/notes/hybrid-timeline.ts
+++ b/src/server/api/endpoints/notes/hybrid-timeline.ts
@@ -4,11 +4,11 @@ import define from '../../define';
import { fetchMeta } from '@/misc/fetch-meta';
import { ApiError } from '../../error';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Followings, Notes } from '../../../../models';
+import { Followings, Notes } from '@/models/index';
import { Brackets } from 'typeorm';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
-import { activeUsersChart } from '../../../../services/chart';
+import { activeUsersChart } from '@/services/chart/index';
import { generateRepliesQuery } from '../../common/generate-replies-query';
import { generateMutedNoteQuery } from '../../common/generate-muted-note-query';
import { generateChannelQuery } from '../../common/generate-channel-query';
diff --git a/src/server/api/endpoints/notes/local-timeline.ts b/src/server/api/endpoints/notes/local-timeline.ts
index 4f481b599d..f670d478bf 100644
--- a/src/server/api/endpoints/notes/local-timeline.ts
+++ b/src/server/api/endpoints/notes/local-timeline.ts
@@ -3,11 +3,11 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { fetchMeta } from '@/misc/fetch-meta';
import { ApiError } from '../../error';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
-import { activeUsersChart } from '../../../../services/chart';
+import { activeUsersChart } from '@/services/chart/index';
import { Brackets } from 'typeorm';
import { generateRepliesQuery } from '../../common/generate-replies-query';
import { generateMutedNoteQuery } from '../../common/generate-muted-note-query';
diff --git a/src/server/api/endpoints/notes/mentions.ts b/src/server/api/endpoints/notes/mentions.ts
index 6a2358228b..74f7911bfe 100644
--- a/src/server/api/endpoints/notes/mentions.ts
+++ b/src/server/api/endpoints/notes/mentions.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import read from '../../../../services/note/read';
-import { Notes, Followings } from '../../../../models';
+import read from '@/services/note/read';
+import { Notes, Followings } from '@/models/index';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
import { makePaginationQuery } from '../../common/make-pagination-query';
diff --git a/src/server/api/endpoints/notes/polls/recommendation.ts b/src/server/api/endpoints/notes/polls/recommendation.ts
index af8a527398..0763f0c8fd 100644
--- a/src/server/api/endpoints/notes/polls/recommendation.ts
+++ b/src/server/api/endpoints/notes/polls/recommendation.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { Polls, Mutings, Notes, PollVotes } from '../../../../../models';
+import { Polls, Mutings, Notes, PollVotes } from '@/models/index';
import { Brackets, In } from 'typeorm';
export const meta = {
diff --git a/src/server/api/endpoints/notes/polls/vote.ts b/src/server/api/endpoints/notes/polls/vote.ts
index 6f2892960f..f670501385 100644
--- a/src/server/api/endpoints/notes/polls/vote.ts
+++ b/src/server/api/endpoints/notes/polls/vote.ts
@@ -1,17 +1,17 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishNoteStream } from '../../../../../services/stream';
-import { createNotification } from '../../../../../services/create-notification';
+import { publishNoteStream } from '@/services/stream';
+import { createNotification } from '@/services/create-notification';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getNote } from '../../../common/getters';
-import { deliver } from '../../../../../queue';
-import { renderActivity } from '../../../../../remote/activitypub/renderer';
-import renderVote from '../../../../../remote/activitypub/renderer/vote';
-import { deliverQuestionUpdate } from '../../../../../services/note/polls/update';
-import { PollVotes, NoteWatchings, Users, Polls, Blockings } from '../../../../../models';
+import { deliver } from '@/queue/index';
+import { renderActivity } from '@/remote/activitypub/renderer/index';
+import renderVote from '@/remote/activitypub/renderer/vote';
+import { deliverQuestionUpdate } from '@/services/note/polls/update';
+import { PollVotes, NoteWatchings, Users, Polls, Blockings } from '@/models/index';
import { Not } from 'typeorm';
-import { IRemoteUser } from '../../../../../models/entities/user';
+import { IRemoteUser } from '@/models/entities/user';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/notes/reactions.ts b/src/server/api/endpoints/notes/reactions.ts
index df780bfa06..09dd6b600b 100644
--- a/src/server/api/endpoints/notes/reactions.ts
+++ b/src/server/api/endpoints/notes/reactions.ts
@@ -3,9 +3,9 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
-import { NoteReactions } from '../../../../models';
+import { NoteReactions } from '@/models/index';
import { DeepPartial } from 'typeorm';
-import { NoteReaction } from '../../../../models/entities/note-reaction';
+import { NoteReaction } from '@/models/entities/note-reaction';
export const meta = {
tags: ['notes', 'reactions'],
diff --git a/src/server/api/endpoints/notes/reactions/create.ts b/src/server/api/endpoints/notes/reactions/create.ts
index 3243332c50..24a73a8d4f 100644
--- a/src/server/api/endpoints/notes/reactions/create.ts
+++ b/src/server/api/endpoints/notes/reactions/create.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import createReaction from '../../../../../services/note/reaction/create';
+import createReaction from '@/services/note/reaction/create';
import define from '../../../define';
import { getNote } from '../../../common/getters';
import { ApiError } from '../../../error';
diff --git a/src/server/api/endpoints/notes/reactions/delete.ts b/src/server/api/endpoints/notes/reactions/delete.ts
index b18cb533d6..69550f96de 100644
--- a/src/server/api/endpoints/notes/reactions/delete.ts
+++ b/src/server/api/endpoints/notes/reactions/delete.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import * as ms from 'ms';
-import deleteReaction from '../../../../../services/note/reaction/delete';
+import deleteReaction from '@/services/note/reaction/delete';
import { getNote } from '../../../common/getters';
import { ApiError } from '../../../error';
diff --git a/src/server/api/endpoints/notes/renotes.ts b/src/server/api/endpoints/notes/renotes.ts
index 5e3b3ccbc6..26bfc1657d 100644
--- a/src/server/api/endpoints/notes/renotes.ts
+++ b/src/server/api/endpoints/notes/renotes.ts
@@ -6,7 +6,7 @@ import { ApiError } from '../../error';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateBlockedUserQuery } from '../../common/generate-block-query';
export const meta = {
diff --git a/src/server/api/endpoints/notes/replies.ts b/src/server/api/endpoints/notes/replies.ts
index 7960078c8e..0bb62413ae 100644
--- a/src/server/api/endpoints/notes/replies.ts
+++ b/src/server/api/endpoints/notes/replies.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
diff --git a/src/server/api/endpoints/notes/search-by-tag.ts b/src/server/api/endpoints/notes/search-by-tag.ts
index 39d99babac..40e1499736 100644
--- a/src/server/api/endpoints/notes/search-by-tag.ts
+++ b/src/server/api/endpoints/notes/search-by-tag.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { Brackets } from 'typeorm';
diff --git a/src/server/api/endpoints/notes/search.ts b/src/server/api/endpoints/notes/search.ts
index 0e0eaa06a8..eb832a6b31 100644
--- a/src/server/api/endpoints/notes/search.ts
+++ b/src/server/api/endpoints/notes/search.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import es from '../../../../db/elasticsearch';
import define from '../../define';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { In } from 'typeorm';
import { ID } from '@/misc/cafy-id';
-import config from '@/config';
+import config from '@/config/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
diff --git a/src/server/api/endpoints/notes/show.ts b/src/server/api/endpoints/notes/show.ts
index fc8e30788d..fad63d6483 100644
--- a/src/server/api/endpoints/notes/show.ts
+++ b/src/server/api/endpoints/notes/show.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
export const meta = {
tags: ['notes'],
diff --git a/src/server/api/endpoints/notes/state.ts b/src/server/api/endpoints/notes/state.ts
index 8af09f07dd..489902435d 100644
--- a/src/server/api/endpoints/notes/state.ts
+++ b/src/server/api/endpoints/notes/state.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { NoteFavorites, NoteWatchings } from '../../../../models';
+import { NoteFavorites, NoteWatchings } from '@/models/index';
export const meta = {
tags: ['notes'],
diff --git a/src/server/api/endpoints/notes/timeline.ts b/src/server/api/endpoints/notes/timeline.ts
index 5f03400919..1bd0e57d34 100644
--- a/src/server/api/endpoints/notes/timeline.ts
+++ b/src/server/api/endpoints/notes/timeline.ts
@@ -2,10 +2,10 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notes, Followings } from '../../../../models';
+import { Notes, Followings } from '@/models/index';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
-import { activeUsersChart } from '../../../../services/chart';
+import { activeUsersChart } from '@/services/chart/index';
import { Brackets } from 'typeorm';
import { generateRepliesQuery } from '../../common/generate-replies-query';
import { generateMutedNoteQuery } from '../../common/generate-muted-note-query';
diff --git a/src/server/api/endpoints/notes/translate.ts b/src/server/api/endpoints/notes/translate.ts
index 67c02432c8..a5fdf70ce6 100644
--- a/src/server/api/endpoints/notes/translate.ts
+++ b/src/server/api/endpoints/notes/translate.ts
@@ -4,7 +4,7 @@ import define from '../../define';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
import fetch from 'node-fetch';
-import config from '@/config';
+import config from '@/config/index';
import { getAgentByUrl } from '@/misc/fetch';
import { URLSearchParams } from 'url';
import { fetchMeta } from '@/misc/fetch-meta';
diff --git a/src/server/api/endpoints/notes/unrenote.ts b/src/server/api/endpoints/notes/unrenote.ts
index 5e016f293f..dce43d9d9c 100644
--- a/src/server/api/endpoints/notes/unrenote.ts
+++ b/src/server/api/endpoints/notes/unrenote.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import deleteNote from '../../../../services/note/delete';
+import deleteNote from '@/services/note/delete';
import define from '../../define';
import * as ms from 'ms';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
-import { Notes, Users } from '../../../../models';
+import { Notes, Users } from '@/models/index';
export const meta = {
tags: ['notes'],
diff --git a/src/server/api/endpoints/notes/user-list-timeline.ts b/src/server/api/endpoints/notes/user-list-timeline.ts
index e160fff25a..32c370004c 100644
--- a/src/server/api/endpoints/notes/user-list-timeline.ts
+++ b/src/server/api/endpoints/notes/user-list-timeline.ts
@@ -2,10 +2,10 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { UserLists, UserListJoinings, Notes } from '../../../../models';
+import { UserLists, UserListJoinings, Notes } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
-import { activeUsersChart } from '../../../../services/chart';
+import { activeUsersChart } from '@/services/chart/index';
import { Brackets } from 'typeorm';
export const meta = {
diff --git a/src/server/api/endpoints/notes/watching/create.ts b/src/server/api/endpoints/notes/watching/create.ts
index 74d31fe1a3..4d182d3715 100644
--- a/src/server/api/endpoints/notes/watching/create.ts
+++ b/src/server/api/endpoints/notes/watching/create.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import watch from '../../../../../services/note/watch';
+import watch from '@/services/note/watch';
import { getNote } from '../../../common/getters';
import { ApiError } from '../../../error';
diff --git a/src/server/api/endpoints/notes/watching/delete.ts b/src/server/api/endpoints/notes/watching/delete.ts
index a91d72be05..dd58c52b57 100644
--- a/src/server/api/endpoints/notes/watching/delete.ts
+++ b/src/server/api/endpoints/notes/watching/delete.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import unwatch from '../../../../../services/note/unwatch';
+import unwatch from '@/services/note/unwatch';
import { getNote } from '../../../common/getters';
import { ApiError } from '../../../error';
diff --git a/src/server/api/endpoints/notifications/create.ts b/src/server/api/endpoints/notifications/create.ts
index 6267699e90..8003c497ee 100644
--- a/src/server/api/endpoints/notifications/create.ts
+++ b/src/server/api/endpoints/notifications/create.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { createNotification } from '../../../../services/create-notification';
+import { createNotification } from '@/services/create-notification';
export const meta = {
tags: ['notifications'],
diff --git a/src/server/api/endpoints/notifications/mark-all-as-read.ts b/src/server/api/endpoints/notifications/mark-all-as-read.ts
index cce54587c7..8d4e512750 100644
--- a/src/server/api/endpoints/notifications/mark-all-as-read.ts
+++ b/src/server/api/endpoints/notifications/mark-all-as-read.ts
@@ -1,6 +1,6 @@
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { Notifications } from '../../../../models';
+import { Notifications } from '@/models/index';
export const meta = {
tags: ['notifications', 'account'],
diff --git a/src/server/api/endpoints/notifications/read.ts b/src/server/api/endpoints/notifications/read.ts
index fe8e5ba44f..66bbc4efd7 100644
--- a/src/server/api/endpoints/notifications/read.ts
+++ b/src/server/api/endpoints/notifications/read.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { Notifications } from '../../../../models';
+import { Notifications } from '@/models/index';
import { readNotification } from '../../common/read-notification';
import { ApiError } from '../../error';
diff --git a/src/server/api/endpoints/page-push.ts b/src/server/api/endpoints/page-push.ts
index 9ec9f9184c..a0412e89f1 100644
--- a/src/server/api/endpoints/page-push.ts
+++ b/src/server/api/endpoints/page-push.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../define';
import { ID } from '@/misc/cafy-id';
-import { publishMainStream } from '../../../services/stream';
-import { Users, Pages } from '../../../models';
+import { publishMainStream } from '@/services/stream';
+import { Users, Pages } from '@/models/index';
import { ApiError } from '../error';
export const meta = {
diff --git a/src/server/api/endpoints/pages/create.ts b/src/server/api/endpoints/pages/create.ts
index 07e0969bdd..c23978f093 100644
--- a/src/server/api/endpoints/pages/create.ts
+++ b/src/server/api/endpoints/pages/create.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import * as ms from 'ms';
import define from '../../define';
import { ID } from '@/misc/cafy-id';
-import { Pages, DriveFiles } from '../../../../models';
+import { Pages, DriveFiles } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { Page } from '../../../../models/entities/page';
+import { Page } from '@/models/entities/page';
import { ApiError } from '../../error';
export const meta = {
diff --git a/src/server/api/endpoints/pages/delete.ts b/src/server/api/endpoints/pages/delete.ts
index 12a3360e43..b1f8c8a709 100644
--- a/src/server/api/endpoints/pages/delete.ts
+++ b/src/server/api/endpoints/pages/delete.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
-import { Pages } from '../../../../models';
+import { Pages } from '@/models/index';
import { ID } from '@/misc/cafy-id';
export const meta = {
diff --git a/src/server/api/endpoints/pages/featured.ts b/src/server/api/endpoints/pages/featured.ts
index 19802d0448..f891c45f05 100644
--- a/src/server/api/endpoints/pages/featured.ts
+++ b/src/server/api/endpoints/pages/featured.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { Pages } from '../../../../models';
+import { Pages } from '@/models/index';
export const meta = {
tags: ['pages'],
diff --git a/src/server/api/endpoints/pages/like.ts b/src/server/api/endpoints/pages/like.ts
index bed8e975ec..a95a377802 100644
--- a/src/server/api/endpoints/pages/like.ts
+++ b/src/server/api/endpoints/pages/like.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Pages, PageLikes } from '../../../../models';
+import { Pages, PageLikes } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/pages/show.ts b/src/server/api/endpoints/pages/show.ts
index d4d04bccff..7c55d4a9e6 100644
--- a/src/server/api/endpoints/pages/show.ts
+++ b/src/server/api/endpoints/pages/show.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
-import { Pages, Users } from '../../../../models';
+import { Pages, Users } from '@/models/index';
import { ID } from '@/misc/cafy-id';
-import { Page } from '../../../../models/entities/page';
+import { Page } from '@/models/entities/page';
export const meta = {
tags: ['pages'],
diff --git a/src/server/api/endpoints/pages/unlike.ts b/src/server/api/endpoints/pages/unlike.ts
index a5e22a2c7b..facf2d6d5f 100644
--- a/src/server/api/endpoints/pages/unlike.ts
+++ b/src/server/api/endpoints/pages/unlike.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Pages, PageLikes } from '../../../../models';
+import { Pages, PageLikes } from '@/models/index';
export const meta = {
tags: ['pages'],
diff --git a/src/server/api/endpoints/pages/update.ts b/src/server/api/endpoints/pages/update.ts
index 6d1ae4c6fe..b3a7f26963 100644
--- a/src/server/api/endpoints/pages/update.ts
+++ b/src/server/api/endpoints/pages/update.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import * as ms from 'ms';
import define from '../../define';
import { ApiError } from '../../error';
-import { Pages, DriveFiles } from '../../../../models';
+import { Pages, DriveFiles } from '@/models/index';
import { ID } from '@/misc/cafy-id';
import { Not } from 'typeorm';
diff --git a/src/server/api/endpoints/pinned-users.ts b/src/server/api/endpoints/pinned-users.ts
index bcef072fed..e88dfbd535 100644
--- a/src/server/api/endpoints/pinned-users.ts
+++ b/src/server/api/endpoints/pinned-users.ts
@@ -1,8 +1,8 @@
import define from '../define';
-import { Users } from '../../../models';
+import { Users } from '@/models/index';
import { fetchMeta } from '@/misc/fetch-meta';
import { parseAcct } from '@/misc/acct';
-import { User } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/endpoints/promo/read.ts b/src/server/api/endpoints/promo/read.ts
index 32b543295d..ae57bf9cf1 100644
--- a/src/server/api/endpoints/promo/read.ts
+++ b/src/server/api/endpoints/promo/read.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
import { getNote } from '../../common/getters';
-import { PromoReads } from '../../../../models';
+import { PromoReads } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/request-reset-password.ts b/src/server/api/endpoints/request-reset-password.ts
index c880df7527..f9928c2ee6 100644
--- a/src/server/api/endpoints/request-reset-password.ts
+++ b/src/server/api/endpoints/request-reset-password.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
-import { publishMainStream } from '../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../define';
import rndstr from 'rndstr';
-import config from '@/config';
+import config from '@/config/index';
import * as ms from 'ms';
-import { Users, UserProfiles, PasswordResetRequests } from '../../../models';
-import { sendEmail } from '../../../services/send-email';
+import { Users, UserProfiles, PasswordResetRequests } from '@/models/index';
+import { sendEmail } from '@/services/send-email';
import { ApiError } from '../error';
import { genId } from '@/misc/gen-id';
import { IsNull } from 'typeorm';
diff --git a/src/server/api/endpoints/reset-password.ts b/src/server/api/endpoints/reset-password.ts
index 5f79bdbd00..53b0bfde0b 100644
--- a/src/server/api/endpoints/reset-password.ts
+++ b/src/server/api/endpoints/reset-password.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
-import { publishMainStream } from '../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../define';
-import { Users, UserProfiles, PasswordResetRequests } from '../../../models';
+import { Users, UserProfiles, PasswordResetRequests } from '@/models/index';
import { ApiError } from '../error';
export const meta = {
diff --git a/src/server/api/endpoints/room/show.ts b/src/server/api/endpoints/room/show.ts
index 85cd57aef4..a6461d4a6e 100644
--- a/src/server/api/endpoints/room/show.ts
+++ b/src/server/api/endpoints/room/show.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users, UserProfiles } from '../../../../models';
+import { Users, UserProfiles } from '@/models/index';
import { ID } from '@/misc/cafy-id';
import { toPunyNullable } from '@/misc/convert-host';
diff --git a/src/server/api/endpoints/room/update.ts b/src/server/api/endpoints/room/update.ts
index af8b80be9a..8c4cfbdea6 100644
--- a/src/server/api/endpoints/room/update.ts
+++ b/src/server/api/endpoints/room/update.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { Users, UserProfiles } from '../../../../models';
+import { Users, UserProfiles } from '@/models/index';
export const meta = {
tags: ['room'],
diff --git a/src/server/api/endpoints/stats.ts b/src/server/api/endpoints/stats.ts
index f9c17f86eb..15c8001742 100644
--- a/src/server/api/endpoints/stats.ts
+++ b/src/server/api/endpoints/stats.ts
@@ -1,6 +1,6 @@
import define from '../define';
-import { NoteReactions, Notes, Users } from '../../../models';
-import { federationChart, driveChart } from '../../../services/chart';
+import { NoteReactions, Notes, Users } from '@/models/index';
+import { federationChart, driveChart } from '@/services/chart/index';
export const meta = {
requireCredential: false as const,
diff --git a/src/server/api/endpoints/sw/register.ts b/src/server/api/endpoints/sw/register.ts
index 43d4118df6..6e14ba2669 100644
--- a/src/server/api/endpoints/sw/register.ts
+++ b/src/server/api/endpoints/sw/register.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import define from '../../define';
import { fetchMeta } from '@/misc/fetch-meta';
import { genId } from '@/misc/gen-id';
-import { SwSubscriptions } from '../../../../models';
+import { SwSubscriptions } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/sw/unregister.ts b/src/server/api/endpoints/sw/unregister.ts
new file mode 100644
index 0000000000..817ad1f517
--- /dev/null
+++ b/src/server/api/endpoints/sw/unregister.ts
@@ -0,0 +1,22 @@
+import $ from 'cafy';
+import define from '../../define';
+import { SwSubscriptions } from '../../../../models';
+
+export const meta = {
+ tags: ['account'],
+
+ requireCredential: true as const,
+
+ params: {
+ endpoint: {
+ validator: $.str
+ },
+ }
+};
+
+export default define(meta, async (ps, user) => {
+ await SwSubscriptions.delete({
+ userId: user.id,
+ endpoint: ps.endpoint,
+ });
+});
diff --git a/src/server/api/endpoints/username/available.ts b/src/server/api/endpoints/username/available.ts
index cd434b582e..1ae75448ea 100644
--- a/src/server/api/endpoints/username/available.ts
+++ b/src/server/api/endpoints/username/available.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Users, UsedUsernames } from '../../../../models';
+import { Users, UsedUsernames } from '@/models/index';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/endpoints/users.ts b/src/server/api/endpoints/users.ts
index 3c30f459da..930dcc7616 100644
--- a/src/server/api/endpoints/users.ts
+++ b/src/server/api/endpoints/users.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../define';
-import { Users } from '../../../models';
+import { Users } from '@/models/index';
import { generateMutedUserQueryForUsers } from '../common/generate-muted-user-query';
-import { generateBlockedUserQuery } from '../common/generate-block-query';
+import { generateBlockQueryForUsers } from '../common/generate-block-query';
export const meta = {
tags: ['users'],
@@ -90,7 +90,7 @@ export default define(meta, async (ps, me) => {
}
if (me) generateMutedUserQueryForUsers(query, me);
- if (me) generateBlockedUserQuery(query, me);
+ if (me) generateBlockQueryForUsers(query, me);
query.take(ps.limit!);
query.skip(ps.offset);
diff --git a/src/server/api/endpoints/users/clips.ts b/src/server/api/endpoints/users/clips.ts
index 12aa964034..8feca9422a 100644
--- a/src/server/api/endpoints/users/clips.ts
+++ b/src/server/api/endpoints/users/clips.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Clips } from '../../../../models';
+import { Clips } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/users/followers.ts b/src/server/api/endpoints/users/followers.ts
index c9fe36e4e4..e54b6078ee 100644
--- a/src/server/api/endpoints/users/followers.ts
+++ b/src/server/api/endpoints/users/followers.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users, Followings } from '../../../../models';
+import { Users, Followings } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { toPunyNullable } from '@/misc/convert-host';
diff --git a/src/server/api/endpoints/users/following.ts b/src/server/api/endpoints/users/following.ts
index c3dd90ff7e..f2ef7f47e1 100644
--- a/src/server/api/endpoints/users/following.ts
+++ b/src/server/api/endpoints/users/following.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users, Followings } from '../../../../models';
+import { Users, Followings } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { toPunyNullable } from '@/misc/convert-host';
diff --git a/src/server/api/endpoints/users/gallery/posts.ts b/src/server/api/endpoints/users/gallery/posts.ts
index 1da6bced5c..845de1089c 100644
--- a/src/server/api/endpoints/users/gallery/posts.ts
+++ b/src/server/api/endpoints/users/gallery/posts.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { GalleryPosts } from '../../../../../models';
+import { GalleryPosts } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/users/get-frequently-replied-users.ts b/src/server/api/endpoints/users/get-frequently-replied-users.ts
index bdfb7772ae..32ebfd683a 100644
--- a/src/server/api/endpoints/users/get-frequently-replied-users.ts
+++ b/src/server/api/endpoints/users/get-frequently-replied-users.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { maximum } from '../../../../prelude/array';
+import { maximum } from '@/prelude/array';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
import { Not, In, IsNull } from 'typeorm';
-import { Notes, Users } from '../../../../models';
+import { Notes, Users } from '@/models/index';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/endpoints/users/groups/create.ts b/src/server/api/endpoints/users/groups/create.ts
index 2cd0653baa..dc1ee3879e 100644
--- a/src/server/api/endpoints/users/groups/create.ts
+++ b/src/server/api/endpoints/users/groups/create.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import define from '../../../define';
-import { UserGroups, UserGroupJoinings } from '../../../../../models';
+import { UserGroups, UserGroupJoinings } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { UserGroup } from '../../../../../models/entities/user-group';
-import { UserGroupJoining } from '../../../../../models/entities/user-group-joining';
+import { UserGroup } from '@/models/entities/user-group';
+import { UserGroupJoining } from '@/models/entities/user-group-joining';
export const meta = {
tags: ['groups'],
diff --git a/src/server/api/endpoints/users/groups/delete.ts b/src/server/api/endpoints/users/groups/delete.ts
index 4c4a8c15b1..7da1b4a273 100644
--- a/src/server/api/endpoints/users/groups/delete.ts
+++ b/src/server/api/endpoints/users/groups/delete.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { UserGroups } from '../../../../../models';
+import { UserGroups } from '@/models/index';
export const meta = {
tags: ['groups'],
diff --git a/src/server/api/endpoints/users/groups/invitations/accept.ts b/src/server/api/endpoints/users/groups/invitations/accept.ts
index 943d158661..09e6ae2647 100644
--- a/src/server/api/endpoints/users/groups/invitations/accept.ts
+++ b/src/server/api/endpoints/users/groups/invitations/accept.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../../define';
import { ApiError } from '../../../../error';
-import { UserGroupJoinings, UserGroupInvitations } from '../../../../../../models';
+import { UserGroupJoinings, UserGroupInvitations } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { UserGroupJoining } from '../../../../../../models/entities/user-group-joining';
+import { UserGroupJoining } from '@/models/entities/user-group-joining';
export const meta = {
tags: ['groups', 'users'],
diff --git a/src/server/api/endpoints/users/groups/invitations/reject.ts b/src/server/api/endpoints/users/groups/invitations/reject.ts
index 4bc902ae5d..741fcefb35 100644
--- a/src/server/api/endpoints/users/groups/invitations/reject.ts
+++ b/src/server/api/endpoints/users/groups/invitations/reject.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../../define';
import { ApiError } from '../../../../error';
-import { UserGroupInvitations } from '../../../../../../models';
+import { UserGroupInvitations } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
diff --git a/src/server/api/endpoints/users/groups/invite.ts b/src/server/api/endpoints/users/groups/invite.ts
index 688b18f69d..f1ee8bf8b7 100644
--- a/src/server/api/endpoints/users/groups/invite.ts
+++ b/src/server/api/endpoints/users/groups/invite.ts
@@ -3,10 +3,10 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { UserGroups, UserGroupJoinings, UserGroupInvitations } from '../../../../../models';
+import { UserGroups, UserGroupJoinings, UserGroupInvitations } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { UserGroupInvitation } from '../../../../../models/entities/user-group-invitation';
-import { createNotification } from '../../../../../services/create-notification';
+import { UserGroupInvitation } from '@/models/entities/user-group-invitation';
+import { createNotification } from '@/services/create-notification';
export const meta = {
tags: ['groups', 'users'],
diff --git a/src/server/api/endpoints/users/groups/joined.ts b/src/server/api/endpoints/users/groups/joined.ts
index b25341c854..d5e8fe4032 100644
--- a/src/server/api/endpoints/users/groups/joined.ts
+++ b/src/server/api/endpoints/users/groups/joined.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { UserGroups, UserGroupJoinings } from '../../../../../models';
+import { UserGroups, UserGroupJoinings } from '@/models/index';
import { Not, In } from 'typeorm';
export const meta = {
diff --git a/src/server/api/endpoints/users/groups/owned.ts b/src/server/api/endpoints/users/groups/owned.ts
index e0b003c9e4..17de370dbc 100644
--- a/src/server/api/endpoints/users/groups/owned.ts
+++ b/src/server/api/endpoints/users/groups/owned.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { UserGroups } from '../../../../../models';
+import { UserGroups } from '@/models/index';
export const meta = {
tags: ['groups', 'account'],
diff --git a/src/server/api/endpoints/users/groups/pull.ts b/src/server/api/endpoints/users/groups/pull.ts
index d93a16bd9d..ce4d2e2881 100644
--- a/src/server/api/endpoints/users/groups/pull.ts
+++ b/src/server/api/endpoints/users/groups/pull.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { UserGroups, UserGroupJoinings } from '../../../../../models';
+import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
diff --git a/src/server/api/endpoints/users/groups/show.ts b/src/server/api/endpoints/users/groups/show.ts
index 1b71933c20..3c030bf3a5 100644
--- a/src/server/api/endpoints/users/groups/show.ts
+++ b/src/server/api/endpoints/users/groups/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { UserGroups, UserGroupJoinings } from '../../../../../models';
+import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'account'],
diff --git a/src/server/api/endpoints/users/groups/transfer.ts b/src/server/api/endpoints/users/groups/transfer.ts
index d6376993c9..17c42e1127 100644
--- a/src/server/api/endpoints/users/groups/transfer.ts
+++ b/src/server/api/endpoints/users/groups/transfer.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { UserGroups, UserGroupJoinings } from '../../../../../models';
+import { UserGroups, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['groups', 'users'],
diff --git a/src/server/api/endpoints/users/groups/update.ts b/src/server/api/endpoints/users/groups/update.ts
index a403152b4e..127bbc47a1 100644
--- a/src/server/api/endpoints/users/groups/update.ts
+++ b/src/server/api/endpoints/users/groups/update.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { UserGroups } from '../../../../../models';
+import { UserGroups } from '@/models/index';
export const meta = {
tags: ['groups'],
diff --git a/src/server/api/endpoints/users/lists/create.ts b/src/server/api/endpoints/users/lists/create.ts
index c524130089..e0bfe611fc 100644
--- a/src/server/api/endpoints/users/lists/create.ts
+++ b/src/server/api/endpoints/users/lists/create.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import define from '../../../define';
-import { UserLists } from '../../../../../models';
+import { UserLists } from '@/models/index';
import { genId } from '@/misc/gen-id';
-import { UserList } from '../../../../../models/entities/user-list';
+import { UserList } from '@/models/entities/user-list';
export const meta = {
tags: ['lists'],
diff --git a/src/server/api/endpoints/users/lists/delete.ts b/src/server/api/endpoints/users/lists/delete.ts
index ecae5641c5..5fe3bfb03d 100644
--- a/src/server/api/endpoints/users/lists/delete.ts
+++ b/src/server/api/endpoints/users/lists/delete.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { UserLists } from '../../../../../models';
+import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists'],
diff --git a/src/server/api/endpoints/users/lists/list.ts b/src/server/api/endpoints/users/lists/list.ts
index 1548208714..cf0c92bb84 100644
--- a/src/server/api/endpoints/users/lists/list.ts
+++ b/src/server/api/endpoints/users/lists/list.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { UserLists } from '../../../../../models';
+import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists', 'account'],
diff --git a/src/server/api/endpoints/users/lists/pull.ts b/src/server/api/endpoints/users/lists/pull.ts
index f8b5df0fc5..d4357fc5e7 100644
--- a/src/server/api/endpoints/users/lists/pull.ts
+++ b/src/server/api/endpoints/users/lists/pull.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { publishUserListStream } from '../../../../../services/stream';
+import { publishUserListStream } from '@/services/stream';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { UserLists, UserListJoinings, Users } from '../../../../../models';
+import { UserLists, UserListJoinings, Users } from '@/models/index';
export const meta = {
tags: ['lists', 'users'],
diff --git a/src/server/api/endpoints/users/lists/push.ts b/src/server/api/endpoints/users/lists/push.ts
index 7bb6fc7f79..8e21059d3d 100644
--- a/src/server/api/endpoints/users/lists/push.ts
+++ b/src/server/api/endpoints/users/lists/push.ts
@@ -3,8 +3,8 @@ import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
import { getUser } from '../../../common/getters';
-import { pushUserToUserList } from '../../../../../services/user-list/push';
-import { UserLists, UserListJoinings, Blockings } from '../../../../../models';
+import { pushUserToUserList } from '@/services/user-list/push';
+import { UserLists, UserListJoinings, Blockings } from '@/models/index';
export const meta = {
tags: ['lists', 'users'],
diff --git a/src/server/api/endpoints/users/lists/show.ts b/src/server/api/endpoints/users/lists/show.ts
index ff9ed001f7..f9a35cdab3 100644
--- a/src/server/api/endpoints/users/lists/show.ts
+++ b/src/server/api/endpoints/users/lists/show.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { UserLists } from '../../../../../models';
+import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists', 'account'],
diff --git a/src/server/api/endpoints/users/lists/update.ts b/src/server/api/endpoints/users/lists/update.ts
index eaa420a5b9..1185af5043 100644
--- a/src/server/api/endpoints/users/lists/update.ts
+++ b/src/server/api/endpoints/users/lists/update.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
import { ApiError } from '../../../error';
-import { UserLists } from '../../../../../models';
+import { UserLists } from '@/models/index';
export const meta = {
tags: ['lists'],
diff --git a/src/server/api/endpoints/users/notes.ts b/src/server/api/endpoints/users/notes.ts
index 836c3c97b7..0afbad9d04 100644
--- a/src/server/api/endpoints/users/notes.ts
+++ b/src/server/api/endpoints/users/notes.ts
@@ -5,7 +5,7 @@ import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
import { makePaginationQuery } from '../../common/make-pagination-query';
import { generateVisibilityQuery } from '../../common/generate-visibility-query';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { generateMutedUserQuery } from '../../common/generate-muted-user-query';
import { Brackets } from 'typeorm';
import { generateBlockedUserQuery } from '../../common/generate-block-query';
diff --git a/src/server/api/endpoints/users/pages.ts b/src/server/api/endpoints/users/pages.ts
index b9f37f3210..24e9e207fd 100644
--- a/src/server/api/endpoints/users/pages.ts
+++ b/src/server/api/endpoints/users/pages.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Pages } from '../../../../models';
+import { Pages } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts
index fba4f4f682..dde6bb1037 100644
--- a/src/server/api/endpoints/users/recommendation.ts
+++ b/src/server/api/endpoints/users/recommendation.ts
@@ -1,7 +1,7 @@
import * as ms from 'ms';
import $ from 'cafy';
import define from '../../define';
-import { Users, Followings } from '../../../../models';
+import { Users, Followings } from '@/models/index';
import { generateMutedUserQueryForUsers } from '../../common/generate-muted-user-query';
import { generateBlockedUserQuery, generateBlockQueryForUsers } from '../../common/generate-block-query';
diff --git a/src/server/api/endpoints/users/relation.ts b/src/server/api/endpoints/users/relation.ts
index 18ec5d44b3..32d76a5322 100644
--- a/src/server/api/endpoints/users/relation.ts
+++ b/src/server/api/endpoints/users/relation.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
import { ID } from '@/misc/cafy-id';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/endpoints/users/report-abuse.ts b/src/server/api/endpoints/users/report-abuse.ts
index 776d683700..2c8672cd47 100644
--- a/src/server/api/endpoints/users/report-abuse.ts
+++ b/src/server/api/endpoints/users/report-abuse.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { publishAdminStream } from '../../../../services/stream';
+import { publishAdminStream } from '@/services/stream';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
-import { AbuseUserReports, Users } from '../../../../models';
+import { AbuseUserReports, Users } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/users/search-by-username-and-host.ts b/src/server/api/endpoints/users/search-by-username-and-host.ts
index 13c5a18dbe..b9fbf48fb2 100644
--- a/src/server/api/endpoints/users/search-by-username-and-host.ts
+++ b/src/server/api/endpoints/users/search-by-username-and-host.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/endpoints/users/search.ts b/src/server/api/endpoints/users/search.ts
index c183194c41..8011d90b3d 100644
--- a/src/server/api/endpoints/users/search.ts
+++ b/src/server/api/endpoints/users/search.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import define from '../../define';
-import { UserProfiles, Users } from '../../../../models';
-import { User } from '../../../../models/entities/user';
+import { UserProfiles, Users } from '@/models/index';
+import { User } from '@/models/entities/user';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/endpoints/users/show.ts b/src/server/api/endpoints/users/show.ts
index fde2b5a14d..f056983636 100644
--- a/src/server/api/endpoints/users/show.ts
+++ b/src/server/api/endpoints/users/show.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
-import { resolveUser } from '../../../../remote/resolve-user';
+import { resolveUser } from '@/remote/resolve-user';
import define from '../../define';
import { apiLogger } from '../../logger';
import { ApiError } from '../../error';
import { ID } from '@/misc/cafy-id';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
import { In } from 'typeorm';
import { User } from '@/models/entities/user';
diff --git a/src/server/api/endpoints/users/stats.ts b/src/server/api/endpoints/users/stats.ts
index 6763c1774e..ef8afd5625 100644
--- a/src/server/api/endpoints/users/stats.ts
+++ b/src/server/api/endpoints/users/stats.ts
@@ -2,7 +2,7 @@ import $ from 'cafy';
import define from '../../define';
import { ApiError } from '../../error';
import { ID } from '@/misc/cafy-id';
-import { DriveFiles, Followings, NoteFavorites, NoteReactions, Notes, PageLikes, PollVotes, ReversiGames, Users } from '../../../../models';
+import { DriveFiles, Followings, NoteFavorites, NoteReactions, Notes, PageLikes, PollVotes, ReversiGames, Users } from '@/models/index';
export const meta = {
tags: ['users'],
diff --git a/src/server/api/index.ts b/src/server/api/index.ts
index aec4a97379..55083261ee 100644
--- a/src/server/api/index.ts
+++ b/src/server/api/index.ts
@@ -15,7 +15,7 @@ import signin from './private/signin';
import discord from './service/discord';
import github from './service/github';
import twitter from './service/twitter';
-import { Instances, AccessTokens, Users } from '../../models';
+import { Instances, AccessTokens, Users } from '@/models/index';
// Init app
const app = new Koa();
diff --git a/src/server/api/limiter.ts b/src/server/api/limiter.ts
index 540ca24994..e677aad0b6 100644
--- a/src/server/api/limiter.ts
+++ b/src/server/api/limiter.ts
@@ -2,8 +2,8 @@ import * as Limiter from 'ratelimiter';
import { redisClient } from '../../db/redis';
import { IEndpoint } from './endpoints';
import { getAcct } from '@/misc/acct';
-import { User } from '../../models/entities/user';
-import Logger from '../../services/logger';
+import { User } from '@/models/entities/user';
+import Logger from '@/services/logger';
const logger = new Logger('limiter');
diff --git a/src/server/api/logger.ts b/src/server/api/logger.ts
index dde4b0d5fc..750defe547 100644
--- a/src/server/api/logger.ts
+++ b/src/server/api/logger.ts
@@ -1,3 +1,3 @@
-import Logger from '../../services/logger';
+import Logger from '@/services/logger';
export const apiLogger = new Logger('api');
diff --git a/src/server/api/openapi/description.ts b/src/server/api/openapi/description.ts
index 6306920b7a..e51b312259 100644
--- a/src/server/api/openapi/description.ts
+++ b/src/server/api/openapi/description.ts
@@ -1,5 +1,5 @@
import endpoints from '../endpoints';
-import * as locale from '../../../../locales/';
+import * as locale from '../../../../locales/index';
import { kinds as kindsList } from '@/misc/api-permissions';
export interface IKindInfo {
diff --git a/src/server/api/openapi/gen-spec.ts b/src/server/api/openapi/gen-spec.ts
index adac3bda2c..9db47c6dfc 100644
--- a/src/server/api/openapi/gen-spec.ts
+++ b/src/server/api/openapi/gen-spec.ts
@@ -1,6 +1,6 @@
import endpoints from '../endpoints';
import { Context } from 'cafy';
-import config from '@/config';
+import config from '@/config/index';
import { errors as basicErrors } from './errors';
import { schemas, convertSchemaToOpenApiSchema } from './schemas';
import { getDescription } from './description';
diff --git a/src/server/api/openapi/schemas.ts b/src/server/api/openapi/schemas.ts
index ee2773fe47..5402dc6f48 100644
--- a/src/server/api/openapi/schemas.ts
+++ b/src/server/api/openapi/schemas.ts
@@ -1,25 +1,25 @@
-import { packedUserSchema } from '../../../models/repositories/user';
+import { packedUserSchema } from '@/models/repositories/user';
import { Schema } from '@/misc/schema';
-import { packedNoteSchema } from '../../../models/repositories/note';
-import { packedUserListSchema } from '../../../models/repositories/user-list';
-import { packedAppSchema } from '../../../models/repositories/app';
-import { packedMessagingMessageSchema } from '../../../models/repositories/messaging-message';
-import { packedNotificationSchema } from '../../../models/repositories/notification';
-import { packedDriveFileSchema } from '../../../models/repositories/drive-file';
-import { packedDriveFolderSchema } from '../../../models/repositories/drive-folder';
-import { packedFollowingSchema } from '../../../models/repositories/following';
-import { packedMutingSchema } from '../../../models/repositories/muting';
-import { packedBlockingSchema } from '../../../models/repositories/blocking';
-import { packedNoteReactionSchema } from '../../../models/repositories/note-reaction';
-import { packedHashtagSchema } from '../../../models/repositories/hashtag';
-import { packedPageSchema } from '../../../models/repositories/page';
-import { packedUserGroupSchema } from '../../../models/repositories/user-group';
-import { packedNoteFavoriteSchema } from '../../../models/repositories/note-favorite';
-import { packedChannelSchema } from '../../../models/repositories/channel';
-import { packedAntennaSchema } from '../../../models/repositories/antenna';
-import { packedClipSchema } from '../../../models/repositories/clip';
-import { packedFederationInstanceSchema } from '../../../models/repositories/federation-instance';
-import { packedQueueCountSchema } from '../../../models/repositories/queue';
+import { packedNoteSchema } from '@/models/repositories/note';
+import { packedUserListSchema } from '@/models/repositories/user-list';
+import { packedAppSchema } from '@/models/repositories/app';
+import { packedMessagingMessageSchema } from '@/models/repositories/messaging-message';
+import { packedNotificationSchema } from '@/models/repositories/notification';
+import { packedDriveFileSchema } from '@/models/repositories/drive-file';
+import { packedDriveFolderSchema } from '@/models/repositories/drive-folder';
+import { packedFollowingSchema } from '@/models/repositories/following';
+import { packedMutingSchema } from '@/models/repositories/muting';
+import { packedBlockingSchema } from '@/models/repositories/blocking';
+import { packedNoteReactionSchema } from '@/models/repositories/note-reaction';
+import { packedHashtagSchema } from '@/models/repositories/hashtag';
+import { packedPageSchema } from '@/models/repositories/page';
+import { packedUserGroupSchema } from '@/models/repositories/user-group';
+import { packedNoteFavoriteSchema } from '@/models/repositories/note-favorite';
+import { packedChannelSchema } from '@/models/repositories/channel';
+import { packedAntennaSchema } from '@/models/repositories/antenna';
+import { packedClipSchema } from '@/models/repositories/clip';
+import { packedFederationInstanceSchema } from '@/models/repositories/federation-instance';
+import { packedQueueCountSchema } from '@/models/repositories/queue';
import { packedGalleryPostSchema } from '@/models/repositories/gallery-post';
export function convertSchemaToOpenApiSchema(schema: Schema) {
diff --git a/src/server/api/private/signin.ts b/src/server/api/private/signin.ts
index c01c1f265a..fff1037ff9 100644
--- a/src/server/api/private/signin.ts
+++ b/src/server/api/private/signin.ts
@@ -2,9 +2,9 @@ import * as Koa from 'koa';
import * as bcrypt from 'bcryptjs';
import * as speakeasy from 'speakeasy';
import signin from '../common/signin';
-import config from '@/config';
-import { Users, Signins, UserProfiles, UserSecurityKeys, AttestationChallenges } from '../../../models';
-import { ILocalUser } from '../../../models/entities/user';
+import config from '@/config/index';
+import { Users, Signins, UserProfiles, UserSecurityKeys, AttestationChallenges } from '@/models/index';
+import { ILocalUser } from '@/models/entities/user';
import { genId } from '@/misc/gen-id';
import { verifyLogin, hash } from '../2fa';
import { randomBytes } from 'crypto';
diff --git a/src/server/api/private/signup.ts b/src/server/api/private/signup.ts
index f0cf75797a..ef61767f65 100644
--- a/src/server/api/private/signup.ts
+++ b/src/server/api/private/signup.ts
@@ -1,7 +1,7 @@
import * as Koa from 'koa';
import { fetchMeta } from '@/misc/fetch-meta';
import { verifyHcaptcha, verifyRecaptcha } from '@/misc/captcha';
-import { Users, RegistrationTickets } from '../../../models';
+import { Users, RegistrationTickets } from '@/models/index';
import { signup } from '../common/signup';
export default async (ctx: Koa.Context) => {
diff --git a/src/server/api/service/discord.ts b/src/server/api/service/discord.ts
index a684e71fc6..dd52a23376 100644
--- a/src/server/api/service/discord.ts
+++ b/src/server/api/service/discord.ts
@@ -2,14 +2,14 @@ import * as Koa from 'koa';
import * as Router from '@koa/router';
import { getJson } from '@/misc/fetch';
import { OAuth2 } from 'oauth';
-import config from '@/config';
-import { publishMainStream } from '../../../services/stream';
+import config from '@/config/index';
+import { publishMainStream } from '@/services/stream';
import { redisClient } from '../../../db/redis';
import { v4 as uuid } from 'uuid';
import signin from '../common/signin';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Users, UserProfiles } from '../../../models';
-import { ILocalUser } from '../../../models/entities/user';
+import { Users, UserProfiles } from '@/models/index';
+import { ILocalUser } from '@/models/entities/user';
function getUserToken(ctx: Koa.Context) {
return ((ctx.headers['cookie'] || '').match(/igi=(\w+)/) || [null, null])[1];
diff --git a/src/server/api/service/github.ts b/src/server/api/service/github.ts
index 12435b7e81..0616f3f773 100644
--- a/src/server/api/service/github.ts
+++ b/src/server/api/service/github.ts
@@ -2,14 +2,14 @@ import * as Koa from 'koa';
import * as Router from '@koa/router';
import { getJson } from '@/misc/fetch';
import { OAuth2 } from 'oauth';
-import config from '@/config';
-import { publishMainStream } from '../../../services/stream';
+import config from '@/config/index';
+import { publishMainStream } from '@/services/stream';
import { redisClient } from '../../../db/redis';
import { v4 as uuid } from 'uuid';
import signin from '../common/signin';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Users, UserProfiles } from '../../../models';
-import { ILocalUser } from '../../../models/entities/user';
+import { Users, UserProfiles } from '@/models/index';
+import { ILocalUser } from '@/models/entities/user';
function getUserToken(ctx: Koa.Context) {
return ((ctx.headers['cookie'] || '').match(/igi=(\w+)/) || [null, null])[1];
diff --git a/src/server/api/service/twitter.ts b/src/server/api/service/twitter.ts
index 8520a5656f..8a6a58aeee 100644
--- a/src/server/api/service/twitter.ts
+++ b/src/server/api/service/twitter.ts
@@ -3,12 +3,12 @@ import * as Router from '@koa/router';
import { v4 as uuid } from 'uuid';
import autwh from 'autwh';
import { redisClient } from '../../../db/redis';
-import { publishMainStream } from '../../../services/stream';
-import config from '@/config';
+import { publishMainStream } from '@/services/stream';
+import config from '@/config/index';
import signin from '../common/signin';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Users, UserProfiles } from '../../../models';
-import { ILocalUser } from '../../../models/entities/user';
+import { Users, UserProfiles } from '@/models/index';
+import { ILocalUser } from '@/models/entities/user';
function getUserToken(ctx: Koa.Context) {
return ((ctx.headers['cookie'] || '').match(/igi=(\w+)/) || [null, null])[1];
diff --git a/src/server/api/stream/channels/antenna.ts b/src/server/api/stream/channels/antenna.ts
index db4fab8412..bf9c53c453 100644
--- a/src/server/api/stream/channels/antenna.ts
+++ b/src/server/api/stream/channels/antenna.ts
@@ -1,6 +1,6 @@
import autobind from 'autobind-decorator';
import Channel from '../channel';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
diff --git a/src/server/api/stream/channels/channel.ts b/src/server/api/stream/channels/channel.ts
index 7910f0f2f8..e6a9a6c696 100644
--- a/src/server/api/stream/channels/channel.ts
+++ b/src/server/api/stream/channels/channel.ts
@@ -1,10 +1,10 @@
import autobind from 'autobind-decorator';
import Channel from '../channel';
-import { Notes, Users } from '../../../../models';
+import { Notes, Users } from '@/models/index';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
-import { PackedNote } from '../../../../models/repositories/note';
-import { User } from '../../../../models/entities/user';
+import { PackedNote } from '@/models/repositories/note';
+import { User } from '@/models/entities/user';
export default class extends Channel {
public readonly chName = 'channel';
diff --git a/src/server/api/stream/channels/games/reversi-game.ts b/src/server/api/stream/channels/games/reversi-game.ts
index e1c2116ac6..bfdbf1d266 100644
--- a/src/server/api/stream/channels/games/reversi-game.ts
+++ b/src/server/api/stream/channels/games/reversi-game.ts
@@ -1,12 +1,12 @@
import autobind from 'autobind-decorator';
import * as CRC32 from 'crc-32';
-import { publishReversiGameStream } from '../../../../../services/stream';
+import { publishReversiGameStream } from '@/services/stream';
import Reversi from '../../../../../games/reversi/core';
import * as maps from '../../../../../games/reversi/maps';
import Channel from '../../channel';
-import { ReversiGame } from '../../../../../models/entities/games/reversi/game';
-import { ReversiGames, Users } from '../../../../../models';
-import { User } from '../../../../../models/entities/user';
+import { ReversiGame } from '@/models/entities/games/reversi/game';
+import { ReversiGames, Users } from '@/models/index';
+import { User } from '@/models/entities/user';
export default class extends Channel {
public readonly chName = 'gamesReversiGame';
diff --git a/src/server/api/stream/channels/games/reversi.ts b/src/server/api/stream/channels/games/reversi.ts
index e0e41d9acd..3b89aac35c 100644
--- a/src/server/api/stream/channels/games/reversi.ts
+++ b/src/server/api/stream/channels/games/reversi.ts
@@ -1,7 +1,7 @@
import autobind from 'autobind-decorator';
-import { publishMainStream } from '../../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import Channel from '../../channel';
-import { ReversiMatchings } from '../../../../../models';
+import { ReversiMatchings } from '@/models/index';
export default class extends Channel {
public readonly chName = 'gamesReversi';
diff --git a/src/server/api/stream/channels/global-timeline.ts b/src/server/api/stream/channels/global-timeline.ts
index 02792bffa4..2cb138966f 100644
--- a/src/server/api/stream/channels/global-timeline.ts
+++ b/src/server/api/stream/channels/global-timeline.ts
@@ -2,8 +2,8 @@ import autobind from 'autobind-decorator';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import Channel from '../channel';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Notes } from '../../../../models';
-import { PackedNote } from '../../../../models/repositories/note';
+import { Notes } from '@/models/index';
+import { PackedNote } from '@/models/repositories/note';
import { checkWordMute } from '@/misc/check-word-mute';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
diff --git a/src/server/api/stream/channels/hashtag.ts b/src/server/api/stream/channels/hashtag.ts
index 4cabd4db62..997ab75f6d 100644
--- a/src/server/api/stream/channels/hashtag.ts
+++ b/src/server/api/stream/channels/hashtag.ts
@@ -1,8 +1,8 @@
import autobind from 'autobind-decorator';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import Channel from '../channel';
-import { Notes } from '../../../../models';
-import { PackedNote } from '../../../../models/repositories/note';
+import { Notes } from '@/models/index';
+import { PackedNote } from '@/models/repositories/note';
import { normalizeForSearch } from '@/misc/normalize-for-search';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
diff --git a/src/server/api/stream/channels/home-timeline.ts b/src/server/api/stream/channels/home-timeline.ts
index 7659b5ffa3..c7a9728741 100644
--- a/src/server/api/stream/channels/home-timeline.ts
+++ b/src/server/api/stream/channels/home-timeline.ts
@@ -1,8 +1,8 @@
import autobind from 'autobind-decorator';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import Channel from '../channel';
-import { Notes } from '../../../../models';
-import { PackedNote } from '../../../../models/repositories/note';
+import { Notes } from '@/models/index';
+import { PackedNote } from '@/models/repositories/note';
import { checkWordMute } from '@/misc/check-word-mute';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
diff --git a/src/server/api/stream/channels/hybrid-timeline.ts b/src/server/api/stream/channels/hybrid-timeline.ts
index 664435f674..5c454764ec 100644
--- a/src/server/api/stream/channels/hybrid-timeline.ts
+++ b/src/server/api/stream/channels/hybrid-timeline.ts
@@ -2,9 +2,9 @@ import autobind from 'autobind-decorator';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import Channel from '../channel';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Notes } from '../../../../models';
-import { PackedNote } from '../../../../models/repositories/note';
-import { PackedUser } from '../../../../models/repositories/user';
+import { Notes } from '@/models/index';
+import { PackedNote } from '@/models/repositories/note';
+import { PackedUser } from '@/models/repositories/user';
import { checkWordMute } from '@/misc/check-word-mute';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
diff --git a/src/server/api/stream/channels/local-timeline.ts b/src/server/api/stream/channels/local-timeline.ts
index 528059daba..4bf0d02ed3 100644
--- a/src/server/api/stream/channels/local-timeline.ts
+++ b/src/server/api/stream/channels/local-timeline.ts
@@ -2,9 +2,9 @@ import autobind from 'autobind-decorator';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
import Channel from '../channel';
import { fetchMeta } from '@/misc/fetch-meta';
-import { Notes } from '../../../../models';
-import { PackedNote } from '../../../../models/repositories/note';
-import { PackedUser } from '../../../../models/repositories/user';
+import { Notes } from '@/models/index';
+import { PackedNote } from '@/models/repositories/note';
+import { PackedUser } from '@/models/repositories/user';
import { checkWordMute } from '@/misc/check-word-mute';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
diff --git a/src/server/api/stream/channels/main.ts b/src/server/api/stream/channels/main.ts
index 780bc0b89f..b99cb931da 100644
--- a/src/server/api/stream/channels/main.ts
+++ b/src/server/api/stream/channels/main.ts
@@ -1,6 +1,6 @@
import autobind from 'autobind-decorator';
import Channel from '../channel';
-import { Notes } from '../../../../models';
+import { Notes } from '@/models/index';
export default class extends Channel {
public readonly chName = 'main';
diff --git a/src/server/api/stream/channels/messaging.ts b/src/server/api/stream/channels/messaging.ts
index 58427e2771..015b0a7650 100644
--- a/src/server/api/stream/channels/messaging.ts
+++ b/src/server/api/stream/channels/messaging.ts
@@ -1,8 +1,8 @@
import autobind from 'autobind-decorator';
import { readUserMessagingMessage, readGroupMessagingMessage, deliverReadActivity } from '../../common/read-messaging-message';
import Channel from '../channel';
-import { UserGroupJoinings, Users, MessagingMessages } from '../../../../models';
-import { User, ILocalUser, IRemoteUser } from '../../../../models/entities/user';
+import { UserGroupJoinings, Users, MessagingMessages } from '@/models/index';
+import { User, ILocalUser, IRemoteUser } from '@/models/entities/user';
export default class extends Channel {
public readonly chName = 'messaging';
diff --git a/src/server/api/stream/channels/user-list.ts b/src/server/api/stream/channels/user-list.ts
index 1f42fbe49e..0ca83cd658 100644
--- a/src/server/api/stream/channels/user-list.ts
+++ b/src/server/api/stream/channels/user-list.ts
@@ -1,9 +1,9 @@
import autobind from 'autobind-decorator';
import Channel from '../channel';
-import { Notes, UserListJoinings, UserLists } from '../../../../models';
+import { Notes, UserListJoinings, UserLists } from '@/models/index';
import { isMutedUserRelated } from '@/misc/is-muted-user-related';
-import { User } from '../../../../models/entities/user';
-import { PackedNote } from '../../../../models/repositories/note';
+import { User } from '@/models/entities/user';
+import { PackedNote } from '@/models/repositories/note';
import { isBlockerUserRelated } from '@/misc/is-blocker-user-related';
export default class extends Channel {
diff --git a/src/server/api/stream/index.ts b/src/server/api/stream/index.ts
index 96d4194a7d..469f28f11c 100644
--- a/src/server/api/stream/index.ts
+++ b/src/server/api/stream/index.ts
@@ -2,19 +2,19 @@ import autobind from 'autobind-decorator';
import * as websocket from 'websocket';
import { readNotification } from '../common/read-notification';
import call from '../call';
-import readNote from '../../../services/note/read';
+import readNote from '@/services/note/read';
import Channel from './channel';
-import channels from './channels';
+import channels from './channels/index';
import { EventEmitter } from 'events';
-import { User } from '../../../models/entities/user';
-import { Channel as ChannelModel } from '../../../models/entities/channel';
-import { Users, Followings, Mutings, UserProfiles, ChannelFollowings, Blockings } from '../../../models';
+import { User } from '@/models/entities/user';
+import { Channel as ChannelModel } from '@/models/entities/channel';
+import { Users, Followings, Mutings, UserProfiles, ChannelFollowings, Blockings } from '@/models/index';
import { ApiError } from '../error';
-import { AccessToken } from '../../../models/entities/access-token';
-import { UserProfile } from '../../../models/entities/user-profile';
-import { publishChannelStream, publishGroupMessagingStream, publishMessagingStream } from '../../../services/stream';
-import { UserGroup } from '../../../models/entities/user-group';
-import { PackedNote } from '../../../models/repositories/note';
+import { AccessToken } from '@/models/entities/access-token';
+import { UserProfile } from '@/models/entities/user-profile';
+import { publishChannelStream, publishGroupMessagingStream, publishMessagingStream } from '@/services/stream';
+import { UserGroup } from '@/models/entities/user-group';
+import { PackedNote } from '@/models/repositories/note';
/**
* Main stream connection
diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts
index b431bc5ad3..8808bc9860 100644
--- a/src/server/api/streaming.ts
+++ b/src/server/api/streaming.ts
@@ -1,12 +1,12 @@
import * as http from 'http';
import * as websocket from 'websocket';
-import MainStreamConnection from './stream';
+import MainStreamConnection from './stream/index';
import { ParsedUrlQuery } from 'querystring';
import authenticate from './authenticate';
import { EventEmitter } from 'events';
import { subsdcriber as redisClient } from '../../db/redis';
-import { Users } from '@/models';
+import { Users } from '@/models/index';
module.exports = (server: http.Server) => {
// Init websocket server