summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/i
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-08-21 17:59:29 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-08-21 17:59:29 +0900
commitf00ceedae48e7969ca9e80f0af2280bf060421ec (patch)
tree620bb82f6a2ce41f3b3b3d187242bd5bc8e35171 /src/server/api/endpoints/i
parentMerge branch 'develop' (diff)
parent12.89.0 (diff)
downloadmisskey-f00ceedae48e7969ca9e80f0af2280bf060421ec.tar.gz
misskey-f00ceedae48e7969ca9e80f0af2280bf060421ec.tar.bz2
misskey-f00ceedae48e7969ca9e80f0af2280bf060421ec.zip
Merge branch 'develop'
Diffstat (limited to 'src/server/api/endpoints/i')
-rw-r--r--src/server/api/endpoints/i/2fa/done.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/key-done.ts6
-rw-r--r--src/server/api/endpoints/i/2fa/password-less.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/register-key.ts2
-rw-r--r--src/server/api/endpoints/i/2fa/register.ts4
-rw-r--r--src/server/api/endpoints/i/2fa/remove-key.ts4
-rw-r--r--src/server/api/endpoints/i/2fa/unregister.ts2
-rw-r--r--src/server/api/endpoints/i/apps.ts2
-rw-r--r--src/server/api/endpoints/i/authorized-apps.ts2
-rw-r--r--src/server/api/endpoints/i/change-password.ts2
-rw-r--r--src/server/api/endpoints/i/delete-account.ts15
-rw-r--r--src/server/api/endpoints/i/export-blocking.ts4
-rw-r--r--src/server/api/endpoints/i/export-following.ts4
-rw-r--r--src/server/api/endpoints/i/export-mute.ts4
-rw-r--r--src/server/api/endpoints/i/export-notes.ts4
-rw-r--r--src/server/api/endpoints/i/export-user-lists.ts4
-rw-r--r--src/server/api/endpoints/i/favorites.ts2
-rw-r--r--src/server/api/endpoints/i/gallery/likes.ts2
-rw-r--r--src/server/api/endpoints/i/gallery/posts.ts2
-rw-r--r--src/server/api/endpoints/i/get-word-muted-notes-count.ts2
-rw-r--r--src/server/api/endpoints/i/import-following.ts6
-rw-r--r--src/server/api/endpoints/i/import-user-lists.ts6
-rw-r--r--src/server/api/endpoints/i/notifications.ts2
-rw-r--r--src/server/api/endpoints/i/page-likes.ts2
-rw-r--r--src/server/api/endpoints/i/pages.ts2
-rw-r--r--src/server/api/endpoints/i/pin.ts4
-rw-r--r--src/server/api/endpoints/i/read-all-messaging-messages.ts4
-rw-r--r--src/server/api/endpoints/i/read-all-unread-notes.ts4
-rw-r--r--src/server/api/endpoints/i/read-announcement.ts4
-rw-r--r--src/server/api/endpoints/i/regenerate-token.ts4
-rw-r--r--src/server/api/endpoints/i/registry/get-all.ts2
-rw-r--r--src/server/api/endpoints/i/registry/get-detail.ts2
-rw-r--r--src/server/api/endpoints/i/registry/get.ts2
-rw-r--r--src/server/api/endpoints/i/registry/keys-with-type.ts2
-rw-r--r--src/server/api/endpoints/i/registry/keys.ts2
-rw-r--r--src/server/api/endpoints/i/registry/remove.ts2
-rw-r--r--src/server/api/endpoints/i/registry/scopes.ts2
-rw-r--r--src/server/api/endpoints/i/registry/set.ts4
-rw-r--r--src/server/api/endpoints/i/revoke-token.ts2
-rw-r--r--src/server/api/endpoints/i/signin-history.ts2
-rw-r--r--src/server/api/endpoints/i/unpin.ts4
-rw-r--r--src/server/api/endpoints/i/update-email.ts8
-rw-r--r--src/server/api/endpoints/i/update.ts14
-rw-r--r--src/server/api/endpoints/i/user-group-invites.ts2
44 files changed, 84 insertions, 75 deletions
diff --git a/src/server/api/endpoints/i/2fa/done.ts b/src/server/api/endpoints/i/2fa/done.ts
index 9a74d7675b..2bd2128cce 100644
--- a/src/server/api/endpoints/i/2fa/done.ts
+++ b/src/server/api/endpoints/i/2fa/done.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as speakeasy from 'speakeasy';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/key-done.ts b/src/server/api/endpoints/i/2fa/key-done.ts
index 923a8b386c..b4d3af235a 100644
--- a/src/server/api/endpoints/i/2fa/key-done.ts
+++ b/src/server/api/endpoints/i/2fa/key-done.ts
@@ -8,10 +8,10 @@ import {
UserSecurityKeys,
AttestationChallenges,
Users
-} from '../../../../../models';
-import config from '@/config';
+} from '@/models/index';
+import config from '@/config/index';
import { procedures, hash } from '../../../2fa';
-import { publishMainStream } from '../../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
const cborDecodeFirst = promisify(cbor.decodeFirst) as any;
diff --git a/src/server/api/endpoints/i/2fa/password-less.ts b/src/server/api/endpoints/i/2fa/password-less.ts
index ee0a065e43..064828b638 100644
--- a/src/server/api/endpoints/i/2fa/password-less.ts
+++ b/src/server/api/endpoints/i/2fa/password-less.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/register-key.ts b/src/server/api/endpoints/i/2fa/register-key.ts
index 75f578fc5f..1b385a10ee 100644
--- a/src/server/api/endpoints/i/2fa/register-key.ts
+++ b/src/server/api/endpoints/i/2fa/register-key.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../../define';
-import { UserProfiles, AttestationChallenges } from '../../../../../models';
+import { UserProfiles, AttestationChallenges } from '@/models/index';
import { promisify } from 'util';
import * as crypto from 'crypto';
import { genId } from '@/misc/gen-id';
diff --git a/src/server/api/endpoints/i/2fa/register.ts b/src/server/api/endpoints/i/2fa/register.ts
index d40997d6ed..b03b98188a 100644
--- a/src/server/api/endpoints/i/2fa/register.ts
+++ b/src/server/api/endpoints/i/2fa/register.ts
@@ -2,9 +2,9 @@ import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import * as speakeasy from 'speakeasy';
import * as QRCode from 'qrcode';
-import config from '@/config';
+import config from '@/config/index';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/remove-key.ts b/src/server/api/endpoints/i/2fa/remove-key.ts
index 135f0eb284..dea56301ab 100644
--- a/src/server/api/endpoints/i/2fa/remove-key.ts
+++ b/src/server/api/endpoints/i/2fa/remove-key.ts
@@ -1,8 +1,8 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../../define';
-import { UserProfiles, UserSecurityKeys, Users } from '../../../../../models';
-import { publishMainStream } from '../../../../../services/stream';
+import { UserProfiles, UserSecurityKeys, Users } from '@/models/index';
+import { publishMainStream } from '@/services/stream';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/2fa/unregister.ts b/src/server/api/endpoints/i/2fa/unregister.ts
index e809f40c71..af53033daa 100644
--- a/src/server/api/endpoints/i/2fa/unregister.ts
+++ b/src/server/api/endpoints/i/2fa/unregister.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../../define';
-import { UserProfiles } from '../../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/apps.ts b/src/server/api/endpoints/i/apps.ts
index 69958f1ca4..994528e5c9 100644
--- a/src/server/api/endpoints/i/apps.ts
+++ b/src/server/api/endpoints/i/apps.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens } from '../../../../models';
+import { AccessTokens } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/authorized-apps.ts b/src/server/api/endpoints/i/authorized-apps.ts
index 050d079d9b..042fcd14e8 100644
--- a/src/server/api/endpoints/i/authorized-apps.ts
+++ b/src/server/api/endpoints/i/authorized-apps.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens, Apps } from '../../../../models';
+import { AccessTokens, Apps } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/change-password.ts b/src/server/api/endpoints/i/change-password.ts
index 0a8b86e665..7ea5f8c488 100644
--- a/src/server/api/endpoints/i/change-password.ts
+++ b/src/server/api/endpoints/i/change-password.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../define';
-import { UserProfiles } from '../../../../models';
+import { UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/delete-account.ts b/src/server/api/endpoints/i/delete-account.ts
index f5f0f32a4a..77f11925cd 100644
--- a/src/server/api/endpoints/i/delete-account.ts
+++ b/src/server/api/endpoints/i/delete-account.ts
@@ -1,9 +1,10 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
import define from '../../define';
-import { Users, UserProfiles } from '../../../../models';
-import { doPostSuspend } from '../../../../services/suspend-user';
+import { UserProfiles, Users } from '@/models/index';
+import { doPostSuspend } from '@/services/suspend-user';
import { publishUserEvent } from '@/services/stream';
+import { createDeleteAccountJob } from '@/queue';
export const meta = {
requireCredential: true as const,
@@ -19,6 +20,10 @@ export const meta = {
export default define(meta, async (ps, user) => {
const profile = await UserProfiles.findOneOrFail(user.id);
+ const userDetailed = await Users.findOneOrFail(user.id);
+ if (userDetailed.isDeleted) {
+ return;
+ }
// Compare password
const same = await bcrypt.compare(ps.password, profile.password!);
@@ -30,7 +35,11 @@ export default define(meta, async (ps, user) => {
// 物理削除する前にDelete activityを送信する
await doPostSuspend(user).catch(e => {});
- await Users.delete(user.id);
+ createDeleteAccountJob(user);
+
+ await Users.update(user.id, {
+ isDeleted: true,
+ });
// Terminate streaming
publishUserEvent(user.id, 'terminate', {});
diff --git a/src/server/api/endpoints/i/export-blocking.ts b/src/server/api/endpoints/i/export-blocking.ts
index 87cf7655b0..e4797da0c1 100644
--- a/src/server/api/endpoints/i/export-blocking.ts
+++ b/src/server/api/endpoints/i/export-blocking.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportBlockingJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportBlockingJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-following.ts b/src/server/api/endpoints/i/export-following.ts
index 9afc96a24a..b0f154cda8 100644
--- a/src/server/api/endpoints/i/export-following.ts
+++ b/src/server/api/endpoints/i/export-following.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportFollowingJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportFollowingJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-mute.ts b/src/server/api/endpoints/i/export-mute.ts
index 7bb24f8f84..46d547fa53 100644
--- a/src/server/api/endpoints/i/export-mute.ts
+++ b/src/server/api/endpoints/i/export-mute.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportMuteJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportMuteJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-notes.ts b/src/server/api/endpoints/i/export-notes.ts
index 368a340512..441bf16896 100644
--- a/src/server/api/endpoints/i/export-notes.ts
+++ b/src/server/api/endpoints/i/export-notes.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportNotesJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportNotesJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/export-user-lists.ts b/src/server/api/endpoints/i/export-user-lists.ts
index e1de59f321..24043a862a 100644
--- a/src/server/api/endpoints/i/export-user-lists.ts
+++ b/src/server/api/endpoints/i/export-user-lists.ts
@@ -1,6 +1,6 @@
import define from '../../define';
-import { createExportUserListsJob } from '../../../../queue';
-import ms = require('ms');
+import { createExportUserListsJob } from '@/queue/index';
+import * as ms from 'ms';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/favorites.ts b/src/server/api/endpoints/i/favorites.ts
index eb97e8bab6..b79d68ae73 100644
--- a/src/server/api/endpoints/i/favorites.ts
+++ b/src/server/api/endpoints/i/favorites.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { NoteFavorites } from '../../../../models';
+import { NoteFavorites } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/gallery/likes.ts b/src/server/api/endpoints/i/gallery/likes.ts
index e569261fa6..7a2935a5ec 100644
--- a/src/server/api/endpoints/i/gallery/likes.ts
+++ b/src/server/api/endpoints/i/gallery/likes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { GalleryLikes } from '../../../../../models';
+import { GalleryLikes } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/gallery/posts.ts b/src/server/api/endpoints/i/gallery/posts.ts
index d7c2e96c16..21bb8759fc 100644
--- a/src/server/api/endpoints/i/gallery/posts.ts
+++ b/src/server/api/endpoints/i/gallery/posts.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../../define';
-import { GalleryPosts } from '../../../../../models';
+import { GalleryPosts } from '@/models/index';
import { makePaginationQuery } from '../../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/get-word-muted-notes-count.ts b/src/server/api/endpoints/i/get-word-muted-notes-count.ts
index a69ebc286a..6b9be98582 100644
--- a/src/server/api/endpoints/i/get-word-muted-notes-count.ts
+++ b/src/server/api/endpoints/i/get-word-muted-notes-count.ts
@@ -1,5 +1,5 @@
import define from '../../define';
-import { MutedNotes } from '../../../../models';
+import { MutedNotes } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/import-following.ts b/src/server/api/endpoints/i/import-following.ts
index 0349551073..b3de397661 100644
--- a/src/server/api/endpoints/i/import-following.ts
+++ b/src/server/api/endpoints/i/import-following.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { createImportFollowingJob } from '../../../../queue';
-import ms = require('ms');
+import { createImportFollowingJob } from '@/queue/index';
+import * as ms from 'ms';
import { ApiError } from '../../error';
-import { DriveFiles } from '../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/import-user-lists.ts b/src/server/api/endpoints/i/import-user-lists.ts
index f40eb2745d..9069a019a9 100644
--- a/src/server/api/endpoints/i/import-user-lists.ts
+++ b/src/server/api/endpoints/i/import-user-lists.ts
@@ -1,10 +1,10 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { createImportUserListsJob } from '../../../../queue';
-import ms = require('ms');
+import { createImportUserListsJob } from '@/queue/index';
+import * as ms from 'ms';
import { ApiError } from '../../error';
-import { DriveFiles } from '../../../../models';
+import { DriveFiles } from '@/models/index';
export const meta = {
secure: true,
diff --git a/src/server/api/endpoints/i/notifications.ts b/src/server/api/endpoints/i/notifications.ts
index a16766c92e..3c265a10c1 100644
--- a/src/server/api/endpoints/i/notifications.ts
+++ b/src/server/api/endpoints/i/notifications.ts
@@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id';
import { readNotification } from '../../common/read-notification';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notifications, Followings, Mutings, Users } from '../../../../models';
+import { Notifications, Followings, Mutings, Users } from '@/models/index';
import { notificationTypes } from '../../../../types';
import read from '@/services/note/read';
diff --git a/src/server/api/endpoints/i/page-likes.ts b/src/server/api/endpoints/i/page-likes.ts
index bb41499694..fa2bc31730 100644
--- a/src/server/api/endpoints/i/page-likes.ts
+++ b/src/server/api/endpoints/i/page-likes.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { PageLikes } from '../../../../models';
+import { PageLikes } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/pages.ts b/src/server/api/endpoints/i/pages.ts
index 981686adb0..ee87fffa2d 100644
--- a/src/server/api/endpoints/i/pages.ts
+++ b/src/server/api/endpoints/i/pages.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Pages } from '../../../../models';
+import { Pages } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/pin.ts b/src/server/api/endpoints/i/pin.ts
index e1e0658996..de94220ba9 100644
--- a/src/server/api/endpoints/i/pin.ts
+++ b/src/server/api/endpoints/i/pin.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { addPinned } from '../../../../services/i/pin';
+import { addPinned } from '@/services/i/pin';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['account', 'notes'],
diff --git a/src/server/api/endpoints/i/read-all-messaging-messages.ts b/src/server/api/endpoints/i/read-all-messaging-messages.ts
index dd26a10a73..9aca7611c9 100644
--- a/src/server/api/endpoints/i/read-all-messaging-messages.ts
+++ b/src/server/api/endpoints/i/read-all-messaging-messages.ts
@@ -1,6 +1,6 @@
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { MessagingMessages, UserGroupJoinings } from '../../../../models';
+import { MessagingMessages, UserGroupJoinings } from '@/models/index';
export const meta = {
tags: ['account', 'messaging'],
diff --git a/src/server/api/endpoints/i/read-all-unread-notes.ts b/src/server/api/endpoints/i/read-all-unread-notes.ts
index 64469a2ad5..2a7102a590 100644
--- a/src/server/api/endpoints/i/read-all-unread-notes.ts
+++ b/src/server/api/endpoints/i/read-all-unread-notes.ts
@@ -1,6 +1,6 @@
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
-import { NoteUnreads } from '../../../../models';
+import { NoteUnreads } from '@/models/index';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/read-announcement.ts b/src/server/api/endpoints/i/read-announcement.ts
index 0f58b823fc..2f5036f953 100644
--- a/src/server/api/endpoints/i/read-announcement.ts
+++ b/src/server/api/endpoints/i/read-announcement.ts
@@ -3,8 +3,8 @@ import { ID } from '@/misc/cafy-id';
import define from '../../define';
import { ApiError } from '../../error';
import { genId } from '@/misc/gen-id';
-import { AnnouncementReads, Announcements, Users } from '../../../../models';
-import { publishMainStream } from '../../../../services/stream';
+import { AnnouncementReads, Announcements, Users } from '@/models/index';
+import { publishMainStream } from '@/services/stream';
export const meta = {
tags: ['account'],
diff --git a/src/server/api/endpoints/i/regenerate-token.ts b/src/server/api/endpoints/i/regenerate-token.ts
index 3665ed0532..1cce2d37be 100644
--- a/src/server/api/endpoints/i/regenerate-token.ts
+++ b/src/server/api/endpoints/i/regenerate-token.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import * as bcrypt from 'bcryptjs';
-import { publishMainStream, publishUserEvent } from '../../../../services/stream';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
import generateUserToken from '../../common/generate-native-user-token';
import define from '../../define';
-import { Users, UserProfiles } from '../../../../models';
+import { Users, UserProfiles } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/get-all.ts b/src/server/api/endpoints/i/registry/get-all.ts
index ce8653f22b..c8eaf83a25 100644
--- a/src/server/api/endpoints/i/registry/get-all.ts
+++ b/src/server/api/endpoints/i/registry/get-all.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/get-detail.ts b/src/server/api/endpoints/i/registry/get-detail.ts
index 441833d3d7..992800c44c 100644
--- a/src/server/api/endpoints/i/registry/get-detail.ts
+++ b/src/server/api/endpoints/i/registry/get-detail.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/registry/get.ts b/src/server/api/endpoints/i/registry/get.ts
index 275e660cb6..569c3a9280 100644
--- a/src/server/api/endpoints/i/registry/get.ts
+++ b/src/server/api/endpoints/i/registry/get.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/registry/keys-with-type.ts b/src/server/api/endpoints/i/registry/keys-with-type.ts
index 06d77acbeb..16a4fee374 100644
--- a/src/server/api/endpoints/i/registry/keys-with-type.ts
+++ b/src/server/api/endpoints/i/registry/keys-with-type.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/keys.ts b/src/server/api/endpoints/i/registry/keys.ts
index e4dd5044b4..3a8aeaa195 100644
--- a/src/server/api/endpoints/i/registry/keys.ts
+++ b/src/server/api/endpoints/i/registry/keys.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/remove.ts b/src/server/api/endpoints/i/registry/remove.ts
index 4f04d653b3..07bc23d4a6 100644
--- a/src/server/api/endpoints/i/registry/remove.ts
+++ b/src/server/api/endpoints/i/registry/remove.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { ApiError } from '../../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/registry/scopes.ts b/src/server/api/endpoints/i/registry/scopes.ts
index baf3ebdeca..ecbdb05a8e 100644
--- a/src/server/api/endpoints/i/registry/scopes.ts
+++ b/src/server/api/endpoints/i/registry/scopes.ts
@@ -1,5 +1,5 @@
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
export const meta = {
requireCredential: true as const,
diff --git a/src/server/api/endpoints/i/registry/set.ts b/src/server/api/endpoints/i/registry/set.ts
index 40f6368017..f129ee1b70 100644
--- a/src/server/api/endpoints/i/registry/set.ts
+++ b/src/server/api/endpoints/i/registry/set.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
-import { publishMainStream } from '../../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../../define';
-import { RegistryItems } from '../../../../../models';
+import { RegistryItems } from '@/models/index';
import { genId } from '@/misc/gen-id';
export const meta = {
diff --git a/src/server/api/endpoints/i/revoke-token.ts b/src/server/api/endpoints/i/revoke-token.ts
index d22d9ca693..bed868def4 100644
--- a/src/server/api/endpoints/i/revoke-token.ts
+++ b/src/server/api/endpoints/i/revoke-token.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import { AccessTokens } from '../../../../models';
+import { AccessTokens } from '@/models/index';
import { ID } from '@/misc/cafy-id';
import { publishUserEvent } from '@/services/stream';
diff --git a/src/server/api/endpoints/i/signin-history.ts b/src/server/api/endpoints/i/signin-history.ts
index 0395206144..a2c10148c6 100644
--- a/src/server/api/endpoints/i/signin-history.ts
+++ b/src/server/api/endpoints/i/signin-history.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { Signins } from '../../../../models';
+import { Signins } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {
diff --git a/src/server/api/endpoints/i/unpin.ts b/src/server/api/endpoints/i/unpin.ts
index fe19b20905..dc79e255ab 100644
--- a/src/server/api/endpoints/i/unpin.ts
+++ b/src/server/api/endpoints/i/unpin.ts
@@ -1,9 +1,9 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
-import { removePinned } from '../../../../services/i/pin';
+import { removePinned } from '@/services/i/pin';
import define from '../../define';
import { ApiError } from '../../error';
-import { Users } from '../../../../models';
+import { Users } from '@/models/index';
export const meta = {
tags: ['account', 'notes'],
diff --git a/src/server/api/endpoints/i/update-email.ts b/src/server/api/endpoints/i/update-email.ts
index cd0e989e51..14aedad88b 100644
--- a/src/server/api/endpoints/i/update-email.ts
+++ b/src/server/api/endpoints/i/update-email.ts
@@ -1,12 +1,12 @@
import $ from 'cafy';
-import { publishMainStream } from '../../../../services/stream';
+import { publishMainStream } from '@/services/stream';
import define from '../../define';
import rndstr from 'rndstr';
-import config from '@/config';
+import config from '@/config/index';
import * as ms from 'ms';
import * as bcrypt from 'bcryptjs';
-import { Users, UserProfiles } from '../../../../models';
-import { sendEmail } from '../../../../services/send-email';
+import { Users, UserProfiles } from '@/models/index';
+import { sendEmail } from '@/services/send-email';
import { ApiError } from '../../error';
export const meta = {
diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts
index 96955354a3..fb7e12760e 100644
--- a/src/server/api/endpoints/i/update.ts
+++ b/src/server/api/endpoints/i/update.ts
@@ -1,18 +1,18 @@
import $ from 'cafy';
import * as mfm from 'mfm-js';
import { ID } from '@/misc/cafy-id';
-import { publishMainStream, publishUserEvent } from '../../../../services/stream';
-import acceptAllFollowRequests from '../../../../services/following/requests/accept-all';
-import { publishToFollowers } from '../../../../services/i/update';
+import { publishMainStream, publishUserEvent } from '@/services/stream';
+import acceptAllFollowRequests from '@/services/following/requests/accept-all';
+import { publishToFollowers } from '@/services/i/update';
import define from '../../define';
import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mfm';
import { extractHashtags } from '@/misc/extract-hashtags';
import * as langmap from 'langmap';
-import { updateUsertags } from '../../../../services/update-hashtag';
+import { updateUsertags } from '@/services/update-hashtag';
import { ApiError } from '../../error';
-import { Users, DriveFiles, UserProfiles, Pages } from '../../../../models';
-import { User } from '../../../../models/entities/user';
-import { UserProfile } from '../../../../models/entities/user-profile';
+import { Users, DriveFiles, UserProfiles, Pages } from '@/models/index';
+import { User } from '@/models/entities/user';
+import { UserProfile } from '@/models/entities/user-profile';
import { notificationTypes } from '../../../../types';
import { normalizeForSearch } from '@/misc/normalize-for-search';
diff --git a/src/server/api/endpoints/i/user-group-invites.ts b/src/server/api/endpoints/i/user-group-invites.ts
index 623274df92..1ebde243ca 100644
--- a/src/server/api/endpoints/i/user-group-invites.ts
+++ b/src/server/api/endpoints/i/user-group-invites.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
import { ID } from '@/misc/cafy-id';
import define from '../../define';
-import { UserGroupInvitations } from '../../../../models';
+import { UserGroupInvitations } from '@/models/index';
import { makePaginationQuery } from '../../common/make-pagination-query';
export const meta = {