summaryrefslogtreecommitdiff
path: root/src/services/instance-actor.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/instance-actor.ts')
-rw-r--r--src/services/instance-actor.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/services/instance-actor.ts b/src/services/instance-actor.ts
new file mode 100644
index 0000000000..74591846fa
--- /dev/null
+++ b/src/services/instance-actor.ts
@@ -0,0 +1,17 @@
+import { createSystemUser } from './create-system-user';
+import { ILocalUser } from '../models/entities/user';
+import { Users } from '../models';
+
+const ACTOR_USERNAME = 'instance.actor' as const;
+
+export async function getInstanceActor(): Promise<ILocalUser> {
+ const user = await Users.findOne({
+ host: null,
+ username: ACTOR_USERNAME
+ });
+
+ if (user) return user as ILocalUser;
+
+ const created = await createSystemUser(ACTOR_USERNAME);
+ return created as ILocalUser;
+}