diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-02-10 09:52:35 -0500 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-02-10 23:34:52 -0500 |
| commit | 363111f5deaa4c04b4645a2d2779ebc12b531cf6 (patch) | |
| tree | 876d9cf89e2f84b082d008e086afd4676fc87f33 /packages/backend/src/server/api/endpoints/admin | |
| parent | add some missing translations (diff) | |
| parent | merge: Add ability to generate vapid keys on frontend (!888) (diff) | |
| download | sharkey-363111f5deaa4c04b4645a2d2779ebc12b531cf6.tar.gz sharkey-363111f5deaa4c04b4645a2d2779ebc12b531cf6.tar.bz2 sharkey-363111f5deaa4c04b4645a2d2779ebc12b531cf6.zip | |
Merge branch 'develop' into merge/2024-02-03
# Conflicts:
# locales/index.d.ts
# packages/backend/src/server/api/EndpointsModule.ts
# packages/backend/src/server/api/endpoints.ts
# packages/misskey-js/src/autogen/endpoint.ts
# sharkey-locales/en-US.yml
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/gen-vapid-keys.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/gen-vapid-keys.ts b/packages/backend/src/server/api/endpoints/admin/gen-vapid-keys.ts new file mode 100644 index 0000000000..5695866265 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/admin/gen-vapid-keys.ts @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: marie and sharkey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Inject, Injectable } from '@nestjs/common'; +import webpush from 'web-push'; +const { generateVAPIDKeys } = webpush; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { ModerationLogService } from '@/core/ModerationLogService.js'; + +export const meta = { + tags: ['admin'], + + requireCredential: true, + requireModerator: true, + kind: 'write:admin:meta', +} as const; + +export const paramDef = {} as const; + +@Injectable() +export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export + constructor( + private moderationLogService: ModerationLogService, + ) { + super(meta, paramDef, async (ps, me) => { + const keys = await generateVAPIDKeys(); + + return { public: keys.publicKey, private: keys.privateKey }; + }); + } +} |