From 053da10e94c2412f58215116a958c0922261a610 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Wed, 20 Sep 2023 11:33:36 +0900
Subject: [PATCH] refactor(backend): update directory structure for models

---
 .../backend/src/core/AccountMoveService.ts    |   2 +-
 .../backend/src/core/AccountUpdateService.ts  |   2 +-
 .../backend/src/core/AchievementService.ts    |   2 +-
 .../backend/src/core/AnnouncementService.ts   |   2 +-
 packages/backend/src/core/AntennaService.ts   |   6 +-
 packages/backend/src/core/CacheService.ts     |   2 +-
 packages/backend/src/core/ClipService.ts      |   2 +-
 .../src/core/CreateSystemUserService.ts       |   8 +-
 .../backend/src/core/CustomEmojiService.ts    |   4 +-
 packages/backend/src/core/DriveService.ts     |   6 +-
 .../src/core/FederatedInstanceService.ts      |   2 +-
 .../src/core/FetchInstanceMetadataService.ts  |   2 +-
 .../backend/src/core/GlobalEventService.ts    |   8 +-
 packages/backend/src/core/HashtagService.ts   |   4 +-
 .../backend/src/core/InstanceActorService.ts  |   2 +-
 packages/backend/src/core/MetaService.ts      |   2 +-
 packages/backend/src/core/MfmService.ts       |   2 +-
 .../backend/src/core/ModerationLogService.ts  |   2 +-
 .../backend/src/core/NoteCreateService.ts     |  18 +--
 .../backend/src/core/NoteDeleteService.ts     |   4 +-
 .../backend/src/core/NotePiningService.ts     |   6 +-
 packages/backend/src/core/NoteReadService.ts  |   4 +-
 .../backend/src/core/NotificationService.ts   |   4 +-
 packages/backend/src/core/PollService.ts      |   2 +-
 .../backend/src/core/ProxyAccountService.ts   |   2 +-
 packages/backend/src/core/QueryService.ts     |   2 +-
 packages/backend/src/core/QueueService.ts     |   4 +-
 packages/backend/src/core/ReactionService.ts  |   6 +-
 packages/backend/src/core/RelayService.ts     |   4 +-
 .../src/core/RemoteUserResolveService.ts      |   2 +-
 packages/backend/src/core/RoleService.ts      |   4 +-
 packages/backend/src/core/S3Service.ts        |   2 +-
 packages/backend/src/core/SearchService.ts    |   2 +-
 packages/backend/src/core/SignupService.ts    |   8 +-
 .../backend/src/core/UserBlockingService.ts   |   4 +-
 .../backend/src/core/UserFollowingService.ts  |   2 +-
 .../backend/src/core/UserKeypairService.ts    |   4 +-
 packages/backend/src/core/UserListService.ts  |   6 +-
 .../backend/src/core/UserMutingService.ts     |   2 +-
 .../backend/src/core/UserSuspendService.ts    |   2 +-
 packages/backend/src/core/WebhookService.ts   |   2 +-
 .../src/core/activitypub/ApAudienceService.ts |   2 +-
 .../core/activitypub/ApDbResolverService.ts   |   6 +-
 .../activitypub/ApDeliverManagerService.ts    |   2 +-
 .../src/core/activitypub/ApInboxService.ts    |   2 +-
 .../src/core/activitypub/ApMfmService.ts      |   2 +-
 .../src/core/activitypub/ApRendererService.ts |  20 +--
 .../src/core/activitypub/ApRequestService.ts  |   2 +-
 .../src/core/activitypub/ApResolverService.ts |   2 +-
 .../core/activitypub/models/ApImageService.ts |   4 +-
 .../core/activitypub/models/ApNoteService.ts  |   8 +-
 .../activitypub/models/ApPersonService.ts     |  12 +-
 .../activitypub/models/ApQuestionService.ts   |   2 +-
 .../src/core/chart/charts/active-users.ts     |   2 +-
 .../backend/src/core/chart/charts/drive.ts    |   2 +-
 .../backend/src/core/chart/charts/instance.ts |   4 +-
 .../backend/src/core/chart/charts/notes.ts    |   2 +-
 .../src/core/chart/charts/per-user-drive.ts   |   2 +-
 .../core/chart/charts/per-user-following.ts   |   2 +-
 .../src/core/chart/charts/per-user-notes.ts   |   4 +-
 .../src/core/chart/charts/per-user-pv.ts      |   2 +-
 .../core/chart/charts/per-user-reactions.ts   |   4 +-
 .../backend/src/core/chart/charts/users.ts    |   2 +-
 .../entities/AbuseUserReportEntityService.ts  |   2 +-
 .../src/core/entities/AntennaEntityService.ts |   2 +-
 .../src/core/entities/AppEntityService.ts     |   4 +-
 .../core/entities/AuthSessionEntityService.ts |   4 +-
 .../core/entities/BlockingEntityService.ts    |   4 +-
 .../src/core/entities/ChannelEntityService.ts |   6 +-
 .../src/core/entities/ClipEntityService.ts    |   4 +-
 .../core/entities/DriveFileEntityService.ts   |   4 +-
 .../core/entities/DriveFolderEntityService.ts |   4 +-
 .../src/core/entities/EmojiEntityService.ts   |   4 +-
 .../src/core/entities/FlashEntityService.ts   |   6 +-
 .../core/entities/FlashLikeEntityService.ts   |   6 +-
 .../entities/FollowRequestEntityService.ts    |   6 +-
 .../core/entities/FollowingEntityService.ts   |   6 +-
 .../core/entities/GalleryLikeEntityService.ts |   4 +-
 .../core/entities/GalleryPostEntityService.ts |   6 +-
 .../src/core/entities/HashtagEntityService.ts |   4 +-
 .../core/entities/InstanceEntityService.ts    |   4 +-
 .../core/entities/InviteCodeEntityService.ts  |   4 +-
 .../entities/ModerationLogEntityService.ts    |   4 +-
 .../src/core/entities/MutingEntityService.ts  |   6 +-
 .../src/core/entities/NoteEntityService.ts    |   6 +-
 .../entities/NoteFavoriteEntityService.ts     |   6 +-
 .../entities/NoteReactionEntityService.ts     |   6 +-
 .../entities/NotificationEntityService.ts     |   4 +-
 .../src/core/entities/PageEntityService.ts    |   8 +-
 .../core/entities/PageLikeEntityService.ts    |   6 +-
 .../entities/RenoteMutingEntityService.ts     |   6 +-
 .../src/core/entities/RoleEntityService.ts    |   4 +-
 .../src/core/entities/SigninEntityService.ts  |   4 +-
 .../src/core/entities/UserEntityService.ts    |   4 +-
 .../core/entities/UserListEntityService.ts    |   4 +-
 packages/backend/src/misc/check-word-mute.ts  |   4 +-
 packages/backend/src/misc/is-quote.ts         |   2 +-
 .../models/{entities => }/AbuseUserReport.ts  |   2 +-
 .../src/models/{entities => }/AccessToken.ts  |   2 +-
 .../backend/src/models/{entities => }/Ad.ts   |   2 +-
 .../src/models/{entities => }/Announcement.ts |   2 +-
 .../models/{entities => }/AnnouncementRead.ts |   2 +-
 .../src/models/{entities => }/Antenna.ts      |   2 +-
 .../backend/src/models/{entities => }/App.ts  |   2 +-
 .../src/models/{entities => }/AuthSession.ts  |   2 +-
 .../src/models/{entities => }/Blocking.ts     |   2 +-
 .../src/models/{entities => }/Channel.ts      |   2 +-
 .../models/{entities => }/ChannelFavorite.ts  |   2 +-
 .../models/{entities => }/ChannelFollowing.ts |   2 +-
 .../backend/src/models/{entities => }/Clip.ts |   2 +-
 .../src/models/{entities => }/ClipFavorite.ts |   2 +-
 .../src/models/{entities => }/ClipNote.ts     |   2 +-
 .../src/models/{entities => }/DriveFile.ts    |   2 +-
 .../src/models/{entities => }/DriveFolder.ts  |   2 +-
 .../src/models/{entities => }/Emoji.ts        |   2 +-
 .../src/models/{entities => }/Flash.ts        |   2 +-
 .../src/models/{entities => }/FlashLike.ts    |   2 +-
 .../models/{entities => }/FollowRequest.ts    |   2 +-
 .../src/models/{entities => }/Following.ts    |   2 +-
 .../src/models/{entities => }/GalleryLike.ts  |   2 +-
 .../src/models/{entities => }/GalleryPost.ts  |   2 +-
 .../src/models/{entities => }/Hashtag.ts      |   2 +-
 .../src/models/{entities => }/Instance.ts     |   2 +-
 .../backend/src/models/{entities => }/Meta.ts |   2 +-
 .../models/{entities => }/ModerationLog.ts    |   2 +-
 .../src/models/{entities => }/MutedNote.ts    |   2 +-
 .../src/models/{entities => }/Muting.ts       |   2 +-
 .../backend/src/models/{entities => }/Note.ts |   2 +-
 .../src/models/{entities => }/NoteFavorite.ts |   2 +-
 .../src/models/{entities => }/NoteReaction.ts |   2 +-
 .../models/{entities => }/NoteThreadMuting.ts |   2 +-
 .../src/models/{entities => }/NoteUnread.ts   |   2 +-
 .../src/models/{entities => }/Notification.ts |   0
 .../backend/src/models/{entities => }/Page.ts |   2 +-
 .../src/models/{entities => }/PageLike.ts     |   2 +-
 .../{entities => }/PasswordResetRequest.ts    |   2 +-
 .../backend/src/models/{entities => }/Poll.ts |   2 +-
 .../src/models/{entities => }/PollVote.ts     |   2 +-
 .../src/models/{entities => }/PromoNote.ts    |   2 +-
 .../src/models/{entities => }/PromoRead.ts    |   2 +-
 .../{entities => }/RegistrationTicket.ts      |   2 +-
 .../src/models/{entities => }/RegistryItem.ts |   2 +-
 .../src/models/{entities => }/Relay.ts        |   2 +-
 .../src/models/{entities => }/RenoteMuting.ts |   2 +-
 .../{entities => }/RetentionAggregation.ts    |   2 +-
 .../backend/src/models/{entities => }/Role.ts |   2 +-
 .../models/{entities => }/RoleAssignment.ts   |   2 +-
 .../src/models/{entities => }/Signin.ts       |   2 +-
 .../models/{entities => }/SwSubscription.ts   |   2 +-
 .../src/models/{entities => }/UsedUsername.ts |   0
 .../backend/src/models/{entities => }/User.ts |   2 +-
 .../src/models/{entities => }/UserIp.ts       |   2 +-
 .../src/models/{entities => }/UserKeypair.ts  |   2 +-
 .../src/models/{entities => }/UserList.ts     |   2 +-
 .../models/{entities => }/UserListFavorite.ts |   2 +-
 .../models/{entities => }/UserListJoining.ts  |   2 +-
 .../src/models/{entities => }/UserMemo.ts     |   2 +-
 .../models/{entities => }/UserNotePining.ts   |   2 +-
 .../src/models/{entities => }/UserPending.ts  |   2 +-
 .../src/models/{entities => }/UserProfile.ts  |   2 +-
 .../models/{entities => }/UserPublickey.ts    |   2 +-
 .../models/{entities => }/UserSecurityKey.ts  |   2 +-
 .../src/models/{entities => }/Webhook.ts      |   2 +-
 packages/backend/src/models/_.ts              | 130 +++++++++---------
 packages/backend/src/models/{ => util}/id.ts  |   0
 packages/backend/src/postgres.ts              | 130 +++++++++---------
 .../DeleteAccountProcessorService.ts          |   4 +-
 .../processors/DeliverProcessorService.ts     |   2 +-
 .../ExportFavoritesProcessorService.ts        |   4 +-
 .../ExportFollowingProcessorService.ts        |   2 +-
 .../processors/ExportNotesProcessorService.ts |   4 +-
 .../queue/processors/InboxProcessorService.ts |   4 +-
 .../RelationshipProcessorService.ts           |   2 +-
 packages/backend/src/queue/types.ts           |   8 +-
 .../src/server/ActivityPubServerService.ts    |   6 +-
 .../src/server/WellKnownServerService.ts      |   2 +-
 .../backend/src/server/api/ApiCallService.ts  |   4 +-
 .../src/server/api/AuthenticateService.ts     |   6 +-
 .../backend/src/server/api/GetterService.ts   |   4 +-
 .../src/server/api/SigninApiService.ts        |   2 +-
 .../backend/src/server/api/SigninService.ts   |   2 +-
 .../src/server/api/SignupApiService.ts        |   2 +-
 .../server/api/StreamingApiServerService.ts   |   2 +-
 .../backend/src/server/api/endpoint-base.ts   |   4 +-
 .../api/endpoints/admin/accounts/create.ts    |   2 +-
 .../api/endpoints/admin/announcements/list.ts |   2 +-
 .../server/api/endpoints/admin/emoji/copy.ts  |   2 +-
 .../server/api/endpoints/admin/emoji/list.ts  |   2 +-
 .../api/endpoints/admin/suspend-user.ts       |   2 +-
 .../server/api/endpoints/admin/update-meta.ts |   2 +-
 .../src/server/api/endpoints/ap/show.ts       |   4 +-
 .../server/api/endpoints/channels/create.ts   |   2 +-
 .../server/api/endpoints/drive/files/show.ts  |   2 +-
 .../api/endpoints/gallery/posts/create.ts     |   4 +-
 .../api/endpoints/gallery/posts/update.ts     |   2 +-
 .../server/api/endpoints/hashtags/trend.ts    |   2 +-
 .../src/server/api/endpoints/i/move.ts        |   2 +-
 .../server/api/endpoints/i/notifications.ts   |   2 +-
 .../src/server/api/endpoints/i/update.ts      |   6 +-
 .../server/api/endpoints/i/webhooks/create.ts |   2 +-
 .../server/api/endpoints/i/webhooks/update.ts |   2 +-
 .../api/endpoints/notes/conversation.ts       |   2 +-
 .../src/server/api/endpoints/notes/create.ts  |   8 +-
 .../server/api/endpoints/notes/polls/vote.ts  |   2 +-
 .../server/api/endpoints/notes/reactions.ts   |   2 +-
 .../src/server/api/endpoints/pages/create.ts  |   2 +-
 .../src/server/api/endpoints/pages/show.ts    |   2 +-
 .../src/server/api/endpoints/pinned-users.ts  |   2 +-
 .../api/endpoints/renote-mute/create.ts       |   2 +-
 .../api/endpoints/username/available.ts       |   2 +-
 .../users/lists/create-from-public.ts         |   2 +-
 .../api/endpoints/users/lists/create.ts       |   2 +-
 .../users/search-by-username-and-host.ts      |   2 +-
 .../src/server/api/endpoints/users/search.ts  |   2 +-
 .../src/server/api/endpoints/users/show.ts    |   2 +-
 .../src/server/api/stream/Connection.ts       |   4 +-
 .../server/api/stream/channels/user-list.ts   |   2 +-
 .../backend/src/server/api/stream/types.ts    |  26 ++--
 .../src/server/oauth/OAuth2ProviderService.ts |   4 +-
 .../backend/src/server/web/FeedService.ts     |   2 +-
 packages/backend/test/e2e/note.ts             |   2 +-
 packages/backend/test/e2e/streaming.ts        |   2 +-
 packages/backend/test/unit/activitypub.ts     |   2 +-
 223 files changed, 488 insertions(+), 488 deletions(-)
 rename packages/backend/src/models/{entities => }/AbuseUserReport.ts (97%)
 rename packages/backend/src/models/{entities => }/AccessToken.ts (97%)
 rename packages/backend/src/models/{entities => }/Ad.ts (97%)
 rename packages/backend/src/models/{entities => }/Announcement.ts (98%)
 rename packages/backend/src/models/{entities => }/AnnouncementRead.ts (96%)
 rename packages/backend/src/models/{entities => }/Antenna.ts (98%)
 rename packages/backend/src/models/{entities => }/App.ts (97%)
 rename packages/backend/src/models/{entities => }/AuthSession.ts (96%)
 rename packages/backend/src/models/{entities => }/Blocking.ts (96%)
 rename packages/backend/src/models/{entities => }/Channel.ts (98%)
 rename packages/backend/src/models/{entities => }/ChannelFavorite.ts (96%)
 rename packages/backend/src/models/{entities => }/ChannelFollowing.ts (96%)
 rename packages/backend/src/models/{entities => }/Clip.ts (96%)
 rename packages/backend/src/models/{entities => }/ClipFavorite.ts (95%)
 rename packages/backend/src/models/{entities => }/ClipNote.ts (95%)
 rename packages/backend/src/models/{entities => }/DriveFile.ts (99%)
 rename packages/backend/src/models/{entities => }/DriveFolder.ts (96%)
 rename packages/backend/src/models/{entities => }/Emoji.ts (97%)
 rename packages/backend/src/models/{entities => }/Flash.ts (97%)
 rename packages/backend/src/models/{entities => }/FlashLike.ts (95%)
 rename packages/backend/src/models/{entities => }/FollowRequest.ts (98%)
 rename packages/backend/src/models/{entities => }/Following.ts (98%)
 rename packages/backend/src/models/{entities => }/GalleryLike.ts (95%)
 rename packages/backend/src/models/{entities => }/GalleryPost.ts (97%)
 rename packages/backend/src/models/{entities => }/Hashtag.ts (97%)
 rename packages/backend/src/models/{entities => }/Instance.ts (98%)
 rename packages/backend/src/models/{entities => }/Meta.ts (99%)
 rename packages/backend/src/models/{entities => }/ModerationLog.ts (95%)
 rename packages/backend/src/models/{entities => }/MutedNote.ts (96%)
 rename packages/backend/src/models/{entities => }/Muting.ts (96%)
 rename packages/backend/src/models/{entities => }/Note.ts (99%)
 rename packages/backend/src/models/{entities => }/NoteFavorite.ts (96%)
 rename packages/backend/src/models/{entities => }/NoteReaction.ts (96%)
 rename packages/backend/src/models/{entities => }/NoteThreadMuting.ts (95%)
 rename packages/backend/src/models/{entities => }/NoteUnread.ts (97%)
 rename packages/backend/src/models/{entities => }/Notification.ts (100%)
 rename packages/backend/src/models/{entities => }/Page.ts (98%)
 rename packages/backend/src/models/{entities => }/PageLike.ts (95%)
 rename packages/backend/src/models/{entities => }/PasswordResetRequest.ts (95%)
 rename packages/backend/src/models/{entities => }/Poll.ts (97%)
 rename packages/backend/src/models/{entities => }/PollVote.ts (96%)
 rename packages/backend/src/models/{entities => }/PromoNote.ts (95%)
 rename packages/backend/src/models/{entities => }/PromoRead.ts (95%)
 rename packages/backend/src/models/{entities => }/RegistrationTicket.ts (97%)
 rename packages/backend/src/models/{entities => }/RegistryItem.ts (97%)
 rename packages/backend/src/models/{entities => }/Relay.ts (93%)
 rename packages/backend/src/models/{entities => }/RenoteMuting.ts (96%)
 rename packages/backend/src/models/{entities => }/RetentionAggregation.ts (96%)
 rename packages/backend/src/models/{entities => }/Role.ts (99%)
 rename packages/backend/src/models/{entities => }/RoleAssignment.ts (96%)
 rename packages/backend/src/models/{entities => }/Signin.ts (95%)
 rename packages/backend/src/models/{entities => }/SwSubscription.ts (96%)
 rename packages/backend/src/models/{entities => }/UsedUsername.ts (100%)
 rename packages/backend/src/models/{entities => }/User.ts (99%)
 rename packages/backend/src/models/{entities => }/UserIp.ts (94%)
 rename packages/backend/src/models/{entities => }/UserKeypair.ts (95%)
 rename packages/backend/src/models/{entities => }/UserList.ts (95%)
 rename packages/backend/src/models/{entities => }/UserListFavorite.ts (95%)
 rename packages/backend/src/models/{entities => }/UserListJoining.ts (96%)
 rename packages/backend/src/models/{entities => }/UserMemo.ts (96%)
 rename packages/backend/src/models/{entities => }/UserNotePining.ts (96%)
 rename packages/backend/src/models/{entities => }/UserPending.ts (94%)
 rename packages/backend/src/models/{entities => }/UserProfile.ts (99%)
 rename packages/backend/src/models/{entities => }/UserPublickey.ts (95%)
 rename packages/backend/src/models/{entities => }/UserSecurityKey.ts (98%)
 rename packages/backend/src/models/{entities => }/Webhook.ts (97%)
 rename packages/backend/src/models/{ => util}/id.ts (100%)

diff --git a/packages/backend/src/core/AccountMoveService.ts b/packages/backend/src/core/AccountMoveService.ts
index c19f0427e..ec1d01392 100644
--- a/packages/backend/src/core/AccountMoveService.ts
+++ b/packages/backend/src/core/AccountMoveService.ts
@@ -8,7 +8,7 @@ import { IsNull, In, MoreThan, Not } from 'typeorm';
 
 import { bindThis } from '@/decorators.js';
 import { DI } from '@/di-symbols.js';
-import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/User.js';
 import type { BlockingsRepository, FollowingsRepository, InstancesRepository, MutingsRepository, UserListJoiningsRepository, UsersRepository } from '@/models/_.js';
 import type { RelationshipJobData, ThinUser } from '@/queue/types.js';
 
diff --git a/packages/backend/src/core/AccountUpdateService.ts b/packages/backend/src/core/AccountUpdateService.ts
index 5a571c66c..664700ea6 100644
--- a/packages/backend/src/core/AccountUpdateService.ts
+++ b/packages/backend/src/core/AccountUpdateService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { UsersRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { RelayService } from '@/core/RelayService.js';
 import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
diff --git a/packages/backend/src/core/AchievementService.ts b/packages/backend/src/core/AchievementService.ts
index 87cc12bad..1b8718335 100644
--- a/packages/backend/src/core/AchievementService.ts
+++ b/packages/backend/src/core/AchievementService.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { UserProfilesRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
 import { NotificationService } from '@/core/NotificationService.js';
diff --git a/packages/backend/src/core/AnnouncementService.ts b/packages/backend/src/core/AnnouncementService.ts
index fbe073cb7..70f37516a 100644
--- a/packages/backend/src/core/AnnouncementService.ts
+++ b/packages/backend/src/core/AnnouncementService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Brackets } from 'typeorm';
 import { DI } from '@/di-symbols.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import type { AnnouncementReadsRepository, AnnouncementsRepository, MiAnnouncement, MiAnnouncementRead } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
 import { Packed } from '@/misc/json-schema.js';
diff --git a/packages/backend/src/core/AntennaService.ts b/packages/backend/src/core/AntennaService.ts
index 03715a4a8..a7e74eeef 100644
--- a/packages/backend/src/core/AntennaService.ts
+++ b/packages/backend/src/core/AntennaService.ts
@@ -5,9 +5,9 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import * as Redis from 'ioredis';
-import type { MiAntenna } from '@/models/entities/Antenna.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiAntenna } from '@/models/Antenna.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiUser } from '@/models/User.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import * as Acct from '@/misc/acct.js';
 import type { Packed } from '@/misc/json-schema.js';
diff --git a/packages/backend/src/core/CacheService.ts b/packages/backend/src/core/CacheService.ts
index 707366721..6ca684d53 100644
--- a/packages/backend/src/core/CacheService.ts
+++ b/packages/backend/src/core/CacheService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import * as Redis from 'ioredis';
 import type { BlockingsRepository, ChannelFollowingsRepository, FollowingsRepository, MutingsRepository, RenoteMutingsRepository, MiUserProfile, UserProfilesRepository, UsersRepository } from '@/models/_.js';
 import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js';
-import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiUser } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/ClipService.ts b/packages/backend/src/core/ClipService.ts
index 27f3013d4..ff3a2b48e 100644
--- a/packages/backend/src/core/ClipService.ts
+++ b/packages/backend/src/core/ClipService.ts
@@ -11,7 +11,7 @@ import { bindThis } from '@/decorators.js';
 import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
 import { RoleService } from '@/core/RoleService.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
+import type { MiLocalUser } from '@/models/User.js';
 
 @Injectable()
 export class ClipService {
diff --git a/packages/backend/src/core/CreateSystemUserService.ts b/packages/backend/src/core/CreateSystemUserService.ts
index 7f57128ba..3419d0b49 100644
--- a/packages/backend/src/core/CreateSystemUserService.ts
+++ b/packages/backend/src/core/CreateSystemUserService.ts
@@ -8,11 +8,11 @@ import { Inject, Injectable } from '@nestjs/common';
 import bcrypt from 'bcryptjs';
 import { IsNull, DataSource } from 'typeorm';
 import { genRsaKeyPair } from '@/misc/gen-key-pair.js';
-import { MiUser } from '@/models/entities/User.js';
-import { MiUserProfile } from '@/models/entities/UserProfile.js';
+import { MiUser } from '@/models/User.js';
+import { MiUserProfile } from '@/models/UserProfile.js';
 import { IdService } from '@/core/IdService.js';
-import { MiUserKeypair } from '@/models/entities/UserKeypair.js';
-import { MiUsedUsername } from '@/models/entities/UsedUsername.js';
+import { MiUserKeypair } from '@/models/UserKeypair.js';
+import { MiUsedUsername } from '@/models/UsedUsername.js';
 import { DI } from '@/di-symbols.js';
 import generateNativeUserToken from '@/misc/generate-native-user-token.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/CustomEmojiService.ts b/packages/backend/src/core/CustomEmojiService.ts
index df5368272..aa5490eba 100644
--- a/packages/backend/src/core/CustomEmojiService.ts
+++ b/packages/backend/src/core/CustomEmojiService.ts
@@ -10,8 +10,8 @@ import { DI } from '@/di-symbols.js';
 import { IdService } from '@/core/IdService.js';
 import { EmojiEntityService } from '@/core/entities/EmojiEntityService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiEmoji } from '@/models/entities/Emoji.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiEmoji } from '@/models/Emoji.js';
 import type { EmojisRepository, MiRole } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
 import { MemoryKVCache, RedisSingleCache } from '@/misc/cache.js';
diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts
index cdd3f78ca..e015d3dc4 100644
--- a/packages/backend/src/core/DriveService.ts
+++ b/packages/backend/src/core/DriveService.ts
@@ -14,9 +14,9 @@ import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, UsersRepository, DriveFoldersRepository, UserProfilesRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
 import Logger from '@/logger.js';
-import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
+import type { MiRemoteUser, MiUser } from '@/models/User.js';
 import { MetaService } from '@/core/MetaService.js';
-import { MiDriveFile } from '@/models/entities/DriveFile.js';
+import { MiDriveFile } from '@/models/DriveFile.js';
 import { IdService } from '@/core/IdService.js';
 import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
 import { FILE_TYPE_BROWSERSAFE } from '@/const.js';
@@ -27,7 +27,7 @@ import { VideoProcessingService } from '@/core/VideoProcessingService.js';
 import { ImageProcessingService } from '@/core/ImageProcessingService.js';
 import type { IImage } from '@/core/ImageProcessingService.js';
 import { QueueService } from '@/core/QueueService.js';
-import type { MiDriveFolder } from '@/models/entities/DriveFolder.js';
+import type { MiDriveFolder } from '@/models/DriveFolder.js';
 import { createTemp } from '@/misc/create-temp.js';
 import DriveChart from '@/core/chart/charts/drive.js';
 import PerUserDriveChart from '@/core/chart/charts/per-user-drive.js';
diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts
index ce75f4800..61806583c 100644
--- a/packages/backend/src/core/FederatedInstanceService.ts
+++ b/packages/backend/src/core/FederatedInstanceService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
 import * as Redis from 'ioredis';
 import type { InstancesRepository } from '@/models/_.js';
-import type { MiInstance } from '@/models/entities/Instance.js';
+import type { MiInstance } from '@/models/Instance.js';
 import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js';
 import { IdService } from '@/core/IdService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/core/FetchInstanceMetadataService.ts b/packages/backend/src/core/FetchInstanceMetadataService.ts
index 4563006f6..682acef15 100644
--- a/packages/backend/src/core/FetchInstanceMetadataService.ts
+++ b/packages/backend/src/core/FetchInstanceMetadataService.ts
@@ -8,7 +8,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { JSDOM } from 'jsdom';
 import tinycolor from 'tinycolor2';
 import * as Redis from 'ioredis';
-import type { MiInstance } from '@/models/entities/Instance.js';
+import type { MiInstance } from '@/models/Instance.js';
 import type Logger from '@/logger.js';
 import { DI } from '@/di-symbols.js';
 import { LoggerService } from '@/core/LoggerService.js';
diff --git a/packages/backend/src/core/GlobalEventService.ts b/packages/backend/src/core/GlobalEventService.ts
index 7c811b7ae..4bc4f54c2 100644
--- a/packages/backend/src/core/GlobalEventService.ts
+++ b/packages/backend/src/core/GlobalEventService.ts
@@ -5,10 +5,10 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import * as Redis from 'ioredis';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiUserList } from '@/models/entities/UserList.js';
-import type { MiAntenna } from '@/models/entities/Antenna.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiUserList } from '@/models/UserList.js';
+import type { MiAntenna } from '@/models/Antenna.js';
 import type {
 	StreamChannels,
 	AdminStreamTypes,
diff --git a/packages/backend/src/core/HashtagService.ts b/packages/backend/src/core/HashtagService.ts
index 4e8763935..c72c7460f 100644
--- a/packages/backend/src/core/HashtagService.ts
+++ b/packages/backend/src/core/HashtagService.ts
@@ -5,10 +5,10 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { normalizeForSearch } from '@/misc/normalize-for-search.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiHashtag } from '@/models/entities/Hashtag.js';
+import type { MiHashtag } from '@/models/Hashtag.js';
 import type { HashtagsRepository } from '@/models/_.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/InstanceActorService.ts b/packages/backend/src/core/InstanceActorService.ts
index 3f237f14e..b40fd4629 100644
--- a/packages/backend/src/core/InstanceActorService.ts
+++ b/packages/backend/src/core/InstanceActorService.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import { IsNull } from 'typeorm';
-import type { MiLocalUser } from '@/models/entities/User.js';
+import type { MiLocalUser } from '@/models/User.js';
 import type { UsersRepository } from '@/models/_.js';
 import { MemorySingleCache } from '@/misc/cache.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/core/MetaService.ts b/packages/backend/src/core/MetaService.ts
index 42ce4de43..00e1e3c1f 100644
--- a/packages/backend/src/core/MetaService.ts
+++ b/packages/backend/src/core/MetaService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DataSource } from 'typeorm';
 import * as Redis from 'ioredis';
 import { DI } from '@/di-symbols.js';
-import { MiMeta } from '@/models/entities/Meta.js';
+import { MiMeta } from '@/models/Meta.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { bindThis } from '@/decorators.js';
 import { StreamMessages } from '@/server/api/stream/types.js';
diff --git a/packages/backend/src/core/MfmService.ts b/packages/backend/src/core/MfmService.ts
index b6f84da47..b275d1b14 100644
--- a/packages/backend/src/core/MfmService.ts
+++ b/packages/backend/src/core/MfmService.ts
@@ -10,7 +10,7 @@ import { Window } from 'happy-dom';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
 import { intersperse } from '@/misc/prelude/array.js';
-import type { IMentionedRemoteUsers } from '@/models/entities/Note.js';
+import type { IMentionedRemoteUsers } from '@/models/Note.js';
 import { bindThis } from '@/decorators.js';
 import * as TreeAdapter from '../../node_modules/parse5/dist/tree-adapters/default.js';
 import type * as mfm from 'mfm-js';
diff --git a/packages/backend/src/core/ModerationLogService.ts b/packages/backend/src/core/ModerationLogService.ts
index 4ec88041b..b0e5b794d 100644
--- a/packages/backend/src/core/ModerationLogService.ts
+++ b/packages/backend/src/core/ModerationLogService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { ModerationLogsRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { IdService } from '@/core/IdService.js';
 import { bindThis } from '@/decorators.js';
 
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts
index dbba602d0..4b0d81886 100644
--- a/packages/backend/src/core/NoteCreateService.ts
+++ b/packages/backend/src/core/NoteCreateService.ts
@@ -12,22 +12,22 @@ import RE2 from 're2';
 import { extractMentions } from '@/misc/extract-mentions.js';
 import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mfm.js';
 import { extractHashtags } from '@/misc/extract-hashtags.js';
-import type { IMentionedRemoteUsers } from '@/models/entities/Note.js';
-import { MiNote } from '@/models/entities/Note.js';
+import type { IMentionedRemoteUsers } from '@/models/Note.js';
+import { MiNote } from '@/models/Note.js';
 import type { ChannelsRepository, InstancesRepository, MutedNotesRepository, MutingsRepository, NotesRepository, NoteThreadMutingsRepository, UserProfilesRepository, UsersRepository } from '@/models/_.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiApp } from '@/models/entities/App.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiApp } from '@/models/App.js';
 import { concat } from '@/misc/prelude/array.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiUser, MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
-import type { IPoll } from '@/models/entities/Poll.js';
-import { MiPoll } from '@/models/entities/Poll.js';
+import type { MiUser, MiLocalUser, MiRemoteUser } from '@/models/User.js';
+import type { IPoll } from '@/models/Poll.js';
+import { MiPoll } from '@/models/Poll.js';
 import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
 import { checkWordMute } from '@/misc/check-word-mute.js';
-import type { MiChannel } from '@/models/entities/Channel.js';
+import type { MiChannel } from '@/models/Channel.js';
 import { normalizeForSearch } from '@/misc/normalize-for-search.js';
 import { MemorySingleCache } from '@/misc/cache.js';
-import type { MiUserProfile } from '@/models/entities/UserProfile.js';
+import type { MiUserProfile } from '@/models/UserProfile.js';
 import { RelayService } from '@/core/RelayService.js';
 import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/core/NoteDeleteService.ts b/packages/backend/src/core/NoteDeleteService.ts
index 2b51aa76f..69fff36a0 100644
--- a/packages/backend/src/core/NoteDeleteService.ts
+++ b/packages/backend/src/core/NoteDeleteService.ts
@@ -5,8 +5,8 @@
 
 import { Brackets, In } from 'typeorm';
 import { Injectable, Inject } from '@nestjs/common';
-import type { MiUser, MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
-import type { MiNote, IMentionedRemoteUsers } from '@/models/entities/Note.js';
+import type { MiUser, MiLocalUser, MiRemoteUser } from '@/models/User.js';
+import type { MiNote, IMentionedRemoteUsers } from '@/models/Note.js';
 import type { InstancesRepository, NotesRepository, UsersRepository } from '@/models/_.js';
 import { RelayService } from '@/core/RelayService.js';
 import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
diff --git a/packages/backend/src/core/NotePiningService.ts b/packages/backend/src/core/NotePiningService.ts
index a7646e996..147554ee9 100644
--- a/packages/backend/src/core/NotePiningService.ts
+++ b/packages/backend/src/core/NotePiningService.ts
@@ -7,10 +7,10 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NotesRepository, UserNotePiningsRepository, UsersRepository } from '@/models/_.js';
 import { IdentifiableError } from '@/misc/identifiable-error.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiUserNotePining } from '@/models/entities/UserNotePining.js';
+import type { MiUserNotePining } from '@/models/UserNotePining.js';
 import { RelayService } from '@/core/RelayService.js';
 import type { Config } from '@/config.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/core/NoteReadService.ts b/packages/backend/src/core/NoteReadService.ts
index f99aa2097..422e0192c 100644
--- a/packages/backend/src/core/NoteReadService.ts
+++ b/packages/backend/src/core/NoteReadService.ts
@@ -7,9 +7,9 @@ import { setTimeout } from 'node:timers/promises';
 import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
 import { In } from 'typeorm';
 import { DI } from '@/di-symbols.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { IdService } from '@/core/IdService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import type { NoteUnreadsRepository, MutingsRepository, NoteThreadMutingsRepository } from '@/models/_.js';
diff --git a/packages/backend/src/core/NotificationService.ts b/packages/backend/src/core/NotificationService.ts
index d82ebe009..258ae44f7 100644
--- a/packages/backend/src/core/NotificationService.ts
+++ b/packages/backend/src/core/NotificationService.ts
@@ -9,8 +9,8 @@ import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
 import { In } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { UsersRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNotification } from '@/models/entities/Notification.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNotification } from '@/models/Notification.js';
 import { bindThis } from '@/decorators.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { PushNotificationService } from '@/core/PushNotificationService.js';
diff --git a/packages/backend/src/core/PollService.ts b/packages/backend/src/core/PollService.ts
index d5e9ab972..940aa9834 100644
--- a/packages/backend/src/core/PollService.ts
+++ b/packages/backend/src/core/PollService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NotesRepository, UsersRepository, PollsRepository, PollVotesRepository, MiUser } from '@/models/_.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { RelayService } from '@/core/RelayService.js';
 import { IdService } from '@/core/IdService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
diff --git a/packages/backend/src/core/ProxyAccountService.ts b/packages/backend/src/core/ProxyAccountService.ts
index dfe546b54..b1bc60701 100644
--- a/packages/backend/src/core/ProxyAccountService.ts
+++ b/packages/backend/src/core/ProxyAccountService.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository } from '@/models/_.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
+import type { MiLocalUser } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { MetaService } from '@/core/MetaService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts
index c064732c7..9145726f8 100644
--- a/packages/backend/src/core/QueryService.ts
+++ b/packages/backend/src/core/QueryService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Brackets, ObjectLiteral } from 'typeorm';
 import { DI } from '@/di-symbols.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import type { UserProfilesRepository, FollowingsRepository, ChannelFollowingsRepository, MutedNotesRepository, BlockingsRepository, NoteThreadMutingsRepository, MutingsRepository, RenoteMutingsRepository } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
 import type { SelectQueryBuilder } from 'typeorm';
diff --git a/packages/backend/src/core/QueueService.ts b/packages/backend/src/core/QueueService.ts
index 310d5e5d9..d8c725003 100644
--- a/packages/backend/src/core/QueueService.ts
+++ b/packages/backend/src/core/QueueService.ts
@@ -6,8 +6,8 @@
 import { randomUUID } from 'node:crypto';
 import { Inject, Injectable } from '@nestjs/common';
 import type { IActivity } from '@/core/activitypub/type.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiWebhook, webhookEventTypes } from '@/models/entities/Webhook.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiWebhook, webhookEventTypes } from '@/models/Webhook.js';
 import type { Config } from '@/config.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/ReactionService.ts b/packages/backend/src/core/ReactionService.ts
index 04c58b977..d9bde502c 100644
--- a/packages/backend/src/core/ReactionService.ts
+++ b/packages/backend/src/core/ReactionService.ts
@@ -7,10 +7,10 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { EmojisRepository, NoteReactionsRepository, UsersRepository, NotesRepository } from '@/models/_.js';
 import { IdentifiableError } from '@/misc/identifiable-error.js';
-import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiRemoteUser, MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiNoteReaction } from '@/models/entities/NoteReaction.js';
+import type { MiNoteReaction } from '@/models/NoteReaction.js';
 import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { NotificationService } from '@/core/NotificationService.js';
diff --git a/packages/backend/src/core/RelayService.ts b/packages/backend/src/core/RelayService.ts
index 12a477a3b..7171bf84c 100644
--- a/packages/backend/src/core/RelayService.ts
+++ b/packages/backend/src/core/RelayService.ts
@@ -5,11 +5,11 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import { IsNull } from 'typeorm';
-import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiUser } from '@/models/User.js';
 import type { RelaysRepository, UsersRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
 import { MemorySingleCache } from '@/misc/cache.js';
-import type { MiRelay } from '@/models/entities/Relay.js';
+import type { MiRelay } from '@/models/Relay.js';
 import { QueueService } from '@/core/QueueService.js';
 import { CreateSystemUserService } from '@/core/CreateSystemUserService.js';
 import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
diff --git a/packages/backend/src/core/RemoteUserResolveService.ts b/packages/backend/src/core/RemoteUserResolveService.ts
index 4d90c075b..75c5f14aa 100644
--- a/packages/backend/src/core/RemoteUserResolveService.ts
+++ b/packages/backend/src/core/RemoteUserResolveService.ts
@@ -9,7 +9,7 @@ import chalk from 'chalk';
 import { IsNull } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { UsersRepository } from '@/models/_.js';
-import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiRemoteUser } from '@/models/User.js';
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import { UtilityService } from '@/core/UtilityService.js';
diff --git a/packages/backend/src/core/RoleService.ts b/packages/backend/src/core/RoleService.ts
index aeb2a7e64..518f28369 100644
--- a/packages/backend/src/core/RoleService.ts
+++ b/packages/backend/src/core/RoleService.ts
@@ -8,12 +8,12 @@ import * as Redis from 'ioredis';
 import { In } from 'typeorm';
 import type { MiRole, MiRoleAssignment, RoleAssignmentsRepository, RolesRepository, UsersRepository } from '@/models/_.js';
 import { MemoryKVCache, MemorySingleCache } from '@/misc/cache.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
 import { MetaService } from '@/core/MetaService.js';
 import { CacheService } from '@/core/CacheService.js';
-import type { RoleCondFormulaValue } from '@/models/entities/Role.js';
+import type { RoleCondFormulaValue } from '@/models/Role.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { StreamMessages } from '@/server/api/stream/types.js';
 import { IdService } from '@/core/IdService.js';
diff --git a/packages/backend/src/core/S3Service.ts b/packages/backend/src/core/S3Service.ts
index 4cd81b1b7..df0991539 100644
--- a/packages/backend/src/core/S3Service.ts
+++ b/packages/backend/src/core/S3Service.ts
@@ -10,7 +10,7 @@ import { Injectable } from '@nestjs/common';
 import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';
 import { Upload } from '@aws-sdk/lib-storage';
 import { NodeHttpHandler, NodeHttpHandlerOptions } from '@smithy/node-http-handler';
-import type { MiMeta } from '@/models/entities/Meta.js';
+import type { MiMeta } from '@/models/Meta.js';
 import { HttpRequestService } from '@/core/HttpRequestService.js';
 import { bindThis } from '@/decorators.js';
 import type { DeleteObjectCommandInput, PutObjectCommandInput } from '@aws-sdk/client-s3';
diff --git a/packages/backend/src/core/SearchService.ts b/packages/backend/src/core/SearchService.ts
index 39b6a708c..3ef321dd3 100644
--- a/packages/backend/src/core/SearchService.ts
+++ b/packages/backend/src/core/SearchService.ts
@@ -8,7 +8,7 @@ import { In } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
 import { bindThis } from '@/decorators.js';
-import { MiNote } from '@/models/entities/Note.js';
+import { MiNote } from '@/models/Note.js';
 import { MiUser } from '@/models/_.js';
 import type { NotesRepository } from '@/models/_.js';
 import { sqlLikeEscape } from '@/misc/sql-like-escape.js';
diff --git a/packages/backend/src/core/SignupService.ts b/packages/backend/src/core/SignupService.ts
index 467b93677..dfec0cfcf 100644
--- a/packages/backend/src/core/SignupService.ts
+++ b/packages/backend/src/core/SignupService.ts
@@ -9,11 +9,11 @@ import bcrypt from 'bcryptjs';
 import { DataSource, IsNull } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { UsedUsernamesRepository, UsersRepository } from '@/models/_.js';
-import { MiUser } from '@/models/entities/User.js';
-import { MiUserProfile } from '@/models/entities/UserProfile.js';
+import { MiUser } from '@/models/User.js';
+import { MiUserProfile } from '@/models/UserProfile.js';
 import { IdService } from '@/core/IdService.js';
-import { MiUserKeypair } from '@/models/entities/UserKeypair.js';
-import { MiUsedUsername } from '@/models/entities/UsedUsername.js';
+import { MiUserKeypair } from '@/models/UserKeypair.js';
+import { MiUsedUsername } from '@/models/UsedUsername.js';
 import generateUserToken from '@/misc/generate-native-user-token.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/UserBlockingService.ts b/packages/backend/src/core/UserBlockingService.ts
index 2d329a719..37031e341 100644
--- a/packages/backend/src/core/UserBlockingService.ts
+++ b/packages/backend/src/core/UserBlockingService.ts
@@ -6,8 +6,8 @@
 import { Inject, Injectable, OnModuleInit } from '@nestjs/common';
 import { ModuleRef } from '@nestjs/core';
 import { IdService } from '@/core/IdService.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiBlocking } from '@/models/entities/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiBlocking } from '@/models/Blocking.js';
 import { QueueService } from '@/core/QueueService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/core/UserFollowingService.ts b/packages/backend/src/core/UserFollowingService.ts
index 3b96eb480..5b2b0205d 100644
--- a/packages/backend/src/core/UserFollowingService.ts
+++ b/packages/backend/src/core/UserFollowingService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable, OnModuleInit, forwardRef } from '@nestjs/common';
 import { ModuleRef } from '@nestjs/core';
 import { IsNull } from 'typeorm';
-import type { MiLocalUser, MiPartialLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiPartialLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/User.js';
 import { IdentifiableError } from '@/misc/identifiable-error.js';
 import { QueueService } from '@/core/QueueService.js';
 import PerUserFollowingChart from '@/core/chart/charts/per-user-following.js';
diff --git a/packages/backend/src/core/UserKeypairService.ts b/packages/backend/src/core/UserKeypairService.ts
index 31555ba22..425a97f3f 100644
--- a/packages/backend/src/core/UserKeypairService.ts
+++ b/packages/backend/src/core/UserKeypairService.ts
@@ -5,10 +5,10 @@
 
 import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
 import * as Redis from 'ioredis';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import type { UserKeypairsRepository } from '@/models/_.js';
 import { RedisKVCache } from '@/misc/cache.js';
-import type { MiUserKeypair } from '@/models/entities/UserKeypair.js';
+import type { MiUserKeypair } from '@/models/UserKeypair.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
 
diff --git a/packages/backend/src/core/UserListService.ts b/packages/backend/src/core/UserListService.ts
index 8b1985c95..a71d50bba 100644
--- a/packages/backend/src/core/UserListService.ts
+++ b/packages/backend/src/core/UserListService.ts
@@ -5,9 +5,9 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { UserListJoiningsRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiUserList } from '@/models/entities/UserList.js';
-import type { MiUserListJoining } from '@/models/entities/UserListJoining.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiUserList } from '@/models/UserList.js';
+import type { MiUserListJoining } from '@/models/UserListJoining.js';
 import { IdService } from '@/core/IdService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/core/UserMutingService.ts b/packages/backend/src/core/UserMutingService.ts
index 52346ffe1..2387c9d64 100644
--- a/packages/backend/src/core/UserMutingService.ts
+++ b/packages/backend/src/core/UserMutingService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { In } from 'typeorm';
 import type { MutingsRepository, MiMuting } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
 import { CacheService } from '@/core/CacheService.js';
diff --git a/packages/backend/src/core/UserSuspendService.ts b/packages/backend/src/core/UserSuspendService.ts
index 914a1d7df..8940a142d 100644
--- a/packages/backend/src/core/UserSuspendService.ts
+++ b/packages/backend/src/core/UserSuspendService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Not, IsNull } from 'typeorm';
 import type { FollowingsRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { QueueService } from '@/core/QueueService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/core/WebhookService.ts b/packages/backend/src/core/WebhookService.ts
index c673562aa..1344f0ac9 100644
--- a/packages/backend/src/core/WebhookService.ts
+++ b/packages/backend/src/core/WebhookService.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import * as Redis from 'ioredis';
 import type { WebhooksRepository } from '@/models/_.js';
-import type { MiWebhook } from '@/models/entities/Webhook.js';
+import type { MiWebhook } from '@/models/Webhook.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
 import { StreamMessages } from '@/server/api/stream/types.js';
diff --git a/packages/backend/src/core/activitypub/ApAudienceService.ts b/packages/backend/src/core/activitypub/ApAudienceService.ts
index f3432f833..440852bdf 100644
--- a/packages/backend/src/core/activitypub/ApAudienceService.ts
+++ b/packages/backend/src/core/activitypub/ApAudienceService.ts
@@ -5,7 +5,7 @@
 
 import { Injectable } from '@nestjs/common';
 import promiseLimit from 'promise-limit';
-import type { MiRemoteUser, MiUser } from '@/models/entities/User.js';
+import type { MiRemoteUser, MiUser } from '@/models/User.js';
 import { concat, unique } from '@/misc/prelude/array.js';
 import { bindThis } from '@/decorators.js';
 import { getApIds } from './type.js';
diff --git a/packages/backend/src/core/activitypub/ApDbResolverService.ts b/packages/backend/src/core/activitypub/ApDbResolverService.ts
index 711cfbe5d..995c5dcd5 100644
--- a/packages/backend/src/core/activitypub/ApDbResolverService.ts
+++ b/packages/backend/src/core/activitypub/ApDbResolverService.ts
@@ -8,11 +8,11 @@ import { DI } from '@/di-symbols.js';
 import type { NotesRepository, UserPublickeysRepository, UsersRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
 import { MemoryKVCache } from '@/misc/cache.js';
-import type { MiUserPublickey } from '@/models/entities/UserPublickey.js';
+import type { MiUserPublickey } from '@/models/UserPublickey.js';
 import { CacheService } from '@/core/CacheService.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { bindThis } from '@/decorators.js';
-import { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
+import { MiLocalUser, MiRemoteUser } from '@/models/User.js';
 import { getApId } from './type.js';
 import { ApPersonService } from './models/ApPersonService.js';
 import type { IObject } from './type.js';
diff --git a/packages/backend/src/core/activitypub/ApDeliverManagerService.ts b/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
index 4557a9114..81003bcf1 100644
--- a/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
+++ b/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { IsNull, Not } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { FollowingsRepository } from '@/models/_.js';
-import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/User.js';
 import { QueueService } from '@/core/QueueService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/activitypub/ApInboxService.ts b/packages/backend/src/core/activitypub/ApInboxService.ts
index c47c72fda..b921ee745 100644
--- a/packages/backend/src/core/activitypub/ApInboxService.ts
+++ b/packages/backend/src/core/activitypub/ApInboxService.ts
@@ -26,7 +26,7 @@ import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { QueueService } from '@/core/QueueService.js';
 import type { UsersRepository, NotesRepository, FollowingsRepository, AbuseUserReportsRepository, FollowRequestsRepository } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
-import type { MiRemoteUser } from '@/models/entities/User.js';
+import type { MiRemoteUser } from '@/models/User.js';
 import { getApHrefNullable, getApId, getApIds, getApType, isAccept, isActor, isAdd, isAnnounce, isBlock, isCollection, isCollectionOrOrderedCollection, isCreate, isDelete, isFlag, isFollow, isLike, isMove, isPost, isReject, isRemove, isTombstone, isUndo, isUpdate, validActor, validPost } from './type.js';
 import { ApNoteService } from './models/ApNoteService.js';
 import { ApLoggerService } from './ApLoggerService.js';
diff --git a/packages/backend/src/core/activitypub/ApMfmService.ts b/packages/backend/src/core/activitypub/ApMfmService.ts
index 5dd4b7f6d..60868627a 100644
--- a/packages/backend/src/core/activitypub/ApMfmService.ts
+++ b/packages/backend/src/core/activitypub/ApMfmService.ts
@@ -6,7 +6,7 @@
 import { Injectable } from '@nestjs/common';
 import * as mfm from 'mfm-js';
 import { MfmService } from '@/core/MfmService.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { bindThis } from '@/decorators.js';
 import { extractApHashtagObjects } from './models/tag.js';
 import type { IObject } from './type.js';
diff --git a/packages/backend/src/core/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts
index a2f174e23..7a9d2e21d 100644
--- a/packages/backend/src/core/activitypub/ApRendererService.ts
+++ b/packages/backend/src/core/activitypub/ApRendererService.ts
@@ -9,20 +9,20 @@ import { In } from 'typeorm';
 import * as mfm from 'mfm-js';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
-import type { MiPartialLocalUser, MiLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
-import type { IMentionedRemoteUsers, MiNote } from '@/models/entities/Note.js';
-import type { MiBlocking } from '@/models/entities/Blocking.js';
-import type { MiRelay } from '@/models/entities/Relay.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiNoteReaction } from '@/models/entities/NoteReaction.js';
-import type { MiEmoji } from '@/models/entities/Emoji.js';
-import type { MiPoll } from '@/models/entities/Poll.js';
-import type { MiPollVote } from '@/models/entities/PollVote.js';
+import type { MiPartialLocalUser, MiLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/User.js';
+import type { IMentionedRemoteUsers, MiNote } from '@/models/Note.js';
+import type { MiBlocking } from '@/models/Blocking.js';
+import type { MiRelay } from '@/models/Relay.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiNoteReaction } from '@/models/NoteReaction.js';
+import type { MiEmoji } from '@/models/Emoji.js';
+import type { MiPoll } from '@/models/Poll.js';
+import type { MiPollVote } from '@/models/PollVote.js';
 import { UserKeypairService } from '@/core/UserKeypairService.js';
 import { MfmService } from '@/core/MfmService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
-import type { MiUserKeypair } from '@/models/entities/UserKeypair.js';
+import type { MiUserKeypair } from '@/models/UserKeypair.js';
 import type { UsersRepository, UserProfilesRepository, NotesRepository, DriveFilesRepository, PollsRepository } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
 import { CustomEmojiService } from '@/core/CustomEmojiService.js';
diff --git a/packages/backend/src/core/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts
index fb44a55de..b59ce5241 100644
--- a/packages/backend/src/core/activitypub/ApRequestService.ts
+++ b/packages/backend/src/core/activitypub/ApRequestService.ts
@@ -8,7 +8,7 @@ import { URL } from 'node:url';
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { UserKeypairService } from '@/core/UserKeypairService.js';
 import { HttpRequestService } from '@/core/HttpRequestService.js';
 import { LoggerService } from '@/core/LoggerService.js';
diff --git a/packages/backend/src/core/activitypub/ApResolverService.ts b/packages/backend/src/core/activitypub/ApResolverService.ts
index 0d7080733..058869ca7 100644
--- a/packages/backend/src/core/activitypub/ApResolverService.ts
+++ b/packages/backend/src/core/activitypub/ApResolverService.ts
@@ -4,7 +4,7 @@
  */
 
 import { Inject, Injectable } from '@nestjs/common';
-import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiRemoteUser } from '@/models/User.js';
 import { InstanceActorService } from '@/core/InstanceActorService.js';
 import type { NotesRepository, PollsRepository, NoteReactionsRepository, UsersRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
diff --git a/packages/backend/src/core/activitypub/models/ApImageService.ts b/packages/backend/src/core/activitypub/models/ApImageService.ts
index 906a2f3fb..a4cd53389 100644
--- a/packages/backend/src/core/activitypub/models/ApImageService.ts
+++ b/packages/backend/src/core/activitypub/models/ApImageService.ts
@@ -6,8 +6,8 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository } from '@/models/_.js';
-import type { MiRemoteUser } from '@/models/entities/User.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiRemoteUser } from '@/models/User.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { MetaService } from '@/core/MetaService.js';
 import { truncate } from '@/misc/truncate.js';
 import { DB_MAX_IMAGE_COMMENT_LENGTH } from '@/const.js';
diff --git a/packages/backend/src/core/activitypub/models/ApNoteService.ts b/packages/backend/src/core/activitypub/models/ApNoteService.ts
index 392bdf33e..573dff5b9 100644
--- a/packages/backend/src/core/activitypub/models/ApNoteService.ts
+++ b/packages/backend/src/core/activitypub/models/ApNoteService.ts
@@ -9,13 +9,13 @@ import { In } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { PollsRepository, EmojisRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
-import type { MiRemoteUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiRemoteUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
 import { toArray, toSingle, unique } from '@/misc/prelude/array.js';
-import type { MiEmoji } from '@/models/entities/Emoji.js';
+import type { MiEmoji } from '@/models/Emoji.js';
 import { MetaService } from '@/core/MetaService.js';
 import { AppLockService } from '@/core/AppLockService.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { NoteCreateService } from '@/core/NoteCreateService.js';
 import type Logger from '@/logger.js';
 import { IdService } from '@/core/IdService.js';
diff --git a/packages/backend/src/core/activitypub/models/ApPersonService.ts b/packages/backend/src/core/activitypub/models/ApPersonService.ts
index d233bcc8b..ea6488339 100644
--- a/packages/backend/src/core/activitypub/models/ApPersonService.ts
+++ b/packages/backend/src/core/activitypub/models/ApPersonService.ts
@@ -10,26 +10,26 @@ import { ModuleRef } from '@nestjs/core';
 import { DI } from '@/di-symbols.js';
 import type { FollowingsRepository, InstancesRepository, UserProfilesRepository, UserPublickeysRepository, UsersRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
-import type { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
-import { MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiRemoteUser } from '@/models/User.js';
+import { MiUser } from '@/models/User.js';
 import { truncate } from '@/misc/truncate.js';
 import type { CacheService } from '@/core/CacheService.js';
 import { normalizeForSearch } from '@/misc/normalize-for-search.js';
 import { isDuplicateKeyValueError } from '@/misc/is-duplicate-key-value-error.js';
 import type Logger from '@/logger.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import type { IdService } from '@/core/IdService.js';
 import type { MfmService } from '@/core/MfmService.js';
 import { toArray } from '@/misc/prelude/array.js';
 import type { GlobalEventService } from '@/core/GlobalEventService.js';
 import type { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
 import type { FetchInstanceMetadataService } from '@/core/FetchInstanceMetadataService.js';
-import { MiUserProfile } from '@/models/entities/UserProfile.js';
-import { MiUserPublickey } from '@/models/entities/UserPublickey.js';
+import { MiUserProfile } from '@/models/UserProfile.js';
+import { MiUserPublickey } from '@/models/UserPublickey.js';
 import type UsersChart from '@/core/chart/charts/users.js';
 import type InstanceChart from '@/core/chart/charts/instance.js';
 import type { HashtagService } from '@/core/HashtagService.js';
-import { MiUserNotePining } from '@/models/entities/UserNotePining.js';
+import { MiUserNotePining } from '@/models/UserNotePining.js';
 import { StatusError } from '@/misc/status-error.js';
 import type { UtilityService } from '@/core/UtilityService.js';
 import type { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/core/activitypub/models/ApQuestionService.ts b/packages/backend/src/core/activitypub/models/ApQuestionService.ts
index 85e97e0e8..27bd62268 100644
--- a/packages/backend/src/core/activitypub/models/ApQuestionService.ts
+++ b/packages/backend/src/core/activitypub/models/ApQuestionService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NotesRepository, PollsRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
-import type { IPoll } from '@/models/entities/Poll.js';
+import type { IPoll } from '@/models/Poll.js';
 import type Logger from '@/logger.js';
 import { bindThis } from '@/decorators.js';
 import { isQuestion } from '../type.js';
diff --git a/packages/backend/src/core/chart/charts/active-users.ts b/packages/backend/src/core/chart/charts/active-users.ts
index ff9db46bc..55da1469e 100644
--- a/packages/backend/src/core/chart/charts/active-users.ts
+++ b/packages/backend/src/core/chart/charts/active-users.ts
@@ -6,7 +6,7 @@
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
 import { AppLockService } from '@/core/AppLockService.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
 import Chart from '../core.js';
diff --git a/packages/backend/src/core/chart/charts/drive.ts b/packages/backend/src/core/chart/charts/drive.ts
index 2fe0f7616..bbcbf1a95 100644
--- a/packages/backend/src/core/chart/charts/drive.ts
+++ b/packages/backend/src/core/chart/charts/drive.ts
@@ -5,7 +5,7 @@
 
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/chart/charts/instance.ts b/packages/backend/src/core/chart/charts/instance.ts
index fe38b647b..9df0afb02 100644
--- a/packages/backend/src/core/chart/charts/instance.ts
+++ b/packages/backend/src/core/chart/charts/instance.ts
@@ -6,8 +6,8 @@
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
 import type { DriveFilesRepository, FollowingsRepository, UsersRepository, NotesRepository } from '@/models/_.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiNote } from '@/models/Note.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { UtilityService } from '@/core/UtilityService.js';
diff --git a/packages/backend/src/core/chart/charts/notes.ts b/packages/backend/src/core/chart/charts/notes.ts
index c1f3f13e0..df3295dba 100644
--- a/packages/backend/src/core/chart/charts/notes.ts
+++ b/packages/backend/src/core/chart/charts/notes.ts
@@ -6,7 +6,7 @@
 import { Injectable, Inject } from '@nestjs/common';
 import { Not, IsNull, DataSource } from 'typeorm';
 import type { NotesRepository } from '@/models/_.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/chart/charts/per-user-drive.ts b/packages/backend/src/core/chart/charts/per-user-drive.ts
index cf7e7c0d3..18354359c 100644
--- a/packages/backend/src/core/chart/charts/per-user-drive.ts
+++ b/packages/backend/src/core/chart/charts/per-user-drive.ts
@@ -6,7 +6,7 @@
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
 import type { DriveFilesRepository } from '@/models/_.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
diff --git a/packages/backend/src/core/chart/charts/per-user-following.ts b/packages/backend/src/core/chart/charts/per-user-following.ts
index e08029066..79bff2cb6 100644
--- a/packages/backend/src/core/chart/charts/per-user-following.ts
+++ b/packages/backend/src/core/chart/charts/per-user-following.ts
@@ -5,7 +5,7 @@
 
 import { Injectable, Inject } from '@nestjs/common';
 import { Not, IsNull, DataSource } from 'typeorm';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/core/chart/charts/per-user-notes.ts b/packages/backend/src/core/chart/charts/per-user-notes.ts
index 5215875cc..0db0e6f07 100644
--- a/packages/backend/src/core/chart/charts/per-user-notes.ts
+++ b/packages/backend/src/core/chart/charts/per-user-notes.ts
@@ -5,8 +5,8 @@
 
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import type { NotesRepository } from '@/models/_.js';
diff --git a/packages/backend/src/core/chart/charts/per-user-pv.ts b/packages/backend/src/core/chart/charts/per-user-pv.ts
index ad01e0483..cf1b4c71f 100644
--- a/packages/backend/src/core/chart/charts/per-user-pv.ts
+++ b/packages/backend/src/core/chart/charts/per-user-pv.ts
@@ -5,7 +5,7 @@
 
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/chart/charts/per-user-reactions.ts b/packages/backend/src/core/chart/charts/per-user-reactions.ts
index d6d54bef3..9f4f6e965 100644
--- a/packages/backend/src/core/chart/charts/per-user-reactions.ts
+++ b/packages/backend/src/core/chart/charts/per-user-reactions.ts
@@ -5,8 +5,8 @@
 
 import { Injectable, Inject } from '@nestjs/common';
 import { DataSource } from 'typeorm';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/core/chart/charts/users.ts b/packages/backend/src/core/chart/charts/users.ts
index ccf691292..c2026c2ae 100644
--- a/packages/backend/src/core/chart/charts/users.ts
+++ b/packages/backend/src/core/chart/charts/users.ts
@@ -5,7 +5,7 @@
 
 import { Injectable, Inject } from '@nestjs/common';
 import { Not, IsNull, DataSource } from 'typeorm';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/core/entities/AbuseUserReportEntityService.ts b/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
index 194157136..0e65a10d2 100644
--- a/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
+++ b/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { AbuseUserReportsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
+import type { MiAbuseUserReport } from '@/models/AbuseUserReport.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/AntennaEntityService.ts b/packages/backend/src/core/entities/AntennaEntityService.ts
index 073d0aa2a..ed108f2ce 100644
--- a/packages/backend/src/core/entities/AntennaEntityService.ts
+++ b/packages/backend/src/core/entities/AntennaEntityService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { AntennasRepository } from '@/models/_.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { MiAntenna } from '@/models/entities/Antenna.js';
+import type { MiAntenna } from '@/models/Antenna.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/entities/AppEntityService.ts b/packages/backend/src/core/entities/AppEntityService.ts
index e200e8ff4..14a93cda5 100644
--- a/packages/backend/src/core/entities/AppEntityService.ts
+++ b/packages/backend/src/core/entities/AppEntityService.ts
@@ -7,8 +7,8 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { AccessTokensRepository, AppsRepository } from '@/models/_.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { MiApp } from '@/models/entities/App.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiApp } from '@/models/App.js';
+import type { MiUser } from '@/models/User.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/entities/AuthSessionEntityService.ts b/packages/backend/src/core/entities/AuthSessionEntityService.ts
index bc87e26f2..fd356cc89 100644
--- a/packages/backend/src/core/entities/AuthSessionEntityService.ts
+++ b/packages/backend/src/core/entities/AuthSessionEntityService.ts
@@ -7,8 +7,8 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { AuthSessionsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { MiAuthSession } from '@/models/entities/AuthSession.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiAuthSession } from '@/models/AuthSession.js';
+import type { MiUser } from '@/models/User.js';
 import { bindThis } from '@/decorators.js';
 import { AppEntityService } from './AppEntityService.js';
 
diff --git a/packages/backend/src/core/entities/BlockingEntityService.ts b/packages/backend/src/core/entities/BlockingEntityService.ts
index 3773abaa8..44466e24e 100644
--- a/packages/backend/src/core/entities/BlockingEntityService.ts
+++ b/packages/backend/src/core/entities/BlockingEntityService.ts
@@ -8,8 +8,8 @@ import { DI } from '@/di-symbols.js';
 import type { BlockingsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { MiBlocking } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiBlocking } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/ChannelEntityService.ts b/packages/backend/src/core/entities/ChannelEntityService.ts
index 174f2befc..094de4d2d 100644
--- a/packages/backend/src/core/entities/ChannelEntityService.ts
+++ b/packages/backend/src/core/entities/ChannelEntityService.ts
@@ -7,9 +7,9 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository, NotesRepository } from '@/models/_.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiChannel } from '@/models/entities/Channel.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiChannel } from '@/models/Channel.js';
 import { bindThis } from '@/decorators.js';
 import { DriveFileEntityService } from './DriveFileEntityService.js';
 import { NoteEntityService } from './NoteEntityService.js';
diff --git a/packages/backend/src/core/entities/ClipEntityService.ts b/packages/backend/src/core/entities/ClipEntityService.ts
index 59615de15..e141db03f 100644
--- a/packages/backend/src/core/entities/ClipEntityService.ts
+++ b/packages/backend/src/core/entities/ClipEntityService.ts
@@ -8,8 +8,8 @@ import { DI } from '@/di-symbols.js';
 import type { ClipFavoritesRepository, ClipsRepository, MiUser } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiClip } from '@/models/entities/Clip.js';
+import type { } from '@/models/Blocking.js';
+import type { MiClip } from '@/models/Clip.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/DriveFileEntityService.ts b/packages/backend/src/core/entities/DriveFileEntityService.ts
index f1629a33d..23273b041 100644
--- a/packages/backend/src/core/entities/DriveFileEntityService.ts
+++ b/packages/backend/src/core/entities/DriveFileEntityService.ts
@@ -10,8 +10,8 @@ import type { DriveFilesRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
 import type { Packed } from '@/misc/json-schema.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { appendQuery, query } from '@/misc/prelude/url.js';
 import { deepClone } from '@/misc/clone.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/core/entities/DriveFolderEntityService.ts b/packages/backend/src/core/entities/DriveFolderEntityService.ts
index f93899217..55014284b 100644
--- a/packages/backend/src/core/entities/DriveFolderEntityService.ts
+++ b/packages/backend/src/core/entities/DriveFolderEntityService.ts
@@ -8,8 +8,8 @@ import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, DriveFoldersRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiDriveFolder } from '@/models/entities/DriveFolder.js';
+import type { } from '@/models/Blocking.js';
+import type { MiDriveFolder } from '@/models/DriveFolder.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/entities/EmojiEntityService.ts b/packages/backend/src/core/entities/EmojiEntityService.ts
index dda55e01d..5b97cfad5 100644
--- a/packages/backend/src/core/entities/EmojiEntityService.ts
+++ b/packages/backend/src/core/entities/EmojiEntityService.ts
@@ -7,8 +7,8 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { EmojisRepository } from '@/models/_.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiEmoji } from '@/models/entities/Emoji.js';
+import type { } from '@/models/Blocking.js';
+import type { MiEmoji } from '@/models/Emoji.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/entities/FlashEntityService.ts b/packages/backend/src/core/entities/FlashEntityService.ts
index b52e9f644..4701cddcb 100644
--- a/packages/backend/src/core/entities/FlashEntityService.ts
+++ b/packages/backend/src/core/entities/FlashEntityService.ts
@@ -8,9 +8,9 @@ import { DI } from '@/di-symbols.js';
 import type { FlashsRepository, FlashLikesRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiFlash } from '@/models/entities/Flash.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiFlash } from '@/models/Flash.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/FlashLikeEntityService.ts b/packages/backend/src/core/entities/FlashLikeEntityService.ts
index f5bdbe1de..2eff86217 100644
--- a/packages/backend/src/core/entities/FlashLikeEntityService.ts
+++ b/packages/backend/src/core/entities/FlashLikeEntityService.ts
@@ -6,9 +6,9 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { FlashLikesRepository } from '@/models/_.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiFlashLike } from '@/models/entities/FlashLike.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiFlashLike } from '@/models/FlashLike.js';
 import { bindThis } from '@/decorators.js';
 import { FlashEntityService } from './FlashEntityService.js';
 
diff --git a/packages/backend/src/core/entities/FollowRequestEntityService.ts b/packages/backend/src/core/entities/FollowRequestEntityService.ts
index 45ab7d330..0e0fec9f4 100644
--- a/packages/backend/src/core/entities/FollowRequestEntityService.ts
+++ b/packages/backend/src/core/entities/FollowRequestEntityService.ts
@@ -6,9 +6,9 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { FollowRequestsRepository } from '@/models/_.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiFollowRequest } from '@/models/entities/FollowRequest.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiFollowRequest } from '@/models/FollowRequest.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/FollowingEntityService.ts b/packages/backend/src/core/entities/FollowingEntityService.ts
index 1faa05163..9f6eb51e8 100644
--- a/packages/backend/src/core/entities/FollowingEntityService.ts
+++ b/packages/backend/src/core/entities/FollowingEntityService.ts
@@ -8,9 +8,9 @@ import { DI } from '@/di-symbols.js';
 import type { FollowingsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiFollowing } from '@/models/entities/Following.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiFollowing } from '@/models/Following.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/GalleryLikeEntityService.ts b/packages/backend/src/core/entities/GalleryLikeEntityService.ts
index 5f321da67..e74070188 100644
--- a/packages/backend/src/core/entities/GalleryLikeEntityService.ts
+++ b/packages/backend/src/core/entities/GalleryLikeEntityService.ts
@@ -6,8 +6,8 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { GalleryLikesRepository } from '@/models/_.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiGalleryLike } from '@/models/entities/GalleryLike.js';
+import type { } from '@/models/Blocking.js';
+import type { MiGalleryLike } from '@/models/GalleryLike.js';
 import { bindThis } from '@/decorators.js';
 import { GalleryPostEntityService } from './GalleryPostEntityService.js';
 
diff --git a/packages/backend/src/core/entities/GalleryPostEntityService.ts b/packages/backend/src/core/entities/GalleryPostEntityService.ts
index c05d6f5b2..bbaf70f0f 100644
--- a/packages/backend/src/core/entities/GalleryPostEntityService.ts
+++ b/packages/backend/src/core/entities/GalleryPostEntityService.ts
@@ -8,9 +8,9 @@ import { DI } from '@/di-symbols.js';
 import type { GalleryLikesRepository, GalleryPostsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiGalleryPost } from '@/models/entities/GalleryPost.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiGalleryPost } from '@/models/GalleryPost.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 import { DriveFileEntityService } from './DriveFileEntityService.js';
diff --git a/packages/backend/src/core/entities/HashtagEntityService.ts b/packages/backend/src/core/entities/HashtagEntityService.ts
index 21c5d1392..006e267b1 100644
--- a/packages/backend/src/core/entities/HashtagEntityService.ts
+++ b/packages/backend/src/core/entities/HashtagEntityService.ts
@@ -5,8 +5,8 @@
 
 import { Injectable } from '@nestjs/common';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiHashtag } from '@/models/entities/Hashtag.js';
+import type { } from '@/models/Blocking.js';
+import type { MiHashtag } from '@/models/Hashtag.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/entities/InstanceEntityService.ts b/packages/backend/src/core/entities/InstanceEntityService.ts
index 1de7564b0..0e27e9df7 100644
--- a/packages/backend/src/core/entities/InstanceEntityService.ts
+++ b/packages/backend/src/core/entities/InstanceEntityService.ts
@@ -5,8 +5,8 @@
 
 import { Injectable } from '@nestjs/common';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiInstance } from '@/models/entities/Instance.js';
+import type { } from '@/models/Blocking.js';
+import type { MiInstance } from '@/models/Instance.js';
 import { MetaService } from '@/core/MetaService.js';
 import { bindThis } from '@/decorators.js';
 import { UtilityService } from '../UtilityService.js';
diff --git a/packages/backend/src/core/entities/InviteCodeEntityService.ts b/packages/backend/src/core/entities/InviteCodeEntityService.ts
index d3c197fbf..914eaafe6 100644
--- a/packages/backend/src/core/entities/InviteCodeEntityService.ts
+++ b/packages/backend/src/core/entities/InviteCodeEntityService.ts
@@ -8,8 +8,8 @@ import { DI } from '@/di-symbols.js';
 import type { RegistrationTicketsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiRegistrationTicket } from '@/models/entities/RegistrationTicket.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiRegistrationTicket } from '@/models/RegistrationTicket.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/ModerationLogEntityService.ts b/packages/backend/src/core/entities/ModerationLogEntityService.ts
index 59bb0f32d..83b024d83 100644
--- a/packages/backend/src/core/entities/ModerationLogEntityService.ts
+++ b/packages/backend/src/core/entities/ModerationLogEntityService.ts
@@ -7,8 +7,8 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { ModerationLogsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiModerationLog } from '@/models/entities/ModerationLog.js';
+import type { } from '@/models/Blocking.js';
+import type { MiModerationLog } from '@/models/ModerationLog.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/MutingEntityService.ts b/packages/backend/src/core/entities/MutingEntityService.ts
index dcd1ddd03..e3d5d2e21 100644
--- a/packages/backend/src/core/entities/MutingEntityService.ts
+++ b/packages/backend/src/core/entities/MutingEntityService.ts
@@ -8,9 +8,9 @@ import { DI } from '@/di-symbols.js';
 import type { MutingsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiMuting } from '@/models/entities/Muting.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiMuting } from '@/models/Muting.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/NoteEntityService.ts b/packages/backend/src/core/entities/NoteEntityService.ts
index 242ef07e7..bf42e98ce 100644
--- a/packages/backend/src/core/entities/NoteEntityService.ts
+++ b/packages/backend/src/core/entities/NoteEntityService.ts
@@ -11,9 +11,9 @@ import { DI } from '@/di-symbols.js';
 import type { Packed } from '@/misc/json-schema.js';
 import { nyaize } from '@/misc/nyaize.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiNoteReaction } from '@/models/entities/NoteReaction.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiNoteReaction } from '@/models/NoteReaction.js';
 import type { UsersRepository, NotesRepository, FollowingsRepository, PollsRepository, PollVotesRepository, NoteReactionsRepository, ChannelsRepository } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
 import { isNotNull } from '@/misc/is-not-null.js';
diff --git a/packages/backend/src/core/entities/NoteFavoriteEntityService.ts b/packages/backend/src/core/entities/NoteFavoriteEntityService.ts
index ceddcfde5..808c8c9f6 100644
--- a/packages/backend/src/core/entities/NoteFavoriteEntityService.ts
+++ b/packages/backend/src/core/entities/NoteFavoriteEntityService.ts
@@ -6,9 +6,9 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NoteFavoritesRepository } from '@/models/_.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNoteFavorite } from '@/models/entities/NoteFavorite.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNoteFavorite } from '@/models/NoteFavorite.js';
 import { bindThis } from '@/decorators.js';
 import { NoteEntityService } from './NoteEntityService.js';
 
diff --git a/packages/backend/src/core/entities/NoteReactionEntityService.ts b/packages/backend/src/core/entities/NoteReactionEntityService.ts
index ad8eb06e8..9701f37fd 100644
--- a/packages/backend/src/core/entities/NoteReactionEntityService.ts
+++ b/packages/backend/src/core/entities/NoteReactionEntityService.ts
@@ -9,9 +9,9 @@ import type { NoteReactionsRepository } from '@/models/_.js';
 import type { Packed } from '@/misc/json-schema.js';
 import { bindThis } from '@/decorators.js';
 import type { OnModuleInit } from '@nestjs/common';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiNoteReaction } from '@/models/entities/NoteReaction.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiNoteReaction } from '@/models/NoteReaction.js';
 import type { ReactionService } from '../ReactionService.js';
 import type { UserEntityService } from './UserEntityService.js';
 import type { NoteEntityService } from './NoteEntityService.js';
diff --git a/packages/backend/src/core/entities/NotificationEntityService.ts b/packages/backend/src/core/entities/NotificationEntityService.ts
index 4cd4bc588..75a2f62f6 100644
--- a/packages/backend/src/core/entities/NotificationEntityService.ts
+++ b/packages/backend/src/core/entities/NotificationEntityService.ts
@@ -9,8 +9,8 @@ import { In } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { AccessTokensRepository, FollowRequestsRepository, NotesRepository, MiUser, UsersRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { MiNotification } from '@/models/entities/Notification.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNotification } from '@/models/Notification.js';
+import type { MiNote } from '@/models/Note.js';
 import type { Packed } from '@/misc/json-schema.js';
 import { bindThis } from '@/decorators.js';
 import { isNotNull } from '@/misc/is-not-null.js';
diff --git a/packages/backend/src/core/entities/PageEntityService.ts b/packages/backend/src/core/entities/PageEntityService.ts
index 3d03ac598..e3a1e19dd 100644
--- a/packages/backend/src/core/entities/PageEntityService.ts
+++ b/packages/backend/src/core/entities/PageEntityService.ts
@@ -8,10 +8,10 @@ import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, PagesRepository, PageLikesRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiPage } from '@/models/entities/Page.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiPage } from '@/models/Page.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 import { DriveFileEntityService } from './DriveFileEntityService.js';
diff --git a/packages/backend/src/core/entities/PageLikeEntityService.ts b/packages/backend/src/core/entities/PageLikeEntityService.ts
index 852135251..4dc691ab9 100644
--- a/packages/backend/src/core/entities/PageLikeEntityService.ts
+++ b/packages/backend/src/core/entities/PageLikeEntityService.ts
@@ -6,9 +6,9 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { PageLikesRepository } from '@/models/_.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiPageLike } from '@/models/entities/PageLike.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiPageLike } from '@/models/PageLike.js';
 import { bindThis } from '@/decorators.js';
 import { PageEntityService } from './PageEntityService.js';
 
diff --git a/packages/backend/src/core/entities/RenoteMutingEntityService.ts b/packages/backend/src/core/entities/RenoteMutingEntityService.ts
index bb0aa7f26..7111fab08 100644
--- a/packages/backend/src/core/entities/RenoteMutingEntityService.ts
+++ b/packages/backend/src/core/entities/RenoteMutingEntityService.ts
@@ -8,9 +8,9 @@ import { DI } from '@/di-symbols.js';
 import type { RenoteMutingsRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiRenoteMuting } from '@/models/entities/RenoteMuting.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiRenoteMuting } from '@/models/RenoteMuting.js';
 import { bindThis } from '@/decorators.js';
 import { UserEntityService } from './UserEntityService.js';
 
diff --git a/packages/backend/src/core/entities/RoleEntityService.ts b/packages/backend/src/core/entities/RoleEntityService.ts
index 5510c7569..23e82561d 100644
--- a/packages/backend/src/core/entities/RoleEntityService.ts
+++ b/packages/backend/src/core/entities/RoleEntityService.ts
@@ -8,8 +8,8 @@ import { Brackets } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { RoleAssignmentsRepository, RolesRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiRole } from '@/models/entities/Role.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiRole } from '@/models/Role.js';
 import { bindThis } from '@/decorators.js';
 import { DEFAULT_POLICIES } from '@/core/RoleService.js';
 
diff --git a/packages/backend/src/core/entities/SigninEntityService.ts b/packages/backend/src/core/entities/SigninEntityService.ts
index 59ad57e4a..8c88e8560 100644
--- a/packages/backend/src/core/entities/SigninEntityService.ts
+++ b/packages/backend/src/core/entities/SigninEntityService.ts
@@ -4,8 +4,8 @@
  */
 
 import { Injectable } from '@nestjs/common';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiSignin } from '@/models/entities/Signin.js';
+import type { } from '@/models/Blocking.js';
+import type { MiSignin } from '@/models/Signin.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts
index 7c880e7c6..c0909a663 100644
--- a/packages/backend/src/core/entities/UserEntityService.ts
+++ b/packages/backend/src/core/entities/UserEntityService.ts
@@ -13,8 +13,8 @@ import type { Packed } from '@/misc/json-schema.js';
 import type { Promiseable } from '@/misc/prelude/await-all.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
 import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from '@/const.js';
-import type { MiLocalUser, MiPartialLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
-import { birthdaySchema, descriptionSchema, localUsernameSchema, locationSchema, nameSchema, passwordSchema } from '@/models/entities/User.js';
+import type { MiLocalUser, MiPartialLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/User.js';
+import { birthdaySchema, descriptionSchema, localUsernameSchema, locationSchema, nameSchema, passwordSchema } from '@/models/User.js';
 import type { UsersRepository, UserSecurityKeysRepository, FollowingsRepository, FollowRequestsRepository, BlockingsRepository, MutingsRepository, DriveFilesRepository, NoteUnreadsRepository, UserNotePiningsRepository, UserProfilesRepository, AnnouncementReadsRepository, AnnouncementsRepository, MiUserProfile, RenoteMutingsRepository, UserMemoRepository } from '@/models/_.js';
 import { bindThis } from '@/decorators.js';
 import { RoleService } from '@/core/RoleService.js';
diff --git a/packages/backend/src/core/entities/UserListEntityService.ts b/packages/backend/src/core/entities/UserListEntityService.ts
index 79974dd6f..a7f288519 100644
--- a/packages/backend/src/core/entities/UserListEntityService.ts
+++ b/packages/backend/src/core/entities/UserListEntityService.ts
@@ -7,8 +7,8 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { UserListJoiningsRepository, UserListsRepository } from '@/models/_.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { } from '@/models/entities/Blocking.js';
-import type { MiUserList } from '@/models/entities/UserList.js';
+import type { } from '@/models/Blocking.js';
+import type { MiUserList } from '@/models/UserList.js';
 import { bindThis } from '@/decorators.js';
 
 @Injectable()
diff --git a/packages/backend/src/misc/check-word-mute.ts b/packages/backend/src/misc/check-word-mute.ts
index a7a60c20e..cef559545 100644
--- a/packages/backend/src/misc/check-word-mute.ts
+++ b/packages/backend/src/misc/check-word-mute.ts
@@ -5,8 +5,8 @@
 
 import { AhoCorasick } from 'slacc';
 import RE2 from 're2';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiUser } from '@/models/User.js';
 
 type NoteLike = {
 	userId: MiNote['userId'];
diff --git a/packages/backend/src/misc/is-quote.ts b/packages/backend/src/misc/is-quote.ts
index c9f3af15f..059f6a4b5 100644
--- a/packages/backend/src/misc/is-quote.ts
+++ b/packages/backend/src/misc/is-quote.ts
@@ -3,7 +3,7 @@
  * SPDX-License-Identifier: AGPL-3.0-only
  */
 
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 
 // eslint-disable-next-line import/no-default-export
 export default function(note: MiNote): boolean {
diff --git a/packages/backend/src/models/entities/AbuseUserReport.ts b/packages/backend/src/models/AbuseUserReport.ts
similarity index 97%
rename from packages/backend/src/models/entities/AbuseUserReport.ts
rename to packages/backend/src/models/AbuseUserReport.ts
index 522cc502c..2551af7cb 100644
--- a/packages/backend/src/models/entities/AbuseUserReport.ts
+++ b/packages/backend/src/models/AbuseUserReport.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('abuse_user_report')
diff --git a/packages/backend/src/models/entities/AccessToken.ts b/packages/backend/src/models/AccessToken.ts
similarity index 97%
rename from packages/backend/src/models/entities/AccessToken.ts
rename to packages/backend/src/models/AccessToken.ts
index 08bd2483e..5a6269a72 100644
--- a/packages/backend/src/models/entities/AccessToken.ts
+++ b/packages/backend/src/models/AccessToken.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, PrimaryColumn, Index, Column, ManyToOne, JoinColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiApp } from './App.js';
 
diff --git a/packages/backend/src/models/entities/Ad.ts b/packages/backend/src/models/Ad.ts
similarity index 97%
rename from packages/backend/src/models/entities/Ad.ts
rename to packages/backend/src/models/Ad.ts
index 2f84e7144..6dfc9cb30 100644
--- a/packages/backend/src/models/entities/Ad.ts
+++ b/packages/backend/src/models/Ad.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, Column, PrimaryColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 
 @Entity('ad')
 export class MiAd {
diff --git a/packages/backend/src/models/entities/Announcement.ts b/packages/backend/src/models/Announcement.ts
similarity index 98%
rename from packages/backend/src/models/entities/Announcement.ts
rename to packages/backend/src/models/Announcement.ts
index 9a2722b39..34b092a8d 100644
--- a/packages/backend/src/models/entities/Announcement.ts
+++ b/packages/backend/src/models/Announcement.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, Column, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('announcement')
diff --git a/packages/backend/src/models/entities/AnnouncementRead.ts b/packages/backend/src/models/AnnouncementRead.ts
similarity index 96%
rename from packages/backend/src/models/entities/AnnouncementRead.ts
rename to packages/backend/src/models/AnnouncementRead.ts
index 89dadaab3..3d6ec5652 100644
--- a/packages/backend/src/models/entities/AnnouncementRead.ts
+++ b/packages/backend/src/models/AnnouncementRead.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiAnnouncement } from './Announcement.js';
 
diff --git a/packages/backend/src/models/entities/Antenna.ts b/packages/backend/src/models/Antenna.ts
similarity index 98%
rename from packages/backend/src/models/entities/Antenna.ts
rename to packages/backend/src/models/Antenna.ts
index e73a4d55c..7c1d80cc4 100644
--- a/packages/backend/src/models/entities/Antenna.ts
+++ b/packages/backend/src/models/Antenna.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiUserList } from './UserList.js';
 
diff --git a/packages/backend/src/models/entities/App.ts b/packages/backend/src/models/App.ts
similarity index 97%
rename from packages/backend/src/models/entities/App.ts
rename to packages/backend/src/models/App.ts
index 99c41a203..c599ef8be 100644
--- a/packages/backend/src/models/entities/App.ts
+++ b/packages/backend/src/models/App.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, PrimaryColumn, Column, Index, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('app')
diff --git a/packages/backend/src/models/entities/AuthSession.ts b/packages/backend/src/models/AuthSession.ts
similarity index 96%
rename from packages/backend/src/models/entities/AuthSession.ts
rename to packages/backend/src/models/AuthSession.ts
index 1aabf836d..d9de6b697 100644
--- a/packages/backend/src/models/entities/AuthSession.ts
+++ b/packages/backend/src/models/AuthSession.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, PrimaryColumn, Index, Column, ManyToOne, JoinColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiApp } from './App.js';
 
diff --git a/packages/backend/src/models/entities/Blocking.ts b/packages/backend/src/models/Blocking.ts
similarity index 96%
rename from packages/backend/src/models/entities/Blocking.ts
rename to packages/backend/src/models/Blocking.ts
index 8bedb4395..1e3dd3a64 100644
--- a/packages/backend/src/models/entities/Blocking.ts
+++ b/packages/backend/src/models/Blocking.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('blocking')
diff --git a/packages/backend/src/models/entities/Channel.ts b/packages/backend/src/models/Channel.ts
similarity index 98%
rename from packages/backend/src/models/entities/Channel.ts
rename to packages/backend/src/models/Channel.ts
index 9a89b650a..ae3886a65 100644
--- a/packages/backend/src/models/entities/Channel.ts
+++ b/packages/backend/src/models/Channel.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiDriveFile } from './DriveFile.js';
 
diff --git a/packages/backend/src/models/entities/ChannelFavorite.ts b/packages/backend/src/models/ChannelFavorite.ts
similarity index 96%
rename from packages/backend/src/models/entities/ChannelFavorite.ts
rename to packages/backend/src/models/ChannelFavorite.ts
index c2be68ab7..ab74aa553 100644
--- a/packages/backend/src/models/entities/ChannelFavorite.ts
+++ b/packages/backend/src/models/ChannelFavorite.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiChannel } from './Channel.js';
 
diff --git a/packages/backend/src/models/entities/ChannelFollowing.ts b/packages/backend/src/models/ChannelFollowing.ts
similarity index 96%
rename from packages/backend/src/models/entities/ChannelFollowing.ts
rename to packages/backend/src/models/ChannelFollowing.ts
index dc33eb144..c62a95332 100644
--- a/packages/backend/src/models/entities/ChannelFollowing.ts
+++ b/packages/backend/src/models/ChannelFollowing.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiChannel } from './Channel.js';
 
diff --git a/packages/backend/src/models/entities/Clip.ts b/packages/backend/src/models/Clip.ts
similarity index 96%
rename from packages/backend/src/models/entities/Clip.ts
rename to packages/backend/src/models/Clip.ts
index f8bc2f217..c60b2964e 100644
--- a/packages/backend/src/models/entities/Clip.ts
+++ b/packages/backend/src/models/Clip.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('clip')
diff --git a/packages/backend/src/models/entities/ClipFavorite.ts b/packages/backend/src/models/ClipFavorite.ts
similarity index 95%
rename from packages/backend/src/models/entities/ClipFavorite.ts
rename to packages/backend/src/models/ClipFavorite.ts
index 74d765411..054764389 100644
--- a/packages/backend/src/models/entities/ClipFavorite.ts
+++ b/packages/backend/src/models/ClipFavorite.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiClip } from './Clip.js';
 
diff --git a/packages/backend/src/models/entities/ClipNote.ts b/packages/backend/src/models/ClipNote.ts
similarity index 95%
rename from packages/backend/src/models/entities/ClipNote.ts
rename to packages/backend/src/models/ClipNote.ts
index ed5458864..b7cc5ee39 100644
--- a/packages/backend/src/models/entities/ClipNote.ts
+++ b/packages/backend/src/models/ClipNote.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, JoinColumn, Column, ManyToOne, PrimaryColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiNote } from './Note.js';
 import { MiClip } from './Clip.js';
 
diff --git a/packages/backend/src/models/entities/DriveFile.ts b/packages/backend/src/models/DriveFile.ts
similarity index 99%
rename from packages/backend/src/models/entities/DriveFile.ts
rename to packages/backend/src/models/DriveFile.ts
index 55d6a9826..c12f0e0f0 100644
--- a/packages/backend/src/models/entities/DriveFile.ts
+++ b/packages/backend/src/models/DriveFile.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiDriveFolder } from './DriveFolder.js';
 
diff --git a/packages/backend/src/models/entities/DriveFolder.ts b/packages/backend/src/models/DriveFolder.ts
similarity index 96%
rename from packages/backend/src/models/entities/DriveFolder.ts
rename to packages/backend/src/models/DriveFolder.ts
index 614974af1..3e049136b 100644
--- a/packages/backend/src/models/entities/DriveFolder.ts
+++ b/packages/backend/src/models/DriveFolder.ts
@@ -4,7 +4,7 @@
  */
 
 import { JoinColumn, ManyToOne, Entity, PrimaryColumn, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('drive_folder')
diff --git a/packages/backend/src/models/entities/Emoji.ts b/packages/backend/src/models/Emoji.ts
similarity index 97%
rename from packages/backend/src/models/entities/Emoji.ts
rename to packages/backend/src/models/Emoji.ts
index a3ae1f258..563ac1d9d 100644
--- a/packages/backend/src/models/entities/Emoji.ts
+++ b/packages/backend/src/models/Emoji.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 
 @Entity('emoji')
 @Index(['name', 'host'], { unique: true })
diff --git a/packages/backend/src/models/entities/Flash.ts b/packages/backend/src/models/Flash.ts
similarity index 97%
rename from packages/backend/src/models/entities/Flash.ts
rename to packages/backend/src/models/Flash.ts
index 38e023332..185063029 100644
--- a/packages/backend/src/models/entities/Flash.ts
+++ b/packages/backend/src/models/Flash.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('flash')
diff --git a/packages/backend/src/models/entities/FlashLike.ts b/packages/backend/src/models/FlashLike.ts
similarity index 95%
rename from packages/backend/src/models/entities/FlashLike.ts
rename to packages/backend/src/models/FlashLike.ts
index 9486be3ea..7c66010ae 100644
--- a/packages/backend/src/models/entities/FlashLike.ts
+++ b/packages/backend/src/models/FlashLike.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiFlash } from './Flash.js';
 
diff --git a/packages/backend/src/models/entities/FollowRequest.ts b/packages/backend/src/models/FollowRequest.ts
similarity index 98%
rename from packages/backend/src/models/entities/FollowRequest.ts
rename to packages/backend/src/models/FollowRequest.ts
index 28385931b..769b9a6cb 100644
--- a/packages/backend/src/models/entities/FollowRequest.ts
+++ b/packages/backend/src/models/FollowRequest.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('follow_request')
diff --git a/packages/backend/src/models/entities/Following.ts b/packages/backend/src/models/Following.ts
similarity index 98%
rename from packages/backend/src/models/entities/Following.ts
rename to packages/backend/src/models/Following.ts
index df509cf94..05b729412 100644
--- a/packages/backend/src/models/entities/Following.ts
+++ b/packages/backend/src/models/Following.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('following')
diff --git a/packages/backend/src/models/entities/GalleryLike.ts b/packages/backend/src/models/GalleryLike.ts
similarity index 95%
rename from packages/backend/src/models/entities/GalleryLike.ts
rename to packages/backend/src/models/GalleryLike.ts
index 40aeeaad0..b5f71764a 100644
--- a/packages/backend/src/models/entities/GalleryLike.ts
+++ b/packages/backend/src/models/GalleryLike.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiGalleryPost } from './GalleryPost.js';
 
diff --git a/packages/backend/src/models/entities/GalleryPost.ts b/packages/backend/src/models/GalleryPost.ts
similarity index 97%
rename from packages/backend/src/models/entities/GalleryPost.ts
rename to packages/backend/src/models/GalleryPost.ts
index 777fe942e..4c6063f32 100644
--- a/packages/backend/src/models/entities/GalleryPost.ts
+++ b/packages/backend/src/models/GalleryPost.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import type { MiDriveFile } from './DriveFile.js';
 
diff --git a/packages/backend/src/models/entities/Hashtag.ts b/packages/backend/src/models/Hashtag.ts
similarity index 97%
rename from packages/backend/src/models/entities/Hashtag.ts
rename to packages/backend/src/models/Hashtag.ts
index 30fea91b7..149377475 100644
--- a/packages/backend/src/models/entities/Hashtag.ts
+++ b/packages/backend/src/models/Hashtag.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import type { MiUser } from './User.js';
 
 @Entity('hashtag')
diff --git a/packages/backend/src/models/entities/Instance.ts b/packages/backend/src/models/Instance.ts
similarity index 98%
rename from packages/backend/src/models/entities/Instance.ts
rename to packages/backend/src/models/Instance.ts
index 8c562ffa8..b225d918d 100644
--- a/packages/backend/src/models/entities/Instance.ts
+++ b/packages/backend/src/models/Instance.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 
 @Entity('instance')
 export class MiInstance {
diff --git a/packages/backend/src/models/entities/Meta.ts b/packages/backend/src/models/Meta.ts
similarity index 99%
rename from packages/backend/src/models/entities/Meta.ts
rename to packages/backend/src/models/Meta.ts
index 4bb77b792..a9e116341 100644
--- a/packages/backend/src/models/entities/Meta.ts
+++ b/packages/backend/src/models/Meta.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Column, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('meta')
diff --git a/packages/backend/src/models/entities/ModerationLog.ts b/packages/backend/src/models/ModerationLog.ts
similarity index 95%
rename from packages/backend/src/models/entities/ModerationLog.ts
rename to packages/backend/src/models/ModerationLog.ts
index 027645de6..a12b6ab61 100644
--- a/packages/backend/src/models/entities/ModerationLog.ts
+++ b/packages/backend/src/models/ModerationLog.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('moderation_log')
diff --git a/packages/backend/src/models/entities/MutedNote.ts b/packages/backend/src/models/MutedNote.ts
similarity index 96%
rename from packages/backend/src/models/entities/MutedNote.ts
rename to packages/backend/src/models/MutedNote.ts
index d33af90a9..75b7ab5fe 100644
--- a/packages/backend/src/models/entities/MutedNote.ts
+++ b/packages/backend/src/models/MutedNote.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, JoinColumn, Column, ManyToOne, PrimaryColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { mutedNoteReasons } from '../../types.js';
 import { MiNote } from './Note.js';
 import { MiUser } from './User.js';
diff --git a/packages/backend/src/models/entities/Muting.ts b/packages/backend/src/models/Muting.ts
similarity index 96%
rename from packages/backend/src/models/entities/Muting.ts
rename to packages/backend/src/models/Muting.ts
index b1f12f011..2f06ca8e5 100644
--- a/packages/backend/src/models/entities/Muting.ts
+++ b/packages/backend/src/models/Muting.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('muting')
diff --git a/packages/backend/src/models/entities/Note.ts b/packages/backend/src/models/Note.ts
similarity index 99%
rename from packages/backend/src/models/entities/Note.ts
rename to packages/backend/src/models/Note.ts
index effc1509e..549e9cfe9 100644
--- a/packages/backend/src/models/entities/Note.ts
+++ b/packages/backend/src/models/Note.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { noteVisibilities } from '../../types.js';
 import { MiUser } from './User.js';
 import { MiChannel } from './Channel.js';
diff --git a/packages/backend/src/models/entities/NoteFavorite.ts b/packages/backend/src/models/NoteFavorite.ts
similarity index 96%
rename from packages/backend/src/models/entities/NoteFavorite.ts
rename to packages/backend/src/models/NoteFavorite.ts
index 1b637e6b9..1171684bc 100644
--- a/packages/backend/src/models/entities/NoteFavorite.ts
+++ b/packages/backend/src/models/NoteFavorite.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiNote } from './Note.js';
 import { MiUser } from './User.js';
 
diff --git a/packages/backend/src/models/entities/NoteReaction.ts b/packages/backend/src/models/NoteReaction.ts
similarity index 96%
rename from packages/backend/src/models/entities/NoteReaction.ts
rename to packages/backend/src/models/NoteReaction.ts
index 19511abd1..7c08d31c6 100644
--- a/packages/backend/src/models/entities/NoteReaction.ts
+++ b/packages/backend/src/models/NoteReaction.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiNote } from './Note.js';
 
diff --git a/packages/backend/src/models/entities/NoteThreadMuting.ts b/packages/backend/src/models/NoteThreadMuting.ts
similarity index 95%
rename from packages/backend/src/models/entities/NoteThreadMuting.ts
rename to packages/backend/src/models/NoteThreadMuting.ts
index d8ccbe0f7..2d120e4c2 100644
--- a/packages/backend/src/models/entities/NoteThreadMuting.ts
+++ b/packages/backend/src/models/NoteThreadMuting.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('note_thread_muting')
diff --git a/packages/backend/src/models/entities/NoteUnread.ts b/packages/backend/src/models/NoteUnread.ts
similarity index 97%
rename from packages/backend/src/models/entities/NoteUnread.ts
rename to packages/backend/src/models/NoteUnread.ts
index 0f111cc1b..d86a47455 100644
--- a/packages/backend/src/models/entities/NoteUnread.ts
+++ b/packages/backend/src/models/NoteUnread.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiNote } from './Note.js';
 import type { MiChannel } from './Channel.js';
diff --git a/packages/backend/src/models/entities/Notification.ts b/packages/backend/src/models/Notification.ts
similarity index 100%
rename from packages/backend/src/models/entities/Notification.ts
rename to packages/backend/src/models/Notification.ts
diff --git a/packages/backend/src/models/entities/Page.ts b/packages/backend/src/models/Page.ts
similarity index 98%
rename from packages/backend/src/models/entities/Page.ts
rename to packages/backend/src/models/Page.ts
index 30131af85..3cb986f4e 100644
--- a/packages/backend/src/models/entities/Page.ts
+++ b/packages/backend/src/models/Page.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, JoinColumn, Column, PrimaryColumn, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiDriveFile } from './DriveFile.js';
 
diff --git a/packages/backend/src/models/entities/PageLike.ts b/packages/backend/src/models/PageLike.ts
similarity index 95%
rename from packages/backend/src/models/entities/PageLike.ts
rename to packages/backend/src/models/PageLike.ts
index 36f5177cf..92adf9bcc 100644
--- a/packages/backend/src/models/entities/PageLike.ts
+++ b/packages/backend/src/models/PageLike.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiPage } from './Page.js';
 
diff --git a/packages/backend/src/models/entities/PasswordResetRequest.ts b/packages/backend/src/models/PasswordResetRequest.ts
similarity index 95%
rename from packages/backend/src/models/entities/PasswordResetRequest.ts
rename to packages/backend/src/models/PasswordResetRequest.ts
index 4c608d979..79f2e984b 100644
--- a/packages/backend/src/models/entities/PasswordResetRequest.ts
+++ b/packages/backend/src/models/PasswordResetRequest.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, Column, ManyToOne, JoinColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('password_reset_request')
diff --git a/packages/backend/src/models/entities/Poll.ts b/packages/backend/src/models/Poll.ts
similarity index 97%
rename from packages/backend/src/models/entities/Poll.ts
rename to packages/backend/src/models/Poll.ts
index 557fd1be1..6863a78b7 100644
--- a/packages/backend/src/models/entities/Poll.ts
+++ b/packages/backend/src/models/Poll.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { noteVisibilities } from '../../types.js';
 import { MiNote } from './Note.js';
 import type { MiUser } from './User.js';
diff --git a/packages/backend/src/models/entities/PollVote.ts b/packages/backend/src/models/PollVote.ts
similarity index 96%
rename from packages/backend/src/models/entities/PollVote.ts
rename to packages/backend/src/models/PollVote.ts
index 5070ab16c..37cd55fc1 100644
--- a/packages/backend/src/models/entities/PollVote.ts
+++ b/packages/backend/src/models/PollVote.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiNote } from './Note.js';
 
diff --git a/packages/backend/src/models/entities/PromoNote.ts b/packages/backend/src/models/PromoNote.ts
similarity index 95%
rename from packages/backend/src/models/entities/PromoNote.ts
rename to packages/backend/src/models/PromoNote.ts
index 9daf915b5..f4425fe88 100644
--- a/packages/backend/src/models/entities/PromoNote.ts
+++ b/packages/backend/src/models/PromoNote.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiNote } from './Note.js';
 import type { MiUser } from './User.js';
 
diff --git a/packages/backend/src/models/entities/PromoRead.ts b/packages/backend/src/models/PromoRead.ts
similarity index 95%
rename from packages/backend/src/models/entities/PromoRead.ts
rename to packages/backend/src/models/PromoRead.ts
index 83a12858e..09ebfc834 100644
--- a/packages/backend/src/models/entities/PromoRead.ts
+++ b/packages/backend/src/models/PromoRead.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiNote } from './Note.js';
 import { MiUser } from './User.js';
 
diff --git a/packages/backend/src/models/entities/RegistrationTicket.ts b/packages/backend/src/models/RegistrationTicket.ts
similarity index 97%
rename from packages/backend/src/models/entities/RegistrationTicket.ts
rename to packages/backend/src/models/RegistrationTicket.ts
index 2b1c541a2..d94f46591 100644
--- a/packages/backend/src/models/entities/RegistrationTicket.ts
+++ b/packages/backend/src/models/RegistrationTicket.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, Column, ManyToOne, JoinColumn, OneToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('registration_ticket')
diff --git a/packages/backend/src/models/entities/RegistryItem.ts b/packages/backend/src/models/RegistryItem.ts
similarity index 97%
rename from packages/backend/src/models/entities/RegistryItem.ts
rename to packages/backend/src/models/RegistryItem.ts
index fdfa4212d..fdce57c46 100644
--- a/packages/backend/src/models/entities/RegistryItem.ts
+++ b/packages/backend/src/models/RegistryItem.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 // TODO: 同じdomain、同じscope、同じkeyのレコードは二つ以上存在しないように制約付けたい
diff --git a/packages/backend/src/models/entities/Relay.ts b/packages/backend/src/models/Relay.ts
similarity index 93%
rename from packages/backend/src/models/entities/Relay.ts
rename to packages/backend/src/models/Relay.ts
index f73ab193a..293fccecf 100644
--- a/packages/backend/src/models/entities/Relay.ts
+++ b/packages/backend/src/models/Relay.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 
 @Entity('relay')
 export class MiRelay {
diff --git a/packages/backend/src/models/entities/RenoteMuting.ts b/packages/backend/src/models/RenoteMuting.ts
similarity index 96%
rename from packages/backend/src/models/entities/RenoteMuting.ts
rename to packages/backend/src/models/RenoteMuting.ts
index fc87b82b7..d2a36249d 100644
--- a/packages/backend/src/models/entities/RenoteMuting.ts
+++ b/packages/backend/src/models/RenoteMuting.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('renote_muting')
diff --git a/packages/backend/src/models/entities/RetentionAggregation.ts b/packages/backend/src/models/RetentionAggregation.ts
similarity index 96%
rename from packages/backend/src/models/entities/RetentionAggregation.ts
rename to packages/backend/src/models/RetentionAggregation.ts
index 7d7874a60..9da401597 100644
--- a/packages/backend/src/models/entities/RetentionAggregation.ts
+++ b/packages/backend/src/models/RetentionAggregation.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import type { MiUser } from './User.js';
 
 @Entity('retention_aggregation')
diff --git a/packages/backend/src/models/entities/Role.ts b/packages/backend/src/models/Role.ts
similarity index 99%
rename from packages/backend/src/models/entities/Role.ts
rename to packages/backend/src/models/Role.ts
index 52e1f0c34..df7541db3 100644
--- a/packages/backend/src/models/entities/Role.ts
+++ b/packages/backend/src/models/Role.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Column, PrimaryColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 
 type CondFormulaValueAnd = {
 	type: 'and';
diff --git a/packages/backend/src/models/entities/RoleAssignment.ts b/packages/backend/src/models/RoleAssignment.ts
similarity index 96%
rename from packages/backend/src/models/entities/RoleAssignment.ts
rename to packages/backend/src/models/RoleAssignment.ts
index 5a2dacb91..4e5322c60 100644
--- a/packages/backend/src/models/entities/RoleAssignment.ts
+++ b/packages/backend/src/models/RoleAssignment.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiRole } from './Role.js';
 import { MiUser } from './User.js';
 
diff --git a/packages/backend/src/models/entities/Signin.ts b/packages/backend/src/models/Signin.ts
similarity index 95%
rename from packages/backend/src/models/entities/Signin.ts
rename to packages/backend/src/models/Signin.ts
index 709a99888..a8b1a45c5 100644
--- a/packages/backend/src/models/entities/Signin.ts
+++ b/packages/backend/src/models/Signin.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('signin')
diff --git a/packages/backend/src/models/entities/SwSubscription.ts b/packages/backend/src/models/SwSubscription.ts
similarity index 96%
rename from packages/backend/src/models/entities/SwSubscription.ts
rename to packages/backend/src/models/SwSubscription.ts
index 9c3f97cf9..be1e4e368 100644
--- a/packages/backend/src/models/entities/SwSubscription.ts
+++ b/packages/backend/src/models/SwSubscription.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('sw_subscription')
diff --git a/packages/backend/src/models/entities/UsedUsername.ts b/packages/backend/src/models/UsedUsername.ts
similarity index 100%
rename from packages/backend/src/models/entities/UsedUsername.ts
rename to packages/backend/src/models/UsedUsername.ts
diff --git a/packages/backend/src/models/entities/User.ts b/packages/backend/src/models/User.ts
similarity index 99%
rename from packages/backend/src/models/entities/User.ts
rename to packages/backend/src/models/User.ts
index 9db141bec..b040d302c 100644
--- a/packages/backend/src/models/entities/User.ts
+++ b/packages/backend/src/models/User.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Column, Index, OneToOne, JoinColumn, PrimaryColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiDriveFile } from './DriveFile.js';
 
 @Entity('user')
diff --git a/packages/backend/src/models/entities/UserIp.ts b/packages/backend/src/models/UserIp.ts
similarity index 94%
rename from packages/backend/src/models/entities/UserIp.ts
rename to packages/backend/src/models/UserIp.ts
index 8384984e6..60a7bc8b0 100644
--- a/packages/backend/src/models/entities/UserIp.ts
+++ b/packages/backend/src/models/UserIp.ts
@@ -4,7 +4,7 @@
  */
 
 import { Entity, Index, Column, PrimaryGeneratedColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import type { MiUser } from './User.js';
 
 @Entity('user_ip')
diff --git a/packages/backend/src/models/entities/UserKeypair.ts b/packages/backend/src/models/UserKeypair.ts
similarity index 95%
rename from packages/backend/src/models/entities/UserKeypair.ts
rename to packages/backend/src/models/UserKeypair.ts
index c9ea7d11f..a316dbaeb 100644
--- a/packages/backend/src/models/entities/UserKeypair.ts
+++ b/packages/backend/src/models/UserKeypair.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, JoinColumn, Column, OneToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('user_keypair')
diff --git a/packages/backend/src/models/entities/UserList.ts b/packages/backend/src/models/UserList.ts
similarity index 95%
rename from packages/backend/src/models/entities/UserList.ts
rename to packages/backend/src/models/UserList.ts
index a6216b567..9af85af97 100644
--- a/packages/backend/src/models/entities/UserList.ts
+++ b/packages/backend/src/models/UserList.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('user_list')
diff --git a/packages/backend/src/models/entities/UserListFavorite.ts b/packages/backend/src/models/UserListFavorite.ts
similarity index 95%
rename from packages/backend/src/models/entities/UserListFavorite.ts
rename to packages/backend/src/models/UserListFavorite.ts
index f3c4c1a4d..d0b054b93 100644
--- a/packages/backend/src/models/entities/UserListFavorite.ts
+++ b/packages/backend/src/models/UserListFavorite.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiUserList } from './UserList.js';
 
diff --git a/packages/backend/src/models/entities/UserListJoining.ts b/packages/backend/src/models/UserListJoining.ts
similarity index 96%
rename from packages/backend/src/models/entities/UserListJoining.ts
rename to packages/backend/src/models/UserListJoining.ts
index e4912024c..4918f2f70 100644
--- a/packages/backend/src/models/entities/UserListJoining.ts
+++ b/packages/backend/src/models/UserListJoining.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiUserList } from './UserList.js';
 
diff --git a/packages/backend/src/models/entities/UserMemo.ts b/packages/backend/src/models/UserMemo.ts
similarity index 96%
rename from packages/backend/src/models/entities/UserMemo.ts
rename to packages/backend/src/models/UserMemo.ts
index 9b8908050..ab5e812c4 100644
--- a/packages/backend/src/models/entities/UserMemo.ts
+++ b/packages/backend/src/models/UserMemo.ts
@@ -4,7 +4,7 @@
  */
 
 import { Column, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('user_memo')
diff --git a/packages/backend/src/models/entities/UserNotePining.ts b/packages/backend/src/models/UserNotePining.ts
similarity index 96%
rename from packages/backend/src/models/entities/UserNotePining.ts
rename to packages/backend/src/models/UserNotePining.ts
index 95bcb158b..1d50a5068 100644
--- a/packages/backend/src/models/entities/UserNotePining.ts
+++ b/packages/backend/src/models/UserNotePining.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiNote } from './Note.js';
 import { MiUser } from './User.js';
 
diff --git a/packages/backend/src/models/entities/UserPending.ts b/packages/backend/src/models/UserPending.ts
similarity index 94%
rename from packages/backend/src/models/entities/UserPending.ts
rename to packages/backend/src/models/UserPending.ts
index 8c9e01e59..b15ededa1 100644
--- a/packages/backend/src/models/entities/UserPending.ts
+++ b/packages/backend/src/models/UserPending.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, Column } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 
 @Entity('user_pending')
 export class MiUserPending {
diff --git a/packages/backend/src/models/entities/UserProfile.ts b/packages/backend/src/models/UserProfile.ts
similarity index 99%
rename from packages/backend/src/models/entities/UserProfile.ts
rename to packages/backend/src/models/UserProfile.ts
index 0fd26f4d6..6c7ffe4c3 100644
--- a/packages/backend/src/models/entities/UserProfile.ts
+++ b/packages/backend/src/models/UserProfile.ts
@@ -5,7 +5,7 @@
 
 import { Entity, Column, Index, OneToOne, JoinColumn, PrimaryColumn } from 'typeorm';
 import { obsoleteNotificationTypes, ffVisibility, notificationTypes } from '@/types.js';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 import { MiPage } from './Page.js';
 
diff --git a/packages/backend/src/models/entities/UserPublickey.ts b/packages/backend/src/models/UserPublickey.ts
similarity index 95%
rename from packages/backend/src/models/entities/UserPublickey.ts
rename to packages/backend/src/models/UserPublickey.ts
index afa37cf7e..33de73c63 100644
--- a/packages/backend/src/models/entities/UserPublickey.ts
+++ b/packages/backend/src/models/UserPublickey.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, OneToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('user_publickey')
diff --git a/packages/backend/src/models/entities/UserSecurityKey.ts b/packages/backend/src/models/UserSecurityKey.ts
similarity index 98%
rename from packages/backend/src/models/entities/UserSecurityKey.ts
rename to packages/backend/src/models/UserSecurityKey.ts
index 96dd27d08..02c29bfbb 100644
--- a/packages/backend/src/models/entities/UserSecurityKey.ts
+++ b/packages/backend/src/models/UserSecurityKey.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, JoinColumn, Column, ManyToOne, Index } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 @Entity('user_security_key')
diff --git a/packages/backend/src/models/entities/Webhook.ts b/packages/backend/src/models/Webhook.ts
similarity index 97%
rename from packages/backend/src/models/entities/Webhook.ts
rename to packages/backend/src/models/Webhook.ts
index f08d15825..5b009c18a 100644
--- a/packages/backend/src/models/entities/Webhook.ts
+++ b/packages/backend/src/models/Webhook.ts
@@ -4,7 +4,7 @@
  */
 
 import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
-import { id } from '../id.js';
+import { id } from './util/id.js';
 import { MiUser } from './User.js';
 
 export const webhookEventTypes = ['mention', 'unfollow', 'follow', 'followed', 'note', 'reply', 'renote', 'reaction'] as const;
diff --git a/packages/backend/src/models/_.ts b/packages/backend/src/models/_.ts
index e4f4dce7d..6be7bd0df 100644
--- a/packages/backend/src/models/_.ts
+++ b/packages/backend/src/models/_.ts
@@ -3,71 +3,71 @@
  * SPDX-License-Identifier: AGPL-3.0-only
  */
 
-import { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
-import { MiAccessToken } from '@/models/entities/AccessToken.js';
-import { MiAd } from '@/models/entities/Ad.js';
-import { MiAnnouncement } from '@/models/entities/Announcement.js';
-import { MiAnnouncementRead } from '@/models/entities/AnnouncementRead.js';
-import { MiAntenna } from '@/models/entities/Antenna.js';
-import { MiApp } from '@/models/entities/App.js';
-import { MiAuthSession } from '@/models/entities/AuthSession.js';
-import { MiBlocking } from '@/models/entities/Blocking.js';
-import { MiChannelFollowing } from '@/models/entities/ChannelFollowing.js';
-import { MiChannelFavorite } from '@/models/entities/ChannelFavorite.js';
-import { MiClip } from '@/models/entities/Clip.js';
-import { MiClipNote } from '@/models/entities/ClipNote.js';
-import { MiClipFavorite } from '@/models/entities/ClipFavorite.js';
-import { MiDriveFile } from '@/models/entities/DriveFile.js';
-import { MiDriveFolder } from '@/models/entities/DriveFolder.js';
-import { MiEmoji } from '@/models/entities/Emoji.js';
-import { MiFollowing } from '@/models/entities/Following.js';
-import { MiFollowRequest } from '@/models/entities/FollowRequest.js';
-import { MiGalleryLike } from '@/models/entities/GalleryLike.js';
-import { MiGalleryPost } from '@/models/entities/GalleryPost.js';
-import { MiHashtag } from '@/models/entities/Hashtag.js';
-import { MiInstance } from '@/models/entities/Instance.js';
-import { MiMeta } from '@/models/entities/Meta.js';
-import { MiModerationLog } from '@/models/entities/ModerationLog.js';
-import { MiMutedNote } from '@/models/entities/MutedNote.js';
-import { MiMuting } from '@/models/entities/Muting.js';
-import { MiRenoteMuting } from '@/models/entities/RenoteMuting.js';
-import { MiNote } from '@/models/entities/Note.js';
-import { MiNoteFavorite } from '@/models/entities/NoteFavorite.js';
-import { MiNoteReaction } from '@/models/entities/NoteReaction.js';
-import { MiNoteThreadMuting } from '@/models/entities/NoteThreadMuting.js';
-import { MiNoteUnread } from '@/models/entities/NoteUnread.js';
-import { MiPage } from '@/models/entities/Page.js';
-import { MiPageLike } from '@/models/entities/PageLike.js';
-import { MiPasswordResetRequest } from '@/models/entities/PasswordResetRequest.js';
-import { MiPoll } from '@/models/entities/Poll.js';
-import { MiPollVote } from '@/models/entities/PollVote.js';
-import { MiPromoNote } from '@/models/entities/PromoNote.js';
-import { MiPromoRead } from '@/models/entities/PromoRead.js';
-import { MiRegistrationTicket } from '@/models/entities/RegistrationTicket.js';
-import { MiRegistryItem } from '@/models/entities/RegistryItem.js';
-import { MiRelay } from '@/models/entities/Relay.js';
-import { MiSignin } from '@/models/entities/Signin.js';
-import { MiSwSubscription } from '@/models/entities/SwSubscription.js';
-import { MiUsedUsername } from '@/models/entities/UsedUsername.js';
-import { MiUser } from '@/models/entities/User.js';
-import { MiUserIp } from '@/models/entities/UserIp.js';
-import { MiUserKeypair } from '@/models/entities/UserKeypair.js';
-import { MiUserList } from '@/models/entities/UserList.js';
-import { MiUserListJoining } from '@/models/entities/UserListJoining.js';
-import { MiUserNotePining } from '@/models/entities/UserNotePining.js';
-import { MiUserPending } from '@/models/entities/UserPending.js';
-import { MiUserProfile } from '@/models/entities/UserProfile.js';
-import { MiUserPublickey } from '@/models/entities/UserPublickey.js';
-import { MiUserSecurityKey } from '@/models/entities/UserSecurityKey.js';
-import { MiUserMemo } from '@/models/entities/UserMemo.js';
-import { MiWebhook } from '@/models/entities/Webhook.js';
-import { MiChannel } from '@/models/entities/Channel.js';
-import { MiRetentionAggregation } from '@/models/entities/RetentionAggregation.js';
-import { MiRole } from '@/models/entities/Role.js';
-import { MiRoleAssignment } from '@/models/entities/RoleAssignment.js';
-import { MiFlash } from '@/models/entities/Flash.js';
-import { MiFlashLike } from '@/models/entities/FlashLike.js';
-import { MiUserListFavorite } from './entities/UserListFavorite.js';
+import { MiAbuseUserReport } from '@/models/AbuseUserReport.js';
+import { MiAccessToken } from '@/models/AccessToken.js';
+import { MiAd } from '@/models/Ad.js';
+import { MiAnnouncement } from '@/models/Announcement.js';
+import { MiAnnouncementRead } from '@/models/AnnouncementRead.js';
+import { MiAntenna } from '@/models/Antenna.js';
+import { MiApp } from '@/models/App.js';
+import { MiAuthSession } from '@/models/AuthSession.js';
+import { MiBlocking } from '@/models/Blocking.js';
+import { MiChannelFollowing } from '@/models/ChannelFollowing.js';
+import { MiChannelFavorite } from '@/models/ChannelFavorite.js';
+import { MiClip } from '@/models/Clip.js';
+import { MiClipNote } from '@/models/ClipNote.js';
+import { MiClipFavorite } from '@/models/ClipFavorite.js';
+import { MiDriveFile } from '@/models/DriveFile.js';
+import { MiDriveFolder } from '@/models/DriveFolder.js';
+import { MiEmoji } from '@/models/Emoji.js';
+import { MiFollowing } from '@/models/Following.js';
+import { MiFollowRequest } from '@/models/FollowRequest.js';
+import { MiGalleryLike } from '@/models/GalleryLike.js';
+import { MiGalleryPost } from '@/models/GalleryPost.js';
+import { MiHashtag } from '@/models/Hashtag.js';
+import { MiInstance } from '@/models/Instance.js';
+import { MiMeta } from '@/models/Meta.js';
+import { MiModerationLog } from '@/models/ModerationLog.js';
+import { MiMutedNote } from '@/models/MutedNote.js';
+import { MiMuting } from '@/models/Muting.js';
+import { MiRenoteMuting } from '@/models/RenoteMuting.js';
+import { MiNote } from '@/models/Note.js';
+import { MiNoteFavorite } from '@/models/NoteFavorite.js';
+import { MiNoteReaction } from '@/models/NoteReaction.js';
+import { MiNoteThreadMuting } from '@/models/NoteThreadMuting.js';
+import { MiNoteUnread } from '@/models/NoteUnread.js';
+import { MiPage } from '@/models/Page.js';
+import { MiPageLike } from '@/models/PageLike.js';
+import { MiPasswordResetRequest } from '@/models/PasswordResetRequest.js';
+import { MiPoll } from '@/models/Poll.js';
+import { MiPollVote } from '@/models/PollVote.js';
+import { MiPromoNote } from '@/models/PromoNote.js';
+import { MiPromoRead } from '@/models/PromoRead.js';
+import { MiRegistrationTicket } from '@/models/RegistrationTicket.js';
+import { MiRegistryItem } from '@/models/RegistryItem.js';
+import { MiRelay } from '@/models/Relay.js';
+import { MiSignin } from '@/models/Signin.js';
+import { MiSwSubscription } from '@/models/SwSubscription.js';
+import { MiUsedUsername } from '@/models/UsedUsername.js';
+import { MiUser } from '@/models/User.js';
+import { MiUserIp } from '@/models/UserIp.js';
+import { MiUserKeypair } from '@/models/UserKeypair.js';
+import { MiUserList } from '@/models/UserList.js';
+import { MiUserListJoining } from '@/models/UserListJoining.js';
+import { MiUserNotePining } from '@/models/UserNotePining.js';
+import { MiUserPending } from '@/models/UserPending.js';
+import { MiUserProfile } from '@/models/UserProfile.js';
+import { MiUserPublickey } from '@/models/UserPublickey.js';
+import { MiUserSecurityKey } from '@/models/UserSecurityKey.js';
+import { MiUserMemo } from '@/models/UserMemo.js';
+import { MiWebhook } from '@/models/Webhook.js';
+import { MiChannel } from '@/models/Channel.js';
+import { MiRetentionAggregation } from '@/models/RetentionAggregation.js';
+import { MiRole } from '@/models/Role.js';
+import { MiRoleAssignment } from '@/models/RoleAssignment.js';
+import { MiFlash } from '@/models/Flash.js';
+import { MiFlashLike } from '@/models/FlashLike.js';
+import { MiUserListFavorite } from '@/models/UserListFavorite.js';
 import type { Repository } from 'typeorm';
 
 export {
diff --git a/packages/backend/src/models/id.ts b/packages/backend/src/models/util/id.ts
similarity index 100%
rename from packages/backend/src/models/id.ts
rename to packages/backend/src/models/util/id.ts
diff --git a/packages/backend/src/postgres.ts b/packages/backend/src/postgres.ts
index c5d9e4146..10126eab2 100644
--- a/packages/backend/src/postgres.ts
+++ b/packages/backend/src/postgres.ts
@@ -11,71 +11,71 @@ import { DataSource, Logger } from 'typeorm';
 import * as highlight from 'cli-highlight';
 import { entities as charts } from '@/core/chart/entities.js';
 
-import { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
-import { MiAccessToken } from '@/models/entities/AccessToken.js';
-import { MiAd } from '@/models/entities/Ad.js';
-import { MiAnnouncement } from '@/models/entities/Announcement.js';
-import { MiAnnouncementRead } from '@/models/entities/AnnouncementRead.js';
-import { MiAntenna } from '@/models/entities/Antenna.js';
-import { MiApp } from '@/models/entities/App.js';
-import { MiAuthSession } from '@/models/entities/AuthSession.js';
-import { MiBlocking } from '@/models/entities/Blocking.js';
-import { MiChannelFollowing } from '@/models/entities/ChannelFollowing.js';
-import { MiChannelFavorite } from '@/models/entities/ChannelFavorite.js';
-import { MiClip } from '@/models/entities/Clip.js';
-import { MiClipNote } from '@/models/entities/ClipNote.js';
-import { MiClipFavorite } from '@/models/entities/ClipFavorite.js';
-import { MiDriveFile } from '@/models/entities/DriveFile.js';
-import { MiDriveFolder } from '@/models/entities/DriveFolder.js';
-import { MiEmoji } from '@/models/entities/Emoji.js';
-import { MiFollowing } from '@/models/entities/Following.js';
-import { MiFollowRequest } from '@/models/entities/FollowRequest.js';
-import { MiGalleryLike } from '@/models/entities/GalleryLike.js';
-import { MiGalleryPost } from '@/models/entities/GalleryPost.js';
-import { MiHashtag } from '@/models/entities/Hashtag.js';
-import { MiInstance } from '@/models/entities/Instance.js';
-import { MiMeta } from '@/models/entities/Meta.js';
-import { MiModerationLog } from '@/models/entities/ModerationLog.js';
-import { MiMutedNote } from '@/models/entities/MutedNote.js';
-import { MiMuting } from '@/models/entities/Muting.js';
-import { MiRenoteMuting } from '@/models/entities/RenoteMuting.js';
-import { MiNote } from '@/models/entities/Note.js';
-import { MiNoteFavorite } from '@/models/entities/NoteFavorite.js';
-import { MiNoteReaction } from '@/models/entities/NoteReaction.js';
-import { MiNoteThreadMuting } from '@/models/entities/NoteThreadMuting.js';
-import { MiNoteUnread } from '@/models/entities/NoteUnread.js';
-import { MiPage } from '@/models/entities/Page.js';
-import { MiPageLike } from '@/models/entities/PageLike.js';
-import { MiPasswordResetRequest } from '@/models/entities/PasswordResetRequest.js';
-import { MiPoll } from '@/models/entities/Poll.js';
-import { MiPollVote } from '@/models/entities/PollVote.js';
-import { MiPromoNote } from '@/models/entities/PromoNote.js';
-import { MiPromoRead } from '@/models/entities/PromoRead.js';
-import { MiRegistrationTicket } from '@/models/entities/RegistrationTicket.js';
-import { MiRegistryItem } from '@/models/entities/RegistryItem.js';
-import { MiRelay } from '@/models/entities/Relay.js';
-import { MiSignin } from '@/models/entities/Signin.js';
-import { MiSwSubscription } from '@/models/entities/SwSubscription.js';
-import { MiUsedUsername } from '@/models/entities/UsedUsername.js';
-import { MiUser } from '@/models/entities/User.js';
-import { MiUserIp } from '@/models/entities/UserIp.js';
-import { MiUserKeypair } from '@/models/entities/UserKeypair.js';
-import { MiUserList } from '@/models/entities/UserList.js';
-import { MiUserListFavorite } from '@/models/entities/UserListFavorite.js';
-import { MiUserListJoining } from '@/models/entities/UserListJoining.js';
-import { MiUserNotePining } from '@/models/entities/UserNotePining.js';
-import { MiUserPending } from '@/models/entities/UserPending.js';
-import { MiUserProfile } from '@/models/entities/UserProfile.js';
-import { MiUserPublickey } from '@/models/entities/UserPublickey.js';
-import { MiUserSecurityKey } from '@/models/entities/UserSecurityKey.js';
-import { MiWebhook } from '@/models/entities/Webhook.js';
-import { MiChannel } from '@/models/entities/Channel.js';
-import { MiRetentionAggregation } from '@/models/entities/RetentionAggregation.js';
-import { MiRole } from '@/models/entities/Role.js';
-import { MiRoleAssignment } from '@/models/entities/RoleAssignment.js';
-import { MiFlash } from '@/models/entities/Flash.js';
-import { MiFlashLike } from '@/models/entities/FlashLike.js';
-import { MiUserMemo } from '@/models/entities/UserMemo.js';
+import { MiAbuseUserReport } from '@/models/AbuseUserReport.js';
+import { MiAccessToken } from '@/models/AccessToken.js';
+import { MiAd } from '@/models/Ad.js';
+import { MiAnnouncement } from '@/models/Announcement.js';
+import { MiAnnouncementRead } from '@/models/AnnouncementRead.js';
+import { MiAntenna } from '@/models/Antenna.js';
+import { MiApp } from '@/models/App.js';
+import { MiAuthSession } from '@/models/AuthSession.js';
+import { MiBlocking } from '@/models/Blocking.js';
+import { MiChannelFollowing } from '@/models/ChannelFollowing.js';
+import { MiChannelFavorite } from '@/models/ChannelFavorite.js';
+import { MiClip } from '@/models/Clip.js';
+import { MiClipNote } from '@/models/ClipNote.js';
+import { MiClipFavorite } from '@/models/ClipFavorite.js';
+import { MiDriveFile } from '@/models/DriveFile.js';
+import { MiDriveFolder } from '@/models/DriveFolder.js';
+import { MiEmoji } from '@/models/Emoji.js';
+import { MiFollowing } from '@/models/Following.js';
+import { MiFollowRequest } from '@/models/FollowRequest.js';
+import { MiGalleryLike } from '@/models/GalleryLike.js';
+import { MiGalleryPost } from '@/models/GalleryPost.js';
+import { MiHashtag } from '@/models/Hashtag.js';
+import { MiInstance } from '@/models/Instance.js';
+import { MiMeta } from '@/models/Meta.js';
+import { MiModerationLog } from '@/models/ModerationLog.js';
+import { MiMutedNote } from '@/models/MutedNote.js';
+import { MiMuting } from '@/models/Muting.js';
+import { MiRenoteMuting } from '@/models/RenoteMuting.js';
+import { MiNote } from '@/models/Note.js';
+import { MiNoteFavorite } from '@/models/NoteFavorite.js';
+import { MiNoteReaction } from '@/models/NoteReaction.js';
+import { MiNoteThreadMuting } from '@/models/NoteThreadMuting.js';
+import { MiNoteUnread } from '@/models/NoteUnread.js';
+import { MiPage } from '@/models/Page.js';
+import { MiPageLike } from '@/models/PageLike.js';
+import { MiPasswordResetRequest } from '@/models/PasswordResetRequest.js';
+import { MiPoll } from '@/models/Poll.js';
+import { MiPollVote } from '@/models/PollVote.js';
+import { MiPromoNote } from '@/models/PromoNote.js';
+import { MiPromoRead } from '@/models/PromoRead.js';
+import { MiRegistrationTicket } from '@/models/RegistrationTicket.js';
+import { MiRegistryItem } from '@/models/RegistryItem.js';
+import { MiRelay } from '@/models/Relay.js';
+import { MiSignin } from '@/models/Signin.js';
+import { MiSwSubscription } from '@/models/SwSubscription.js';
+import { MiUsedUsername } from '@/models/UsedUsername.js';
+import { MiUser } from '@/models/User.js';
+import { MiUserIp } from '@/models/UserIp.js';
+import { MiUserKeypair } from '@/models/UserKeypair.js';
+import { MiUserList } from '@/models/UserList.js';
+import { MiUserListFavorite } from '@/models/UserListFavorite.js';
+import { MiUserListJoining } from '@/models/UserListJoining.js';
+import { MiUserNotePining } from '@/models/UserNotePining.js';
+import { MiUserPending } from '@/models/UserPending.js';
+import { MiUserProfile } from '@/models/UserProfile.js';
+import { MiUserPublickey } from '@/models/UserPublickey.js';
+import { MiUserSecurityKey } from '@/models/UserSecurityKey.js';
+import { MiWebhook } from '@/models/Webhook.js';
+import { MiChannel } from '@/models/Channel.js';
+import { MiRetentionAggregation } from '@/models/RetentionAggregation.js';
+import { MiRole } from '@/models/Role.js';
+import { MiRoleAssignment } from '@/models/RoleAssignment.js';
+import { MiFlash } from '@/models/Flash.js';
+import { MiFlashLike } from '@/models/FlashLike.js';
+import { MiUserMemo } from '@/models/UserMemo.js';
 
 import { Config } from '@/config.js';
 import MisskeyLogger from '@/logger.js';
diff --git a/packages/backend/src/queue/processors/DeleteAccountProcessorService.ts b/packages/backend/src/queue/processors/DeleteAccountProcessorService.ts
index 5ffd8cea9..39967165d 100644
--- a/packages/backend/src/queue/processors/DeleteAccountProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeleteAccountProcessorService.ts
@@ -9,8 +9,8 @@ import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, NotesRepository, UserProfilesRepository, UsersRepository } from '@/models/_.js';
 import type Logger from '@/logger.js';
 import { DriveService } from '@/core/DriveService.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiNote } from '@/models/Note.js';
 import { EmailService } from '@/core/EmailService.js';
 import { bindThis } from '@/decorators.js';
 import { SearchService } from '@/core/SearchService.js';
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts
index f600bb25c..4a1d9f28b 100644
--- a/packages/backend/src/queue/processors/DeliverProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts
@@ -13,7 +13,7 @@ import { ApRequestService } from '@/core/activitypub/ApRequestService.js';
 import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
 import { FetchInstanceMetadataService } from '@/core/FetchInstanceMetadataService.js';
 import { MemorySingleCache } from '@/misc/cache.js';
-import type { MiInstance } from '@/models/entities/Instance.js';
+import type { MiInstance } from '@/models/Instance.js';
 import InstanceChart from '@/core/chart/charts/instance.js';
 import ApRequestChart from '@/core/chart/charts/ap-request.js';
 import FederationChart from '@/core/chart/charts/federation.js';
diff --git a/packages/backend/src/queue/processors/ExportFavoritesProcessorService.ts b/packages/backend/src/queue/processors/ExportFavoritesProcessorService.ts
index 68aaf1038..7248c7a64 100644
--- a/packages/backend/src/queue/processors/ExportFavoritesProcessorService.ts
+++ b/packages/backend/src/queue/processors/ExportFavoritesProcessorService.ts
@@ -12,8 +12,8 @@ import type { MiNoteFavorite, NoteFavoritesRepository, PollsRepository, MiUser,
 import type Logger from '@/logger.js';
 import { DriveService } from '@/core/DriveService.js';
 import { createTemp } from '@/misc/create-temp.js';
-import type { MiPoll } from '@/models/entities/Poll.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiPoll } from '@/models/Poll.js';
+import type { MiNote } from '@/models/Note.js';
 import { bindThis } from '@/decorators.js';
 import { QueueLoggerService } from '../QueueLoggerService.js';
 import type * as Bull from 'bullmq';
diff --git a/packages/backend/src/queue/processors/ExportFollowingProcessorService.ts b/packages/backend/src/queue/processors/ExportFollowingProcessorService.ts
index 1aec36d6d..c9739eb1c 100644
--- a/packages/backend/src/queue/processors/ExportFollowingProcessorService.ts
+++ b/packages/backend/src/queue/processors/ExportFollowingProcessorService.ts
@@ -12,7 +12,7 @@ import type { UsersRepository, FollowingsRepository, MutingsRepository } from '@
 import type Logger from '@/logger.js';
 import { DriveService } from '@/core/DriveService.js';
 import { createTemp } from '@/misc/create-temp.js';
-import type { MiFollowing } from '@/models/entities/Following.js';
+import type { MiFollowing } from '@/models/Following.js';
 import { UtilityService } from '@/core/UtilityService.js';
 import { bindThis } from '@/decorators.js';
 import { QueueLoggerService } from '../QueueLoggerService.js';
diff --git a/packages/backend/src/queue/processors/ExportNotesProcessorService.ts b/packages/backend/src/queue/processors/ExportNotesProcessorService.ts
index 2c6d2f04d..e0bc80e19 100644
--- a/packages/backend/src/queue/processors/ExportNotesProcessorService.ts
+++ b/packages/backend/src/queue/processors/ExportNotesProcessorService.ts
@@ -12,8 +12,8 @@ import type { NotesRepository, PollsRepository, UsersRepository } from '@/models
 import type Logger from '@/logger.js';
 import { DriveService } from '@/core/DriveService.js';
 import { createTemp } from '@/misc/create-temp.js';
-import type { MiPoll } from '@/models/entities/Poll.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiPoll } from '@/models/Poll.js';
+import type { MiNote } from '@/models/Note.js';
 import { bindThis } from '@/decorators.js';
 import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
 import { Packed } from '@/misc/json-schema.js';
diff --git a/packages/backend/src/queue/processors/InboxProcessorService.ts b/packages/backend/src/queue/processors/InboxProcessorService.ts
index ba00cc2ac..99e823f9f 100644
--- a/packages/backend/src/queue/processors/InboxProcessorService.ts
+++ b/packages/backend/src/queue/processors/InboxProcessorService.ts
@@ -15,8 +15,8 @@ import InstanceChart from '@/core/chart/charts/instance.js';
 import ApRequestChart from '@/core/chart/charts/ap-request.js';
 import FederationChart from '@/core/chart/charts/federation.js';
 import { getApId } from '@/core/activitypub/type.js';
-import type { MiRemoteUser } from '@/models/entities/User.js';
-import type { MiUserPublickey } from '@/models/entities/UserPublickey.js';
+import type { MiRemoteUser } from '@/models/User.js';
+import type { MiUserPublickey } from '@/models/UserPublickey.js';
 import { ApDbResolverService } from '@/core/activitypub/ApDbResolverService.js';
 import { StatusError } from '@/misc/status-error.js';
 import { UtilityService } from '@/core/UtilityService.js';
diff --git a/packages/backend/src/queue/processors/RelationshipProcessorService.ts b/packages/backend/src/queue/processors/RelationshipProcessorService.ts
index 6ed3e6c4d..5b2d2ef31 100644
--- a/packages/backend/src/queue/processors/RelationshipProcessorService.ts
+++ b/packages/backend/src/queue/processors/RelationshipProcessorService.ts
@@ -12,7 +12,7 @@ import type Logger from '@/logger.js';
 
 import type { UsersRepository } from '@/models/_.js';
 import { DI } from '@/di-symbols.js';
-import { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
+import { MiLocalUser, MiRemoteUser } from '@/models/User.js';
 import { RelationshipJobData } from '../types.js';
 import { QueueLoggerService } from '../QueueLoggerService.js';
 import type * as Bull from 'bullmq';
diff --git a/packages/backend/src/queue/types.ts b/packages/backend/src/queue/types.ts
index 85af9d531..c9122f5ca 100644
--- a/packages/backend/src/queue/types.ts
+++ b/packages/backend/src/queue/types.ts
@@ -4,10 +4,10 @@
  */
 
 import type { Antenna } from '@/server/api/endpoints/i/import-antennas.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiWebhook } from '@/models/entities/Webhook.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiWebhook } from '@/models/Webhook.js';
 import type { IActivity } from '@/core/activitypub/type.js';
 import type httpSignature from '@peertube/http-signature';
 
diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts
index a42495db5..2428fa279 100644
--- a/packages/backend/src/server/ActivityPubServerService.ts
+++ b/packages/backend/src/server/ActivityPubServerService.ts
@@ -16,11 +16,11 @@ import * as url from '@/misc/prelude/url.js';
 import type { Config } from '@/config.js';
 import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { QueueService } from '@/core/QueueService.js';
-import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
+import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/User.js';
 import { UserKeypairService } from '@/core/UserKeypairService.js';
-import type { MiFollowing } from '@/models/entities/Following.js';
+import type { MiFollowing } from '@/models/Following.js';
 import { countIf } from '@/misc/prelude/array.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { QueryService } from '@/core/QueryService.js';
 import { UtilityService } from '@/core/UtilityService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/server/WellKnownServerService.ts b/packages/backend/src/server/WellKnownServerService.ts
index 833031e23..8fc3c96de 100644
--- a/packages/backend/src/server/WellKnownServerService.ts
+++ b/packages/backend/src/server/WellKnownServerService.ts
@@ -11,7 +11,7 @@ import { DI } from '@/di-symbols.js';
 import type { UsersRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
 import { escapeAttribute, escapeValue } from '@/misc/prelude/xml.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import * as Acct from '@/misc/acct.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/server/api/ApiCallService.ts b/packages/backend/src/server/api/ApiCallService.ts
index 07ef12732..085a0fd58 100644
--- a/packages/backend/src/server/api/ApiCallService.ts
+++ b/packages/backend/src/server/api/ApiCallService.ts
@@ -9,8 +9,8 @@ import * as stream from 'node:stream/promises';
 import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import { getIpHash } from '@/misc/get-ip-hash.js';
-import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
-import type { MiAccessToken } from '@/models/entities/AccessToken.js';
+import type { MiLocalUser, MiUser } from '@/models/User.js';
+import type { MiAccessToken } from '@/models/AccessToken.js';
 import type Logger from '@/logger.js';
 import type { UserIpsRepository } from '@/models/_.js';
 import { MetaService } from '@/core/MetaService.js';
diff --git a/packages/backend/src/server/api/AuthenticateService.ts b/packages/backend/src/server/api/AuthenticateService.ts
index c470a2075..f07568819 100644
--- a/packages/backend/src/server/api/AuthenticateService.ts
+++ b/packages/backend/src/server/api/AuthenticateService.ts
@@ -6,10 +6,10 @@
 import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { AccessTokensRepository, AppsRepository, UsersRepository } from '@/models/_.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
-import type { MiAccessToken } from '@/models/entities/AccessToken.js';
+import type { MiLocalUser } from '@/models/User.js';
+import type { MiAccessToken } from '@/models/AccessToken.js';
 import { MemoryKVCache } from '@/misc/cache.js';
-import type { MiApp } from '@/models/entities/App.js';
+import type { MiApp } from '@/models/App.js';
 import { CacheService } from '@/core/CacheService.js';
 import isNativeToken from '@/misc/is-native-token.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/server/api/GetterService.ts b/packages/backend/src/server/api/GetterService.ts
index 020bcad12..e2b98c34e 100644
--- a/packages/backend/src/server/api/GetterService.ts
+++ b/packages/backend/src/server/api/GetterService.ts
@@ -7,8 +7,8 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { NotesRepository, UsersRepository } from '@/models/_.js';
 import { IdentifiableError } from '@/misc/identifiable-error.js';
-import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/entities/User.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiLocalUser, MiRemoteUser, MiUser } from '@/models/User.js';
+import type { MiNote } from '@/models/Note.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { bindThis } from '@/decorators.js';
 
diff --git a/packages/backend/src/server/api/SigninApiService.ts b/packages/backend/src/server/api/SigninApiService.ts
index 9a395a25d..48d74e2b0 100644
--- a/packages/backend/src/server/api/SigninApiService.ts
+++ b/packages/backend/src/server/api/SigninApiService.ts
@@ -15,7 +15,7 @@ import type {
 } from '@/models/_.js';
 import type { Config } from '@/config.js';
 import { getIpHash } from '@/misc/get-ip-hash.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
+import type { MiLocalUser } from '@/models/User.js';
 import { IdService } from '@/core/IdService.js';
 import { bindThis } from '@/decorators.js';
 import { WebAuthnService } from '@/core/WebAuthnService.js';
diff --git a/packages/backend/src/server/api/SigninService.ts b/packages/backend/src/server/api/SigninService.ts
index 25882fecf..cebba8c8e 100644
--- a/packages/backend/src/server/api/SigninService.ts
+++ b/packages/backend/src/server/api/SigninService.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { SigninsRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
+import type { MiLocalUser } from '@/models/User.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { SigninEntityService } from '@/core/entities/SigninEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts
index dac3e02dd..431df581b 100644
--- a/packages/backend/src/server/api/SignupApiService.ts
+++ b/packages/backend/src/server/api/SignupApiService.ts
@@ -15,7 +15,7 @@ import { IdService } from '@/core/IdService.js';
 import { SignupService } from '@/core/SignupService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { EmailService } from '@/core/EmailService.js';
-import { MiLocalUser } from '@/models/entities/User.js';
+import { MiLocalUser } from '@/models/User.js';
 import { FastifyReplyError } from '@/misc/fastify-reply-error.js';
 import { bindThis } from '@/decorators.js';
 import { L_CHARS, secureRndstr } from '@/misc/secure-rndstr.js';
diff --git a/packages/backend/src/server/api/StreamingApiServerService.ts b/packages/backend/src/server/api/StreamingApiServerService.ts
index a1766d588..9acaa688c 100644
--- a/packages/backend/src/server/api/StreamingApiServerService.ts
+++ b/packages/backend/src/server/api/StreamingApiServerService.ts
@@ -13,7 +13,7 @@ import { NoteReadService } from '@/core/NoteReadService.js';
 import { NotificationService } from '@/core/NotificationService.js';
 import { bindThis } from '@/decorators.js';
 import { CacheService } from '@/core/CacheService.js';
-import { MiLocalUser } from '@/models/entities/User.js';
+import { MiLocalUser } from '@/models/User.js';
 import { AuthenticateService, AuthenticationError } from './AuthenticateService.js';
 import MainStreamConnection from './stream/Connection.js';
 import { ChannelsService } from './stream/ChannelsService.js';
diff --git a/packages/backend/src/server/api/endpoint-base.ts b/packages/backend/src/server/api/endpoint-base.ts
index 531311e47..d5279faa1 100644
--- a/packages/backend/src/server/api/endpoint-base.ts
+++ b/packages/backend/src/server/api/endpoint-base.ts
@@ -6,8 +6,8 @@
 import * as fs from 'node:fs';
 import _Ajv from 'ajv';
 import type { Schema, SchemaType } from '@/misc/json-schema.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
-import type { MiAccessToken } from '@/models/entities/AccessToken.js';
+import type { MiLocalUser } from '@/models/User.js';
+import type { MiAccessToken } from '@/models/AccessToken.js';
 import { ApiError } from './error.js';
 import type { IEndpointMeta } from './endpoints.js';
 
diff --git a/packages/backend/src/server/api/endpoints/admin/accounts/create.ts b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts
index 861a91d6d..070e88f6f 100644
--- a/packages/backend/src/server/api/endpoints/admin/accounts/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts
@@ -9,7 +9,7 @@ import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { UsersRepository } from '@/models/_.js';
 import { SignupService } from '@/core/SignupService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
-import { localUsernameSchema, passwordSchema } from '@/models/entities/User.js';
+import { localUsernameSchema, passwordSchema } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 
 export const meta = {
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/list.ts b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts
index 82dc1fcdf..c82e702ee 100644
--- a/packages/backend/src/server/api/endpoints/admin/announcements/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { AnnouncementsRepository, AnnouncementReadsRepository } from '@/models/_.js';
-import type { MiAnnouncement } from '@/models/entities/Announcement.js';
+import type { MiAnnouncement } from '@/models/Announcement.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { QueryService } from '@/core/QueryService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
index f374b3130..c5f986ff0 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { EmojisRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { DI } from '@/di-symbols.js';
 import { DriveService } from '@/core/DriveService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/list.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts
index 2bd77219b..ab16d86a3 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { EmojisRepository } from '@/models/_.js';
-import type { MiEmoji } from '@/models/entities/Emoji.js';
+import type { MiEmoji } from '@/models/Emoji.js';
 import { QueryService } from '@/core/QueryService.js';
 import { DI } from '@/di-symbols.js';
 import { EmojiEntityService } from '@/core/entities/EmojiEntityService.js';
diff --git a/packages/backend/src/server/api/endpoints/admin/suspend-user.ts b/packages/backend/src/server/api/endpoints/admin/suspend-user.ts
index 01c220a93..bcf12fa4e 100644
--- a/packages/backend/src/server/api/endpoints/admin/suspend-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/suspend-user.ts
@@ -7,7 +7,7 @@ import { IsNull, Not } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { UsersRepository, FollowingsRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import type { RelationshipJobData } from '@/queue/types.js';
 import { ModerationLogService } from '@/core/ModerationLogService.js';
 import { UserSuspendService } from '@/core/UserSuspendService.js';
diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
index 65b7736d1..614e0a95d 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
@@ -4,7 +4,7 @@
  */
 
 import { Injectable } from '@nestjs/common';
-import type { MiMeta } from '@/models/entities/Meta.js';
+import type { MiMeta } from '@/models/Meta.js';
 import { ModerationLogService } from '@/core/ModerationLogService.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { MetaService } from '@/core/MetaService.js';
diff --git a/packages/backend/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts
index f3ca931f2..f442fbdd2 100644
--- a/packages/backend/src/server/api/endpoints/ap/show.ts
+++ b/packages/backend/src/server/api/endpoints/ap/show.ts
@@ -6,8 +6,8 @@
 import { Injectable } from '@nestjs/common';
 import ms from 'ms';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiLocalUser, MiUser } from '@/models/entities/User.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiLocalUser, MiUser } from '@/models/User.js';
 import { isActor, isPost, getApId } from '@/core/activitypub/type.js';
 import type { SchemaType } from '@/misc/json-schema.js';
 import { ApResolverService } from '@/core/activitypub/ApResolverService.js';
diff --git a/packages/backend/src/server/api/endpoints/channels/create.ts b/packages/backend/src/server/api/endpoints/channels/create.ts
index 9806f9097..e72120e15 100644
--- a/packages/backend/src/server/api/endpoints/channels/create.ts
+++ b/packages/backend/src/server/api/endpoints/channels/create.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import ms from 'ms';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { ChannelsRepository, DriveFilesRepository } from '@/models/_.js';
-import type { MiChannel } from '@/models/entities/Channel.js';
+import type { MiChannel } from '@/models/Channel.js';
 import { IdService } from '@/core/IdService.js';
 import { ChannelEntityService } from '@/core/entities/ChannelEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/drive/files/show.ts b/packages/backend/src/server/api/endpoints/drive/files/show.ts
index c52fa2873..474c7f02d 100644
--- a/packages/backend/src/server/api/endpoints/drive/files/show.ts
+++ b/packages/backend/src/server/api/endpoints/drive/files/show.ts
@@ -4,7 +4,7 @@
  */
 
 import { Inject, Injectable } from '@nestjs/common';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import type { DriveFilesRepository } from '@/models/_.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
diff --git a/packages/backend/src/server/api/endpoints/gallery/posts/create.ts b/packages/backend/src/server/api/endpoints/gallery/posts/create.ts
index 3a0590f1d..94701712d 100644
--- a/packages/backend/src/server/api/endpoints/gallery/posts/create.ts
+++ b/packages/backend/src/server/api/endpoints/gallery/posts/create.ts
@@ -7,8 +7,8 @@ import ms from 'ms';
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { DriveFilesRepository, GalleryPostsRepository } from '@/models/_.js';
-import { MiGalleryPost } from '@/models/entities/GalleryPost.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import { MiGalleryPost } from '@/models/GalleryPost.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { IdService } from '@/core/IdService.js';
 import { GalleryPostEntityService } from '@/core/entities/GalleryPostEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/gallery/posts/update.ts b/packages/backend/src/server/api/endpoints/gallery/posts/update.ts
index 4ef414a83..632214a0c 100644
--- a/packages/backend/src/server/api/endpoints/gallery/posts/update.ts
+++ b/packages/backend/src/server/api/endpoints/gallery/posts/update.ts
@@ -7,7 +7,7 @@ import ms from 'ms';
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { DriveFilesRepository, GalleryPostsRepository } from '@/models/_.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
 import { GalleryPostEntityService } from '@/core/entities/GalleryPostEntityService.js';
 import { DI } from '@/di-symbols.js';
 
diff --git a/packages/backend/src/server/api/endpoints/hashtags/trend.ts b/packages/backend/src/server/api/endpoints/hashtags/trend.ts
index ab65699a5..75d4fe381 100644
--- a/packages/backend/src/server/api/endpoints/hashtags/trend.ts
+++ b/packages/backend/src/server/api/endpoints/hashtags/trend.ts
@@ -7,7 +7,7 @@ import { Brackets } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { NotesRepository } from '@/models/_.js';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import { safeForSql } from '@/misc/safe-for-sql.js';
 import { normalizeForSearch } from '@/misc/normalize-for-search.js';
 import { MetaService } from '@/core/MetaService.js';
diff --git a/packages/backend/src/server/api/endpoints/i/move.ts b/packages/backend/src/server/api/endpoints/i/move.ts
index eb67e171f..86b726e05 100644
--- a/packages/backend/src/server/api/endpoints/i/move.ts
+++ b/packages/backend/src/server/api/endpoints/i/move.ts
@@ -9,7 +9,7 @@ import ms from 'ms';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { ApiError } from '@/server/api/error.js';
 
-import { MiLocalUser, MiRemoteUser } from '@/models/entities/User.js';
+import { MiLocalUser, MiRemoteUser } from '@/models/User.js';
 
 import { AccountMoveService } from '@/core/AccountMoveService.js';
 import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
diff --git a/packages/backend/src/server/api/endpoints/i/notifications.ts b/packages/backend/src/server/api/endpoints/i/notifications.ts
index 51de5205c..91dd72e80 100644
--- a/packages/backend/src/server/api/endpoints/i/notifications.ts
+++ b/packages/backend/src/server/api/endpoints/i/notifications.ts
@@ -14,7 +14,7 @@ import { NotificationEntityService } from '@/core/entities/NotificationEntitySer
 import { NotificationService } from '@/core/NotificationService.js';
 import { DI } from '@/di-symbols.js';
 import { IdService } from '@/core/IdService.js';
-import { MiNotification } from '@/models/entities/Notification.js';
+import { MiNotification } from '@/models/Notification.js';
 
 export const meta = {
 	tags: ['account', 'notifications'],
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index 6c5d8eaa4..3953b1900 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -10,9 +10,9 @@ import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mf
 import { extractHashtags } from '@/misc/extract-hashtags.js';
 import * as Acct from '@/misc/acct.js';
 import type { UsersRepository, DriveFilesRepository, UserProfilesRepository, PagesRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
-import { birthdaySchema, descriptionSchema, locationSchema, nameSchema } from '@/models/entities/User.js';
-import type { MiUserProfile } from '@/models/entities/UserProfile.js';
+import type { MiUser } from '@/models/User.js';
+import { birthdaySchema, descriptionSchema, locationSchema, nameSchema } from '@/models/User.js';
+import type { MiUserProfile } from '@/models/UserProfile.js';
 import { notificationTypes } from '@/types.js';
 import { normalizeForSearch } from '@/misc/normalize-for-search.js';
 import { langmap } from '@/misc/langmap.js';
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/create.ts b/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
index 1bf0d666d..48eaeff40 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
@@ -7,7 +7,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { IdService } from '@/core/IdService.js';
 import type { WebhooksRepository } from '@/models/_.js';
-import { webhookEventTypes } from '@/models/entities/Webhook.js';
+import { webhookEventTypes } from '@/models/Webhook.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
 import { RoleService } from '@/core/RoleService.js';
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/update.ts b/packages/backend/src/server/api/endpoints/i/webhooks/update.ts
index ccd247d55..b3e000524 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/update.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { WebhooksRepository } from '@/models/_.js';
-import { webhookEventTypes } from '@/models/entities/Webhook.js';
+import { webhookEventTypes } from '@/models/Webhook.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
 import { ApiError } from '../../../error.js';
diff --git a/packages/backend/src/server/api/endpoints/notes/conversation.ts b/packages/backend/src/server/api/endpoints/notes/conversation.ts
index 5f4db5ca7..b94a019da 100644
--- a/packages/backend/src/server/api/endpoints/notes/conversation.ts
+++ b/packages/backend/src/server/api/endpoints/notes/conversation.ts
@@ -4,7 +4,7 @@
  */
 
 import { Inject, Injectable } from '@nestjs/common';
-import type { MiNote } from '@/models/entities/Note.js';
+import type { MiNote } from '@/models/Note.js';
 import type { NotesRepository } from '@/models/_.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts
index c7e7ca30c..2e4d316c4 100644
--- a/packages/backend/src/server/api/endpoints/notes/create.ts
+++ b/packages/backend/src/server/api/endpoints/notes/create.ts
@@ -6,11 +6,11 @@
 import ms from 'ms';
 import { In } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import type { UsersRepository, NotesRepository, BlockingsRepository, DriveFilesRepository, ChannelsRepository } from '@/models/_.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiChannel } from '@/models/entities/Channel.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiChannel } from '@/models/Channel.js';
 import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
diff --git a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
index 82195a10b..a58bf09b8 100644
--- a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
+++ b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository, PollsRepository, PollVotesRepository } from '@/models/_.js';
-import type { MiRemoteUser } from '@/models/entities/User.js';
+import type { MiRemoteUser } from '@/models/User.js';
 import { IdService } from '@/core/IdService.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { GetterService } from '@/server/api/GetterService.js';
diff --git a/packages/backend/src/server/api/endpoints/notes/reactions.ts b/packages/backend/src/server/api/endpoints/notes/reactions.ts
index 92ee06b7d..dae31364e 100644
--- a/packages/backend/src/server/api/endpoints/notes/reactions.ts
+++ b/packages/backend/src/server/api/endpoints/notes/reactions.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { NoteReactionsRepository } from '@/models/_.js';
-import type { MiNoteReaction } from '@/models/entities/NoteReaction.js';
+import type { MiNoteReaction } from '@/models/NoteReaction.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { NoteReactionEntityService } from '@/core/entities/NoteReactionEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/pages/create.ts b/packages/backend/src/server/api/endpoints/pages/create.ts
index 67ebceb0d..c0e8fab16 100644
--- a/packages/backend/src/server/api/endpoints/pages/create.ts
+++ b/packages/backend/src/server/api/endpoints/pages/create.ts
@@ -7,7 +7,7 @@ import ms from 'ms';
 import { Inject, Injectable } from '@nestjs/common';
 import type { DriveFilesRepository, PagesRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
-import { MiPage } from '@/models/entities/Page.js';
+import { MiPage } from '@/models/Page.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { PageEntityService } from '@/core/entities/PageEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/pages/show.ts b/packages/backend/src/server/api/endpoints/pages/show.ts
index 5279088cf..efb0bd067 100644
--- a/packages/backend/src/server/api/endpoints/pages/show.ts
+++ b/packages/backend/src/server/api/endpoints/pages/show.ts
@@ -6,7 +6,7 @@
 import { IsNull } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository, PagesRepository } from '@/models/_.js';
-import type { MiPage } from '@/models/entities/Page.js';
+import type { MiPage } from '@/models/Page.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { PageEntityService } from '@/core/entities/PageEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/pinned-users.ts b/packages/backend/src/server/api/endpoints/pinned-users.ts
index 610d606d9..390042c81 100644
--- a/packages/backend/src/server/api/endpoints/pinned-users.ts
+++ b/packages/backend/src/server/api/endpoints/pinned-users.ts
@@ -7,7 +7,7 @@ import { IsNull } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository } from '@/models/_.js';
 import * as Acct from '@/misc/acct.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { MetaService } from '@/core/MetaService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
diff --git a/packages/backend/src/server/api/endpoints/renote-mute/create.ts b/packages/backend/src/server/api/endpoints/renote-mute/create.ts
index 0ebf6937d..3c9d266e2 100644
--- a/packages/backend/src/server/api/endpoints/renote-mute/create.ts
+++ b/packages/backend/src/server/api/endpoints/renote-mute/create.ts
@@ -8,7 +8,7 @@ import ms from 'ms';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { IdService } from '@/core/IdService.js';
 import type { RenoteMutingsRepository } from '@/models/_.js';
-import type { MiRenoteMuting } from '@/models/entities/RenoteMuting.js';
+import type { MiRenoteMuting } from '@/models/RenoteMuting.js';
 import { DI } from '@/di-symbols.js';
 import { GetterService } from '@/server/api/GetterService.js';
 import { ApiError } from '../../error.js';
diff --git a/packages/backend/src/server/api/endpoints/username/available.ts b/packages/backend/src/server/api/endpoints/username/available.ts
index da8c844e6..e37df62c0 100644
--- a/packages/backend/src/server/api/endpoints/username/available.ts
+++ b/packages/backend/src/server/api/endpoints/username/available.ts
@@ -7,7 +7,7 @@ import { IsNull } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsedUsernamesRepository, UsersRepository } from '@/models/_.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import { localUsernameSchema } from '@/models/entities/User.js';
+import { localUsernameSchema } from '@/models/User.js';
 import { DI } from '@/di-symbols.js';
 import { MetaService } from '@/core/MetaService.js';
 
diff --git a/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts b/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts
index dc60552f6..fd1bb48a4 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import type { UserListsRepository, UserListJoiningsRepository, BlockingsRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiUserList } from '@/models/entities/UserList.js';
+import type { MiUserList } from '@/models/UserList.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { GetterService } from '@/server/api/GetterService.js';
 import { UserListEntityService } from '@/core/entities/UserListEntityService.js';
diff --git a/packages/backend/src/server/api/endpoints/users/lists/create.ts b/packages/backend/src/server/api/endpoints/users/lists/create.ts
index 02d29ae0b..60b2b3f17 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/create.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/create.ts
@@ -6,7 +6,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import type { UserListsRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
-import type { MiUserList } from '@/models/entities/UserList.js';
+import type { MiUserList } from '@/models/UserList.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { UserListEntityService } from '@/core/entities/UserListEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts b/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts
index 1842b77ce..74408cc64 100644
--- a/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts
+++ b/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts
@@ -7,7 +7,7 @@ import { Brackets } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository, FollowingsRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/users/search.ts b/packages/backend/src/server/api/endpoints/users/search.ts
index 3da3324c7..aff5b9877 100644
--- a/packages/backend/src/server/api/endpoints/users/search.ts
+++ b/packages/backend/src/server/api/endpoints/users/search.ts
@@ -6,7 +6,7 @@
 import { Brackets } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository, UserProfilesRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/users/show.ts b/packages/backend/src/server/api/endpoints/users/show.ts
index 25f18037e..389497301 100644
--- a/packages/backend/src/server/api/endpoints/users/show.ts
+++ b/packages/backend/src/server/api/endpoints/users/show.ts
@@ -6,7 +6,7 @@
 import { In, IsNull } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
diff --git a/packages/backend/src/server/api/stream/Connection.ts b/packages/backend/src/server/api/stream/Connection.ts
index 9ada6c559..fd91681fc 100644
--- a/packages/backend/src/server/api/stream/Connection.ts
+++ b/packages/backend/src/server/api/stream/Connection.ts
@@ -4,8 +4,8 @@
  */
 
 import * as WebSocket from 'ws';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiAccessToken } from '@/models/entities/AccessToken.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiAccessToken } from '@/models/AccessToken.js';
 import type { Packed } from '@/misc/json-schema.js';
 import type { NoteReadService } from '@/core/NoteReadService.js';
 import type { NotificationService } from '@/core/NotificationService.js';
diff --git a/packages/backend/src/server/api/stream/channels/user-list.ts b/packages/backend/src/server/api/stream/channels/user-list.ts
index 051b0bf50..8bbba0b6d 100644
--- a/packages/backend/src/server/api/stream/channels/user-list.ts
+++ b/packages/backend/src/server/api/stream/channels/user-list.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import type { UserListJoiningsRepository, UserListsRepository } from '@/models/_.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { isUserRelated } from '@/misc/is-user-related.js';
 import type { Packed } from '@/misc/json-schema.js';
 import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
diff --git a/packages/backend/src/server/api/stream/types.ts b/packages/backend/src/server/api/stream/types.ts
index c8e168519..90e0a61f2 100644
--- a/packages/backend/src/server/api/stream/types.ts
+++ b/packages/backend/src/server/api/stream/types.ts
@@ -3,20 +3,20 @@
  * SPDX-License-Identifier: AGPL-3.0-only
  */
 
-import type { MiChannel } from '@/models/entities/Channel.js';
-import type { MiUser } from '@/models/entities/User.js';
-import type { MiUserProfile } from '@/models/entities/UserProfile.js';
-import type { MiNote } from '@/models/entities/Note.js';
-import type { MiAntenna } from '@/models/entities/Antenna.js';
-import type { MiDriveFile } from '@/models/entities/DriveFile.js';
-import type { MiDriveFolder } from '@/models/entities/DriveFolder.js';
-import type { MiUserList } from '@/models/entities/UserList.js';
-import type { MiAbuseUserReport } from '@/models/entities/AbuseUserReport.js';
-import type { MiSignin } from '@/models/entities/Signin.js';
-import type { MiPage } from '@/models/entities/Page.js';
+import type { MiChannel } from '@/models/Channel.js';
+import type { MiUser } from '@/models/User.js';
+import type { MiUserProfile } from '@/models/UserProfile.js';
+import type { MiNote } from '@/models/Note.js';
+import type { MiAntenna } from '@/models/Antenna.js';
+import type { MiDriveFile } from '@/models/DriveFile.js';
+import type { MiDriveFolder } from '@/models/DriveFolder.js';
+import type { MiUserList } from '@/models/UserList.js';
+import type { MiAbuseUserReport } from '@/models/AbuseUserReport.js';
+import type { MiSignin } from '@/models/Signin.js';
+import type { MiPage } from '@/models/Page.js';
 import type { Packed } from '@/misc/json-schema.js';
-import type { MiWebhook } from '@/models/entities/Webhook.js';
-import type { MiMeta } from '@/models/entities/Meta.js';
+import type { MiWebhook } from '@/models/Webhook.js';
+import type { MiMeta } from '@/models/Meta.js';
 import { MiRole, MiRoleAssignment } from '@/models/_.js';
 import type Emitter from 'strict-event-emitter-types';
 import type { EventEmitter } from 'events';
diff --git a/packages/backend/src/server/oauth/OAuth2ProviderService.ts b/packages/backend/src/server/oauth/OAuth2ProviderService.ts
index f2991b3aa..c3a78561c 100644
--- a/packages/backend/src/server/oauth/OAuth2ProviderService.ts
+++ b/packages/backend/src/server/oauth/OAuth2ProviderService.ts
@@ -26,7 +26,7 @@ import { bindThis } from '@/decorators.js';
 import type { AccessTokensRepository, UsersRepository } from '@/models/_.js';
 import { IdService } from '@/core/IdService.js';
 import { CacheService } from '@/core/CacheService.js';
-import type { MiLocalUser } from '@/models/entities/User.js';
+import type { MiLocalUser } from '@/models/User.js';
 import { MemoryKVCache } from '@/misc/cache.js';
 import { LoggerService } from '@/core/LoggerService.js';
 import Logger from '@/logger.js';
@@ -125,7 +125,7 @@ async function discoverClientInformation(logger: Logger, httpRequestService: Htt
 		let name = id;
 		if (text) {
 			const microformats = mf2(text, { baseUrl: res.url });
-			const nameProperty = microformats.items.find(item => item.type?.includes('h-app') && item.properties.url?.includes(id))?.properties.name[0];
+			const nameProperty = microformats.items.find(item => item.type?.includes('h-app') && item.properties.url.includes(id))?.properties.name[0];
 			if (typeof nameProperty === 'string') {
 				name = nameProperty;
 			}
diff --git a/packages/backend/src/server/web/FeedService.ts b/packages/backend/src/server/web/FeedService.ts
index f0f4e6bf3..78551e800 100644
--- a/packages/backend/src/server/web/FeedService.ts
+++ b/packages/backend/src/server/web/FeedService.ts
@@ -9,7 +9,7 @@ import { Feed } from 'feed';
 import { DI } from '@/di-symbols.js';
 import type { DriveFilesRepository, NotesRepository, UserProfilesRepository } from '@/models/_.js';
 import type { Config } from '@/config.js';
-import type { MiUser } from '@/models/entities/User.js';
+import type { MiUser } from '@/models/User.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
 import { bindThis } from '@/decorators.js';
diff --git a/packages/backend/test/e2e/note.ts b/packages/backend/test/e2e/note.ts
index 20208c457..961df99cc 100644
--- a/packages/backend/test/e2e/note.ts
+++ b/packages/backend/test/e2e/note.ts
@@ -6,7 +6,7 @@
 process.env.NODE_ENV = 'test';
 
 import * as assert from 'assert';
-import { MiNote } from '@/models/entities/Note.js';
+import { MiNote } from '@/models/Note.js';
 import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
 import { signup, post, uploadUrl, startServer, initTestDb, api, uploadFile } from '../utils.js';
 import type { INestApplicationContext } from '@nestjs/common';
diff --git a/packages/backend/test/e2e/streaming.ts b/packages/backend/test/e2e/streaming.ts
index 0dd97069a..77de14488 100644
--- a/packages/backend/test/e2e/streaming.ts
+++ b/packages/backend/test/e2e/streaming.ts
@@ -6,7 +6,7 @@
 process.env.NODE_ENV = 'test';
 
 import * as assert from 'assert';
-import { MiFollowing } from '@/models/entities/Following.js';
+import { MiFollowing } from '@/models/Following.js';
 import { connectStream, signup, api, post, startServer, initTestDb, waitFire } from '../utils.js';
 import type { INestApplicationContext } from '@nestjs/common';
 import type * as misskey from 'misskey-js';
diff --git a/packages/backend/test/unit/activitypub.ts b/packages/backend/test/unit/activitypub.ts
index 75235b794..dbc446d12 100644
--- a/packages/backend/test/unit/activitypub.ts
+++ b/packages/backend/test/unit/activitypub.ts
@@ -22,7 +22,7 @@ import { MiMeta, MiNote } from '@/models/_.js';
 import { secureRndstr } from '@/misc/secure-rndstr.js';
 import { DownloadService } from '@/core/DownloadService.js';
 import { MetaService } from '@/core/MetaService.js';
-import type { MiRemoteUser } from '@/models/entities/User.js';
+import type { MiRemoteUser } from '@/models/User.js';
 import { MockResolver } from '../misc/mock-resolver.js';
 
 const host = 'https://host1.test';