From dc69490e3abdebf186e9b642c629ec888afc88d8 Mon Sep 17 00:00:00 2001 From: syuilo <Syuilotan@yahoo.co.jp> Date: Thu, 15 Jul 2021 20:45:32 +0900 Subject: [PATCH] Refactoring --- src/client/components/post-form.vue | 2 +- src/client/components/user-info.vue | 2 +- src/client/components/user-preview.vue | 2 +- src/client/filters/user.ts | 2 +- src/client/pages/follow.vue | 2 +- src/client/pages/instance/abuses.vue | 2 +- src/client/pages/messaging/index.vue | 2 +- src/client/pages/messaging/messaging-room.vue | 2 +- src/client/pages/my-antennas/index.antenna.vue | 2 +- src/client/pages/room/room.vue | 2 +- src/client/pages/user/index.vue | 2 +- src/client/scripts/gen-search-query.ts | 2 +- src/client/scripts/get-user-menu.ts | 2 +- src/client/scripts/lookup-user.ts | 2 +- src/client/ui/chat/post-form.vue | 2 +- src/misc/acct.ts | 14 ++++++++++++++ src/misc/acct/parse.ts | 7 ------- src/misc/acct/render.ts | 5 ----- src/misc/acct/type.ts | 6 ------ src/queue/processors/db/import-following.ts | 2 +- src/queue/processors/db/import-user-lists.ts | 2 +- src/server/api/endpoints/pinned-users.ts | 2 +- src/server/api/limiter.ts | 2 +- src/server/web/index.ts | 2 +- src/server/well-known.ts | 3 +-- src/services/send-email-notification.ts | 4 ++-- src/tools/resync-remote-user.ts | 2 +- 27 files changed, 38 insertions(+), 43 deletions(-) create mode 100644 src/misc/acct.ts delete mode 100644 src/misc/acct/parse.ts delete mode 100644 src/misc/acct/render.ts delete mode 100644 src/misc/acct/type.ts diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue index c5186577f3..13bbb3f9e5 100644 --- a/src/client/components/post-form.vue +++ b/src/client/components/post-form.vue @@ -61,7 +61,7 @@ import * as mfm from 'mfm-js'; import { host, url } from '@client/config'; import { erase, unique } from '../../prelude/array'; import { extractMentions } from '@/misc/extract-mentions'; -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import { formatTimeString } from '@/misc/format-time-string'; import { Autocomplete } from '@client/scripts/autocomplete'; import { noteVisibilities } from '../../types'; diff --git a/src/client/components/user-info.vue b/src/client/components/user-info.vue index 289e0f3c3f..402aa0d07c 100644 --- a/src/client/components/user-info.vue +++ b/src/client/components/user-info.vue @@ -29,7 +29,7 @@ <script lang="ts"> import { defineComponent } from 'vue'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import MkFollowButton from './follow-button.vue'; import { userPage } from '../filters/user'; diff --git a/src/client/components/user-preview.vue b/src/client/components/user-preview.vue index 2ec81a5220..a495266894 100644 --- a/src/client/components/user-preview.vue +++ b/src/client/components/user-preview.vue @@ -33,7 +33,7 @@ <script lang="ts"> import { defineComponent } from 'vue'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import MkFollowButton from './follow-button.vue'; import { userPage } from '../filters/user'; import * as os from '@client/os'; diff --git a/src/client/filters/user.ts b/src/client/filters/user.ts index ad4663cb92..f432de739d 100644 --- a/src/client/filters/user.ts +++ b/src/client/filters/user.ts @@ -1,4 +1,4 @@ -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import getUserName from '@/misc/get-user-name'; import { url } from '@client/config'; diff --git a/src/client/pages/follow.vue b/src/client/pages/follow.vue index f5afdf0892..d5247aff1e 100644 --- a/src/client/pages/follow.vue +++ b/src/client/pages/follow.vue @@ -6,7 +6,7 @@ <script lang="ts"> import { defineComponent } from 'vue'; import * as os from '@client/os'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; export default defineComponent({ created() { diff --git a/src/client/pages/instance/abuses.vue b/src/client/pages/instance/abuses.vue index 73196027dc..900c9f8333 100644 --- a/src/client/pages/instance/abuses.vue +++ b/src/client/pages/instance/abuses.vue @@ -63,7 +63,7 @@ <script lang="ts"> import { defineComponent } from 'vue'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import MkButton from '@client/components/ui/button.vue'; import MkInput from '@client/components/ui/input.vue'; import MkSelect from '@client/components/ui/select.vue'; diff --git a/src/client/pages/messaging/index.vue b/src/client/pages/messaging/index.vue index 832cce5ab9..87ca1890fd 100644 --- a/src/client/pages/messaging/index.vue +++ b/src/client/pages/messaging/index.vue @@ -38,7 +38,7 @@ <script lang="ts"> import { defineAsyncComponent, defineComponent } from 'vue'; -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import MkButton from '@client/components/ui/button.vue'; import { acct } from '../../filters/user'; import * as os from '@client/os'; diff --git a/src/client/pages/messaging/messaging-room.vue b/src/client/pages/messaging/messaging-room.vue index f1d55ee288..6ec60566b6 100644 --- a/src/client/pages/messaging/messaging-room.vue +++ b/src/client/pages/messaging/messaging-room.vue @@ -40,7 +40,7 @@ import { computed, defineComponent } from 'vue'; import XList from '@client/components/date-separated-list.vue'; import XMessage from './messaging-room.message.vue'; import XForm from './messaging-room.form.vue'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { isBottom, onScrollBottom, scroll } from '@client/scripts/scroll'; import * as os from '@client/os'; import { popout } from '@client/scripts/popout'; diff --git a/src/client/pages/my-antennas/index.antenna.vue b/src/client/pages/my-antennas/index.antenna.vue index 8cad6fa553..fcb7559a98 100644 --- a/src/client/pages/my-antennas/index.antenna.vue +++ b/src/client/pages/my-antennas/index.antenna.vue @@ -52,7 +52,7 @@ import MkInput from '@client/components/ui/input.vue'; import MkTextarea from '@client/components/ui/textarea.vue'; import MkSelect from '@client/components/ui/select.vue'; import MkSwitch from '@client/components/ui/switch.vue'; -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import * as os from '@client/os'; export default defineComponent({ diff --git a/src/client/pages/room/room.vue b/src/client/pages/room/room.vue index ea34ef11b5..61650e067f 100644 --- a/src/client/pages/room/room.vue +++ b/src/client/pages/room/room.vue @@ -52,7 +52,7 @@ <script lang="ts"> import { computed, defineComponent } from 'vue'; import { Room } from '@client/scripts/room/room'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import XPreview from './preview.vue'; const storeItems = require('@client/scripts/room/furnitures.json5'); import { query as urlQuery } from '../../../prelude/url'; diff --git a/src/client/pages/user/index.vue b/src/client/pages/user/index.vue index 717ca5d8fe..f5c5a0694c 100644 --- a/src/client/pages/user/index.vue +++ b/src/client/pages/user/index.vue @@ -234,7 +234,7 @@ import MkRemoteCaution from '@client/components/remote-caution.vue'; import MkTab from '@client/components/tab.vue'; import MkInfo from '@client/components/ui/info.vue'; import Progress from '@client/scripts/loading'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { getScrollPosition } from '@client/scripts/scroll'; import { getUserMenu } from '@client/scripts/get-user-menu'; import number from '../../filters/number'; diff --git a/src/client/scripts/gen-search-query.ts b/src/client/scripts/gen-search-query.ts index a1db267123..cafb3cccfe 100644 --- a/src/client/scripts/gen-search-query.ts +++ b/src/client/scripts/gen-search-query.ts @@ -1,4 +1,4 @@ -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { host as localHost } from '@client/config'; export async function genSearchQuery(v: any, q: string) { diff --git a/src/client/scripts/get-user-menu.ts b/src/client/scripts/get-user-menu.ts index ceb2bfe173..3689a93b47 100644 --- a/src/client/scripts/get-user-menu.ts +++ b/src/client/scripts/get-user-menu.ts @@ -1,7 +1,7 @@ import { i18n } from '@client/i18n'; import copyToClipboard from '@client/scripts/copy-to-clipboard'; import { host } from '@client/config'; -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import * as os from '@client/os'; import { userActions } from '@client/store'; import { router } from '@client/router'; diff --git a/src/client/scripts/lookup-user.ts b/src/client/scripts/lookup-user.ts index 269777d874..c393472ae8 100644 --- a/src/client/scripts/lookup-user.ts +++ b/src/client/scripts/lookup-user.ts @@ -1,4 +1,4 @@ -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { i18n } from '@client/i18n'; import * as os from '@client/os'; diff --git a/src/client/ui/chat/post-form.vue b/src/client/ui/chat/post-form.vue index 6030166fc5..6812eb31ba 100644 --- a/src/client/ui/chat/post-form.vue +++ b/src/client/ui/chat/post-form.vue @@ -55,7 +55,7 @@ import * as mfm from 'mfm-js'; import { host, url } from '@client/config'; import { erase, unique } from '../../../prelude/array'; import { extractMentions } from '@/misc/extract-mentions'; -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import { formatTimeString } from '@/misc/format-time-string'; import { Autocomplete } from '@client/scripts/autocomplete'; import { noteVisibilities } from '../../../types'; diff --git a/src/misc/acct.ts b/src/misc/acct.ts new file mode 100644 index 0000000000..16876c4429 --- /dev/null +++ b/src/misc/acct.ts @@ -0,0 +1,14 @@ +export type Acct = { + username: string; + host: string | null; +}; + +export const getAcct = (user: Acct) => { + return user.host == null ? user.username : `${user.username}@${user.host}`; +}; + +export const parseAcct = (acct: string): Acct => { + if (acct.startsWith('@')) acct = acct.substr(1); + const split = acct.split('@', 2); + return { username: split[0], host: split[1] || null }; +}; diff --git a/src/misc/acct/parse.ts b/src/misc/acct/parse.ts deleted file mode 100644 index e3bed35d8e..0000000000 --- a/src/misc/acct/parse.ts +++ /dev/null @@ -1,7 +0,0 @@ -import Acct from './type'; - -export default (acct: string): Acct => { - if (acct.startsWith('@')) acct = acct.substr(1); - const split = acct.split('@', 2); - return { username: split[0], host: split[1] || null }; -}; diff --git a/src/misc/acct/render.ts b/src/misc/acct/render.ts deleted file mode 100644 index 094eceffe9..0000000000 --- a/src/misc/acct/render.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Acct from './type'; - -export default (user: Acct) => { - return user.host == null ? user.username : `${user.username}@${user.host}`; -}; diff --git a/src/misc/acct/type.ts b/src/misc/acct/type.ts deleted file mode 100644 index 7f31257400..0000000000 --- a/src/misc/acct/type.ts +++ /dev/null @@ -1,6 +0,0 @@ -type Acct = { - username: string; - host: string | null; -}; - -export default Acct; diff --git a/src/queue/processors/db/import-following.ts b/src/queue/processors/db/import-following.ts index 55c0aaa9f9..1156b5cafa 100644 --- a/src/queue/processors/db/import-following.ts +++ b/src/queue/processors/db/import-following.ts @@ -2,7 +2,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; import follow from '../../../services/following/create'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { resolveUser } from '../../../remote/resolve-user'; import { downloadTextFile } from '@/misc/download-text-file'; import { isSelfHost, toPuny } from '@/misc/convert-host'; diff --git a/src/queue/processors/db/import-user-lists.ts b/src/queue/processors/db/import-user-lists.ts index d316b95ff0..d04ead869a 100644 --- a/src/queue/processors/db/import-user-lists.ts +++ b/src/queue/processors/db/import-user-lists.ts @@ -1,7 +1,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { resolveUser } from '../../../remote/resolve-user'; import { pushUserToUserList } from '../../../services/user-list/push'; import { downloadTextFile } from '@/misc/download-text-file'; diff --git a/src/server/api/endpoints/pinned-users.ts b/src/server/api/endpoints/pinned-users.ts index ae165ab46d..bcef072fed 100644 --- a/src/server/api/endpoints/pinned-users.ts +++ b/src/server/api/endpoints/pinned-users.ts @@ -1,7 +1,7 @@ import define from '../define'; import { Users } from '../../../models'; import { fetchMeta } from '@/misc/fetch-meta'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { User } from '../../../models/entities/user'; export const meta = { diff --git a/src/server/api/limiter.ts b/src/server/api/limiter.ts index 1e8715a7c4..540ca24994 100644 --- a/src/server/api/limiter.ts +++ b/src/server/api/limiter.ts @@ -1,7 +1,7 @@ import * as Limiter from 'ratelimiter'; import { redisClient } from '../../db/redis'; import { IEndpoint } from './endpoints'; -import getAcct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; import { User } from '../../models/entities/user'; import Logger from '../../services/logger'; diff --git a/src/server/web/index.ts b/src/server/web/index.ts index cc343063af..50fea757f2 100644 --- a/src/server/web/index.ts +++ b/src/server/web/index.ts @@ -18,7 +18,7 @@ import { fetchMeta } from '@/misc/fetch-meta'; import { genOpenapiSpec } from '../api/openapi/gen-spec'; import config from '@/config'; import { Users, Notes, Emojis, UserProfiles, Pages, Channels, Clips, GalleryPosts } from '../../models'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; import { getNoteSummary } from '@/misc/get-note-summary'; import { getConnection } from 'typeorm'; import { redisClient } from '../../db/redis'; diff --git a/src/server/well-known.ts b/src/server/well-known.ts index 57b6aba9a0..5771db91d0 100644 --- a/src/server/well-known.ts +++ b/src/server/well-known.ts @@ -1,8 +1,7 @@ import * as Router from '@koa/router'; import config from '@/config'; -import parseAcct from '@/misc/acct/parse'; -import Acct from '@/misc/acct/type'; +import { parseAcct, Acct } from '@/misc/acct'; import { links } from './nodeinfo'; import { escapeAttribute, escapeValue } from '../prelude/xml'; import { Users } from '../models'; diff --git a/src/services/send-email-notification.ts b/src/services/send-email-notification.ts index 4970649048..b475585129 100644 --- a/src/services/send-email-notification.ts +++ b/src/services/send-email-notification.ts @@ -3,7 +3,7 @@ import { User } from '../models/entities/user'; import { sendEmail } from './send-email'; import * as locales from '../../locales/'; import { I18n } from '@/misc/i18n'; -import acct from '@/misc/acct/render'; +import { getAcct } from '@/misc/acct'; // TODO: locale ファイルをクライアント用ã¨ã‚µãƒ¼ãƒãƒ¼ç”¨ã§åˆ†ã‘ãŸã„ @@ -13,7 +13,7 @@ async function follow(userId: User['id'], follower: User) { const locale = locales[userProfile.lang || 'ja-JP']; const i18n = new I18n(locale); // TODO: render user information html - sendEmail(userProfile.email, i18n.t('_email._follow.title'), `${follower.name} (@${acct(follower)})`, `${follower.name} (@${acct(follower)})`); + sendEmail(userProfile.email, i18n.t('_email._follow.title'), `${follower.name} (@${getAcct(follower)})`, `${follower.name} (@${getAcct(follower)})`); } async function receiveFollowRequest(userId: User['id'], args: {}) { diff --git a/src/tools/resync-remote-user.ts b/src/tools/resync-remote-user.ts index d9685ee4b7..ad2e231eb5 100644 --- a/src/tools/resync-remote-user.ts +++ b/src/tools/resync-remote-user.ts @@ -1,5 +1,5 @@ import { initDb } from '@/db/postgre'; -import parseAcct from '@/misc/acct/parse'; +import { parseAcct } from '@/misc/acct'; async function main(acct: string): Promise<any> { await initDb(); -- GitLab