diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-09-13 18:55:10 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-09-13 18:55:10 +0000 |
| commit | 0411812b970b6a5860b83a7586e640a57b396b9b (patch) | |
| tree | 13e796260840251f9e5b74c8e1c00b7f34bf55cd /packages/frontend/src/components/MkSystemWebhookEditor.impl.ts | |
| parent | merge: bump version (!561) (diff) | |
| parent | Merge branch 'stable' into bump-version (diff) | |
| download | sharkey-0411812b970b6a5860b83a7586e640a57b396b9b.tar.gz sharkey-0411812b970b6a5860b83a7586e640a57b396b9b.tar.bz2 sharkey-0411812b970b6a5860b83a7586e640a57b396b9b.zip | |
merge: Bump version (!620)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/620
Approved-by: Julia <julia@insertdomain.name>
Diffstat (limited to 'packages/frontend/src/components/MkSystemWebhookEditor.impl.ts')
| -rw-r--r-- | packages/frontend/src/components/MkSystemWebhookEditor.impl.ts | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts b/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts new file mode 100644 index 0000000000..69b8edd85a --- /dev/null +++ b/packages/frontend/src/components/MkSystemWebhookEditor.impl.ts @@ -0,0 +1,46 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { defineAsyncComponent } from 'vue'; +import * as os from '@/os.js'; + +export type SystemWebhookEventType = 'abuseReport' | 'abuseReportResolved'; + +export type MkSystemWebhookEditorProps = { + mode: 'create' | 'edit'; + id?: string; + requiredEvents?: SystemWebhookEventType[]; +}; + +export type MkSystemWebhookResult = { + id?: string; + isActive: boolean; + name: string; + on: SystemWebhookEventType[]; + url: string; + secret: string; +}; + +export async function showSystemWebhookEditorDialog(props: MkSystemWebhookEditorProps): Promise<MkSystemWebhookResult | null> { + const { result } = await new Promise<{ result: MkSystemWebhookResult | null }>(async resolve => { + const { dispose } = os.popup( + defineAsyncComponent(() => import('@/components/MkSystemWebhookEditor.vue')), + props, + { + submitted: (ev: MkSystemWebhookResult) => { + resolve({ result: ev }); + }, + canceled: () => { + resolve({ result: null }); + }, + closed: () => { + dispose(); + }, + }, + ); + }); + + return result; +} |