summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/ProxyAccountService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/core/ProxyAccountService.ts')
-rw-r--r--packages/backend/src/core/ProxyAccountService.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/backend/src/core/ProxyAccountService.ts b/packages/backend/src/core/ProxyAccountService.ts
new file mode 100644
index 0000000000..40ccc8226a
--- /dev/null
+++ b/packages/backend/src/core/ProxyAccountService.ts
@@ -0,0 +1,22 @@
+import { Inject, Injectable } from '@nestjs/common';
+import { UsersRepository } from '@/models/index.js';
+import type { ILocalUser, User } from '@/models/entities/User.js';
+import { DI } from '@/di-symbols.js';
+import { MetaService } from './MetaService.js';
+
+@Injectable()
+export class ProxyAccountService {
+ constructor(
+ @Inject(DI.usersRepository)
+ private usersRepository: UsersRepository,
+
+ private metaService: MetaService,
+ ) {
+ }
+
+ public async fetch(): Promise<ILocalUser | null> {
+ const meta = await this.metaService.fetch();
+ if (meta.proxyAccountId == null) return null;
+ return await this.usersRepository.findOneByOrFail({ id: meta.proxyAccountId }) as ILocalUser;
+ }
+}