diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-27 14:36:33 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-27 14:36:33 +0900 |
| commit | 9384f5399da39e53855beb8e7f8ded1aa56bf72e (patch) | |
| tree | ce5959571a981b9c4047da3c7b3fd080aa44222c /packages/client/src/pages/api-console.vue | |
| parent | wip: retention for dashboard (diff) | |
| download | misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.gz misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.bz2 misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.zip | |
rename: client -> frontend
Diffstat (limited to 'packages/client/src/pages/api-console.vue')
| -rw-r--r-- | packages/client/src/pages/api-console.vue | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/packages/client/src/pages/api-console.vue b/packages/client/src/pages/api-console.vue deleted file mode 100644 index 1d5339b44c..0000000000 --- a/packages/client/src/pages/api-console.vue +++ /dev/null @@ -1,89 +0,0 @@ -<template> -<MkStickyContainer> - <template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template> - <MkSpacer :content-max="700"> - <div class="_formRoot"> - <div class="_formBlock"> - <MkInput v-model="endpoint" :datalist="endpoints" class="_formBlock" @update:model-value="onEndpointChange()"> - <template #label>Endpoint</template> - </MkInput> - <MkTextarea v-model="body" class="_formBlock" code> - <template #label>Params (JSON or JSON5)</template> - </MkTextarea> - <MkSwitch v-model="withCredential" class="_formBlock"> - With credential - </MkSwitch> - <MkButton class="_formBlock" primary :disabled="sending" @click="send"> - <template v-if="sending"><MkEllipsis/></template> - <template v-else><i class="ti ti-send"></i> Send</template> - </MkButton> - </div> - <div v-if="res" class="_formBlock"> - <MkTextarea v-model="res" code readonly tall> - <template #label>Response</template> - </MkTextarea> - </div> - </div> - </MkSpacer> -</MkStickyContainer> -</template> - -<script lang="ts" setup> -import { ref } from 'vue'; -import JSON5 from 'json5'; -import { Endpoints } from 'misskey-js'; -import MkButton from '@/components/MkButton.vue'; -import MkInput from '@/components/form/input.vue'; -import MkTextarea from '@/components/form/textarea.vue'; -import MkSwitch from '@/components/form/switch.vue'; -import * as os from '@/os'; -import { definePageMetadata } from '@/scripts/page-metadata'; - -const body = ref('{}'); -const endpoint = ref(''); -const endpoints = ref<any[]>([]); -const sending = ref(false); -const res = ref(''); -const withCredential = ref(true); - -os.api('endpoints').then(endpointResponse => { - endpoints.value = endpointResponse; -}); - -function send() { - sending.value = true; - const requestBody = JSON5.parse(body.value); - os.api(endpoint.value as keyof Endpoints, requestBody, requestBody.i || (withCredential.value ? undefined : null)).then(resp => { - sending.value = false; - res.value = JSON5.stringify(resp, null, 2); - }, err => { - sending.value = false; - res.value = JSON5.stringify(err, null, 2); - }); -} - -function onEndpointChange() { - os.api('endpoint', { endpoint: endpoint.value }, withCredential.value ? undefined : null).then(resp => { - const endpointBody = {}; - for (const p of resp.params) { - endpointBody[p.name] = - p.type === 'String' ? '' : - p.type === 'Number' ? 0 : - p.type === 'Boolean' ? false : - p.type === 'Array' ? [] : - p.type === 'Object' ? {} : - null; - } - body.value = JSON5.stringify(endpointBody, null, 2); - }); -} - -const headerActions = $computed(() => []); - -const headerTabs = $computed(() => []); - -definePageMetadata({ - title: 'API console', - icon: 'ti ti-terminal-2', -}); -</script> |