diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index c9f7436a9e..f1cfec046a 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -263,7 +263,6 @@ common: update-available-title: "更新があります" update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" - verified-user: "公式アカウント" hide-password: "パスワードを隠す" show-password: "パスワードを表示する" @@ -339,7 +338,6 @@ auth/views/index.vue: sign-in: "サインインしてください" common/views/pages/explore.vue: - verified-users: "公式アカウント" popular-users: "人気のユーザー" recently-updated-users: "最近投稿したユーザー" recently-registered-users: "新規ユーザー" @@ -1351,12 +1349,6 @@ admin/views/users.vue: silence-confirm: "サイレンスしますか?" unmake-silence: "サイレンスの解除" unsilence-confirm: "サイレンスを解除しますか?" - verify: "公式アカウントにする" - verify-confirm: "公式アカウントにしますか?" - verified: "公式アカウントにしました" - unverify: "公式アカウントを解除する" - unverify-confirm: "公式アカウントを解除しますか?" - unverified: "公式アカウントを解除しました" update-remote-user: "リモートユーザー情報の更新" remote-user-updated: "リモートユーザー情報を更新しました" users: @@ -1373,7 +1365,6 @@ admin/views/users.vue: admin: "管理者" moderator: "モデレーター" adminOrModerator: "管理者+モデレーター" - verified: "公式アカウント" silenced: "サイレンス済み" suspended: "凍結済み" origin: diff --git a/src/client/app/admin/views/users.user.vue b/src/client/app/admin/views/users.user.vue index 096e017e6a..929fc8f4b3 100644 --- a/src/client/app/admin/views/users.user.vue +++ b/src/client/app/admin/views/users.user.vue @@ -11,7 +11,6 @@ <span class="username">@{{ user | acct }}</span> <span class="is-admin" v-if="user.isAdmin">admin</span> <span class="is-moderator" v-if="user.isModerator">moderator</span> - <span class="is-verified" v-if="user.isVerified" :title="$t('@.verified-user')"><fa icon="star"/></span> <span class="is-silenced" v-if="user.isSilenced" :title="$t('@.silenced-user')"><fa :icon="faMicrophoneSlash"/></span> <span class="is-suspended" v-if="user.isSuspended" :title="$t('@.suspended-user')"><fa :icon="faSnowflake"/></span> </header> @@ -77,7 +76,6 @@ export default Vue.extend({ background var(--noteHeaderAdminBg) color var(--noteHeaderAdminFg) - > .is-verified > .is-silenced > .is-suspended margin 0 0 0 .5em diff --git a/src/client/app/admin/views/users.vue b/src/client/app/admin/views/users.vue index 2d6aef3371..cc38108532 100644 --- a/src/client/app/admin/views/users.vue +++ b/src/client/app/admin/views/users.vue @@ -12,10 +12,6 @@ <x-user :user='user'/> <div class="actions"> <ui-button @click="resetPassword"><fa :icon="faKey"/> {{ $t('reset-password') }}</ui-button> - <ui-horizon-group> - <ui-button @click="verifyUser" :disabled="verifying"><fa :icon="faCertificate"/> {{ $t('verify') }}</ui-button> - <ui-button @click="unverifyUser" :disabled="unverifying">{{ $t('unverify') }}</ui-button> - </ui-horizon-group> <ui-horizon-group> <ui-button @click="silenceUser"><fa :icon="faMicrophoneSlash"/> {{ $t('make-silence') }}</ui-button> <ui-button @click="unsilenceUser">{{ $t('unmake-silence') }}</ui-button> @@ -47,7 +43,6 @@ <option value="all">{{ $t('users.state.all') }}</option> <option value="admin">{{ $t('users.state.admin') }}</option> <option value="moderator">{{ $t('users.state.moderator') }}</option> - <option value="verified">{{ $t('users.state.verified') }}</option> <option value="silenced">{{ $t('users.state.silenced') }}</option> <option value="suspended">{{ $t('users.state.suspended') }}</option> </ui-select> @@ -71,7 +66,7 @@ import Vue from 'vue'; import i18n from '../../i18n'; import parseAcct from "../../../../misc/acct/parse"; -import { faCertificate, faUsers, faTerminal, faSearch, faKey, faSync, faMicrophoneSlash } from '@fortawesome/free-solid-svg-icons'; +import { faUsers, faTerminal, faSearch, faKey, faSync, faMicrophoneSlash } from '@fortawesome/free-solid-svg-icons'; import { faSnowflake } from '@fortawesome/free-regular-svg-icons'; import XUser from './users.user.vue'; @@ -84,8 +79,6 @@ export default Vue.extend({ return { user: null, target: null, - verifying: false, - unverifying: false, suspending: false, unsuspending: false, sort: '+createdAt', @@ -95,7 +88,7 @@ export default Vue.extend({ offset: 0, users: [], existMore: false, - faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey, faSync, faMicrophoneSlash + faTerminal, faUsers, faSnowflake, faSearch, faKey, faSync, faMicrophoneSlash }; }, @@ -181,56 +174,6 @@ export default Vue.extend({ }); }, - async verifyUser() { - if (!await this.getConfirmed(this.$t('verify-confirm'))) return; - - this.verifying = true; - - const process = async () => { - await this.$root.api('admin/verify-user', { userId: this.user.id }); - this.$root.dialog({ - type: 'success', - text: this.$t('verified') - }); - }; - - await process().catch(e => { - this.$root.dialog({ - type: 'error', - text: e.toString() - }); - }); - - this.verifying = false; - - this.refreshUser(); - }, - - async unverifyUser() { - if (!await this.getConfirmed(this.$t('unverify-confirm'))) return; - - this.unverifying = true; - - const process = async () => { - await this.$root.api('admin/unverify-user', { userId: this.user.id }); - this.$root.dialog({ - type: 'success', - text: this.$t('unverified') - }); - }; - - await process().catch(e => { - this.$root.dialog({ - type: 'error', - text: e.toString() - }); - }); - - this.unverifying = false; - - this.refreshUser(); - }, - async silenceUser() { if (!await this.getConfirmed(this.$t('silence-confirm'))) return; diff --git a/src/client/app/common/views/components/note-header.vue b/src/client/app/common/views/components/note-header.vue index 26c9c7b7d8..a72863e1dd 100644 --- a/src/client/app/common/views/components/note-header.vue +++ b/src/client/app/common/views/components/note-header.vue @@ -8,7 +8,6 @@ <span class="is-bot" v-if="note.user.isBot">bot</span> <span class="is-cat" v-if="note.user.isCat">cat</span> <span class="username"><mk-acct :user="note.user"/></span> - <span class="is-verified" v-if="note.user.isVerified" :title="$t('@.verified-user')"><fa icon="star"/></span> <div class="info"> <span class="app" v-if="note.app && !mini && $store.state.settings.showVia">via <b>{{ note.app.name }}</b></span> <span class="mobile" v-if="note.viaMobile"><fa icon="mobile-alt"/></span> @@ -95,10 +94,6 @@ export default Vue.extend({ color var(--noteHeaderAcct) flex-shrink 2147483647 - > .is-verified - margin 0 .5em 0 0 - color #4dabf7 - > .info margin-left auto font-size 0.9em diff --git a/src/client/app/common/views/pages/explore.vue b/src/client/app/common/views/pages/explore.vue index de31ca36c4..107603d69e 100644 --- a/src/client/app/common/views/pages/explore.vue +++ b/src/client/app/common/views/pages/explore.vue @@ -26,9 +26,6 @@ </mk-user-list> <template v-if="tag == null"> - <mk-user-list :make-promise="verifiedUsers"> - <fa :icon="faBookmark" fixed-width/>{{ $t('verified-users') }} - </mk-user-list> <mk-user-list :make-promise="popularUsers"> <fa :icon="faChartLine" fixed-width/>{{ $t('popular-users') }} </mk-user-list> @@ -60,12 +57,6 @@ export default Vue.extend({ data() { return { - verifiedUsers: () => this.$root.api('users', { - state: 'verified', - origin: 'local', - sort: '+follower', - limit: 10 - }), popularUsers: () => this.$root.api('users', { state: 'alive', origin: 'local', diff --git a/src/models/entities/user.ts b/src/models/entities/user.ts index e40c32a76f..d3086f43f2 100644 --- a/src/models/entities/user.ts +++ b/src/models/entities/user.ts @@ -157,11 +157,6 @@ export class User { }) public isModerator: boolean; - @Column('boolean', { - default: false, - }) - public isVerified: boolean; - @Column('varchar', { length: 128, array: true, default: '{}' }) diff --git a/src/models/repositories/user.ts b/src/models/repositories/user.ts index 0fafd30468..33eb53612a 100644 --- a/src/models/repositories/user.ts +++ b/src/models/repositories/user.ts @@ -87,7 +87,6 @@ export class UserRepository extends Repository<User> { isAdmin: user.isAdmin || falsy, isBot: user.isBot || falsy, isCat: user.isCat || falsy, - isVerified: user.isVerified || falsy, // カスタム絵文字添付 emojis: user.emojis.length > 0 ? Emojis.find({ @@ -369,10 +368,6 @@ export const packedUserSchema = { nullable: bool.false, optional: bool.true, description: 'Whether this account is a moderator.' }, - isVerified: { - type: types.boolean, - nullable: bool.false, optional: bool.true, - }, isLocked: { type: types.boolean, nullable: bool.false, optional: bool.true, diff --git a/src/server/api/endpoints/admin/show-users.ts b/src/server/api/endpoints/admin/show-users.ts index 97760ae797..8733d87a38 100644 --- a/src/server/api/endpoints/admin/show-users.ts +++ b/src/server/api/endpoints/admin/show-users.ts @@ -36,7 +36,6 @@ export const meta = { 'admin', 'moderator', 'adminOrModerator', - 'verified', 'silenced', 'suspended', ]), @@ -61,7 +60,6 @@ export default define(meta, async (ps, me) => { case 'admin': query.where('user.isAdmin = TRUE'); break; case 'moderator': query.where('user.isModerator = TRUE'); break; case 'adminOrModerator': query.where('user.isAdmin = TRUE OR isModerator = TRUE'); break; - case 'verified': query.where('user.isVerified = TRUE'); break; case 'alive': query.where('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break; case 'silenced': query.where('user.isSilenced = TRUE'); break; case 'suspended': query.where('user.isSuspended = TRUE'); break; diff --git a/src/server/api/endpoints/admin/unverify-user.ts b/src/server/api/endpoints/admin/unverify-user.ts deleted file mode 100644 index b215dbf10d..0000000000 --- a/src/server/api/endpoints/admin/unverify-user.ts +++ /dev/null @@ -1,38 +0,0 @@ -import $ from 'cafy'; -import { ID } from '../../../../misc/cafy-id'; -import define from '../../define'; -import { Users } from '../../../../models'; - -export const meta = { - desc: { - 'ja-JP': '指定したユーザーの公式アカウントを解除します。', - 'en-US': 'Mark a user as unverified.' - }, - - tags: ['admin'], - - requireCredential: true, - requireModerator: true, - - params: { - userId: { - validator: $.type(ID), - desc: { - 'ja-JP': '対象のユーザーID', - 'en-US': 'The user ID which you want to unverify' - } - }, - } -}; - -export default define(meta, async (ps) => { - const user = await Users.findOne(ps.userId as string); - - if (user == null) { - throw new Error('user not found'); - } - - await Users.update(user.id, { - isVerified: false - }); -}); diff --git a/src/server/api/endpoints/admin/verify-user.ts b/src/server/api/endpoints/admin/verify-user.ts deleted file mode 100644 index c1b447a92b..0000000000 --- a/src/server/api/endpoints/admin/verify-user.ts +++ /dev/null @@ -1,38 +0,0 @@ -import $ from 'cafy'; -import { ID } from '../../../../misc/cafy-id'; -import define from '../../define'; -import { Users } from '../../../../models'; - -export const meta = { - desc: { - 'ja-JP': '指定したユーザーを公式アカウントにします。', - 'en-US': 'Mark a user as verified.' - }, - - tags: ['admin'], - - requireCredential: true, - requireModerator: true, - - params: { - userId: { - validator: $.type(ID), - desc: { - 'ja-JP': '対象のユーザーID', - 'en-US': 'The user ID which you want to verify' - } - }, - } -}; - -export default define(meta, async (ps) => { - const user = await Users.findOne(ps.userId as string); - - if (user == null) { - throw new Error('user not found'); - } - - await Users.update(user.id, { - isVerified: true - }); -}); diff --git a/src/server/api/endpoints/users.ts b/src/server/api/endpoints/users.ts index be317223b6..539f2ef897 100644 --- a/src/server/api/endpoints/users.ts +++ b/src/server/api/endpoints/users.ts @@ -37,7 +37,6 @@ export const meta = { 'admin', 'moderator', 'adminOrModerator', - 'verified', 'alive' ]), default: 'all' @@ -71,7 +70,6 @@ export default define(meta, async (ps, me) => { case 'admin': query.where('user.isAdmin = TRUE'); break; case 'moderator': query.where('user.isModerator = TRUE'); break; case 'adminOrModerator': query.where('user.isAdmin = TRUE OR isModerator = TRUE'); break; - case 'verified': query.where('user.isVerified = TRUE'); break; case 'alive': query.where('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break; }