summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/admin/relays
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-09-18 03:27:08 +0900
committerGitHub <noreply@github.com>2022-09-18 03:27:08 +0900
commitb75184ec8e3436200bacdcd832e3324702553d20 (patch)
tree8b7e316f29e95df921db57289c8b8da476d18f07 /packages/backend/src/server/api/endpoints/admin/relays
parentUpdate ROADMAP.md (diff)
downloadsharkey-b75184ec8e3436200bacdcd832e3324702553d20.tar.gz
sharkey-b75184ec8e3436200bacdcd832e3324702553d20.tar.bz2
sharkey-b75184ec8e3436200bacdcd832e3324702553d20.zip
なんかもうめっちゃ変えた
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin/relays')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/relays/add.ts28
-rw-r--r--packages/backend/src/server/api/endpoints/admin/relays/list.ts18
-rw-r--r--packages/backend/src/server/api/endpoints/admin/relays/remove.ts18
3 files changed, 44 insertions, 20 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/relays/add.ts b/packages/backend/src/server/api/endpoints/admin/relays/add.ts
index 348e9baca1..32ad79918f 100644
--- a/packages/backend/src/server/api/endpoints/admin/relays/add.ts
+++ b/packages/backend/src/server/api/endpoints/admin/relays/add.ts
@@ -1,6 +1,7 @@
import { URL } from 'node:url';
-import define from '../../../define.js';
-import { addRelay } from '@/services/relay.js';
+import { Inject, Injectable } from '@nestjs/common';
+import { Endpoint } from '@/server/api/endpoint-base.js';
+import { RelayService } from '@/core/RelayService.js';
import { ApiError } from '../../../error.js';
export const meta = {
@@ -54,12 +55,19 @@ export const paramDef = {
} as const;
// eslint-disable-next-line import/no-default-export
-export default define(meta, paramDef, async (ps, user) => {
- try {
- if (new URL(ps.inbox).protocol !== 'https:') throw 'https only';
- } catch {
- throw new ApiError(meta.errors.invalidUrl);
- }
+@Injectable()
+export default class extends Endpoint<typeof meta, typeof paramDef> {
+ constructor(
+ private relayService: RelayService,
+ ) {
+ super(meta, paramDef, async (ps, me) => {
+ try {
+ if (new URL(ps.inbox).protocol !== 'https:') throw 'https only';
+ } catch {
+ throw new ApiError(meta.errors.invalidUrl);
+ }
- return await addRelay(ps.inbox);
-});
+ return await this.relayService.addRelay(ps.inbox);
+ });
+ }
+}
diff --git a/packages/backend/src/server/api/endpoints/admin/relays/list.ts b/packages/backend/src/server/api/endpoints/admin/relays/list.ts
index 89ec651e61..079b351add 100644
--- a/packages/backend/src/server/api/endpoints/admin/relays/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/relays/list.ts
@@ -1,5 +1,6 @@
-import define from '../../../define.js';
-import { listRelay } from '@/services/relay.js';
+import { Inject, Injectable } from '@nestjs/common';
+import { Endpoint } from '@/server/api/endpoint-base.js';
+import { RelayService } from '@/core/RelayService.js';
export const meta = {
tags: ['admin'],
@@ -46,6 +47,13 @@ export const paramDef = {
} as const;
// eslint-disable-next-line import/no-default-export
-export default define(meta, paramDef, async (ps, user) => {
- return await listRelay();
-});
+@Injectable()
+export default class extends Endpoint<typeof meta, typeof paramDef> {
+ constructor(
+ private relayService: RelayService,
+ ) {
+ super(meta, paramDef, async (ps, me) => {
+ return await this.relayService.listRelay();
+ });
+ }
+}
diff --git a/packages/backend/src/server/api/endpoints/admin/relays/remove.ts b/packages/backend/src/server/api/endpoints/admin/relays/remove.ts
index b59cf72c58..9dc4105d14 100644
--- a/packages/backend/src/server/api/endpoints/admin/relays/remove.ts
+++ b/packages/backend/src/server/api/endpoints/admin/relays/remove.ts
@@ -1,5 +1,6 @@
-import define from '../../../define.js';
-import { removeRelay } from '@/services/relay.js';
+import { Inject, Injectable } from '@nestjs/common';
+import { Endpoint } from '@/server/api/endpoint-base.js';
+import { RelayService } from '@/core/RelayService.js';
export const meta = {
tags: ['admin'],
@@ -17,6 +18,13 @@ export const paramDef = {
} as const;
// eslint-disable-next-line import/no-default-export
-export default define(meta, paramDef, async (ps, user) => {
- return await removeRelay(ps.inbox);
-});
+@Injectable()
+export default class extends Endpoint<typeof meta, typeof paramDef> {
+ constructor(
+ private relayService: RelayService,
+ ) {
+ super(meta, paramDef, async (ps, me) => {
+ return await this.relayService.removeRelay(ps.inbox);
+ });
+ }
+}