summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-05-09 23:27:34 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-05-09 23:27:34 +0900
commit168de3c31674048856399faf549fcadbe7b4bf02 (patch)
treed822b1dc5b53d4a5d5b75ba6e335e2187b19f491 /src
parentValidate Note on createNote (#4881) (diff)
downloadsharkey-168de3c31674048856399faf549fcadbe7b4bf02.tar.gz
sharkey-168de3c31674048856399faf549fcadbe7b4bf02.tar.bz2
sharkey-168de3c31674048856399faf549fcadbe7b4bf02.zip
Resolve #4870
Diffstat (limited to 'src')
-rw-r--r--src/client/app/admin/views/users.user.vue2
-rw-r--r--src/client/app/admin/views/users.vue61
-rw-r--r--src/client/app/common/views/components/note-header.vue5
-rw-r--r--src/client/app/common/views/pages/explore.vue9
-rw-r--r--src/models/entities/user.ts5
-rw-r--r--src/models/repositories/user.ts5
-rw-r--r--src/server/api/endpoints/admin/show-users.ts2
-rw-r--r--src/server/api/endpoints/admin/unverify-user.ts38
-rw-r--r--src/server/api/endpoints/admin/verify-user.ts38
-rw-r--r--src/server/api/endpoints/users.ts2
10 files changed, 2 insertions, 165 deletions
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
@@ -13,10 +13,6 @@
<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>
</ui-horizon-group>
@@ -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;
}