summaryrefslogtreecommitdiff
path: root/src/client/pages/instance/federation.instance.vue
diff options
context:
space:
mode:
authorSatsuki Yanagi <17376330+u1-liquid@users.noreply.github.com>2020-04-13 23:27:12 +0900
committerGitHub <noreply@github.com>2020-04-13 23:27:12 +0900
commit63225ed0fd712873a434e9e3600650a46b8653d4 (patch)
tree4a241d30b033dd193e7599767a136db73eb0abb9 /src/client/pages/instance/federation.instance.vue
parentResolve #5755 (diff)
downloadmisskey-63225ed0fd712873a434e9e3600650a46b8653d4.tar.gz
misskey-63225ed0fd712873a434e9e3600650a46b8653d4.tar.bz2
misskey-63225ed0fd712873a434e9e3600650a46b8653d4.zip
モデレーション周りのv11の機能復元 (#6249)
* モデレーション周りのv11の機能復元 * i18n * wip * wip Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
Diffstat (limited to 'src/client/pages/instance/federation.instance.vue')
-rw-r--r--src/client/pages/instance/federation.instance.vue41
1 files changed, 38 insertions, 3 deletions
diff --git a/src/client/pages/instance/federation.instance.vue b/src/client/pages/instance/federation.instance.vue
index b86f52809e..08f4d1b4fb 100644
--- a/src/client/pages/instance/federation.instance.vue
+++ b/src/client/pages/instance/federation.instance.vue
@@ -99,10 +99,19 @@
<span class="label">{{ $t('operations') }}</span>
<mk-switch v-model="isSuspended" class="switch">{{ $t('stopActivityDelivery') }}</mk-switch>
<mk-switch :value="isBlocked" class="switch" @change="changeBlock">{{ $t('blockThisInstance') }}</mk-switch>
+ <details>
+ <summary>{{ $t('deleteAllFiles') }}</summary>
+ <mk-button @click="deleteAllFiles()" style="margin: 0.5em 0 0.5em 0;"><fa :icon="faTrashAlt"/> {{ $t('deleteAllFiles') }}</mk-button>
+ </details>
+ <details>
+ <summary>{{ $t('removeAllFollowing') }}</summary>
+ <mk-button @click="removeAllFollowing()" style="margin: 0.5em 0 0.5em 0;"><fa :icon="faMinusCircle"/> {{ $t('removeAllFollowing') }}</mk-button>
+ <mk-info warn>{{ $t('removeAllFollowingDescription', { host: instance.host }) }}</mk-info>
+ </details>
</div>
<details class="metadata">
<summary class="label">{{ $t('metadata') }}</summary>
- <pre><code>{{ JSON.stringify(instance.metadata, null, 2) }}</code></pre>
+ <pre><code>{{ JSON.stringify(instance, null, 2) }}</code></pre>
</details>
</div>
</x-window>
@@ -112,11 +121,13 @@
import Vue from 'vue';
import Chart from 'chart.js';
import i18n from '../../i18n';
-import { faTimes, faCrosshairs, faCloudDownloadAlt, faCloudUploadAlt, faUsers, faPencilAlt, faFileImage, faDatabase, faTrafficLight, faLongArrowAltUp, faLongArrowAltDown } from '@fortawesome/free-solid-svg-icons';
+import { faTimes, faCrosshairs, faCloudDownloadAlt, faCloudUploadAlt, faUsers, faPencilAlt, faFileImage, faDatabase, faTrafficLight, faLongArrowAltUp, faLongArrowAltDown, faMinusCircle, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
import XWindow from '../../components/window.vue';
import MkUsersDialog from '../../components/users-dialog.vue';
import MkSelect from '../../components/ui/select.vue';
+import MkButton from '../../components/ui/button.vue';
import MkSwitch from '../../components/ui/switch.vue';
+import MkInfo from '../../components/ui/info.vue';
const chartLimit = 90;
const sum = (...arr) => arr.reduce((r, a) => r.map((b, i) => a[i] + b));
@@ -135,7 +146,9 @@ export default Vue.extend({
components: {
XWindow,
MkSelect,
+ MkButton,
MkSwitch,
+ MkInfo,
},
props: {
@@ -153,7 +166,7 @@ export default Vue.extend({
chartInstance: null,
chartSrc: 'requests',
chartSpan: 'hour',
- faTimes, faCrosshairs, faCloudDownloadAlt, faCloudUploadAlt, faUsers, faPencilAlt, faFileImage, faDatabase, faTrafficLight, faLongArrowAltUp, faLongArrowAltDown
+ faTimes, faCrosshairs, faCloudDownloadAlt, faCloudUploadAlt, faUsers, faPencilAlt, faFileImage, faDatabase, faTrafficLight, faLongArrowAltUp, faLongArrowAltDown, faMinusCircle, faTrashAlt
};
},
@@ -239,6 +252,28 @@ export default Vue.extend({
this.chartSrc = src;
},
+ removeAllFollowing() {
+ this.$root.api('admin/federation/remove-all-following', {
+ host: this.instance.host
+ }).then(() => {
+ this.$root.dialog({
+ type: 'success',
+ iconOnly: true, autoClose: true
+ });
+ });
+ },
+
+ deleteAllFiles() {
+ this.$root.api('admin/federation/delete-all-files', {
+ host: this.instance.host
+ }).then(() => {
+ this.$root.dialog({
+ type: 'success',
+ iconOnly: true, autoClose: true
+ });
+ });
+ },
+
renderChart() {
if (this.chartInstance) {
this.chartInstance.destroy();