diff options
Diffstat (limited to 'src/services/instance-actor.ts')
| -rw-r--r-- | src/services/instance-actor.ts | 17 |
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; +} |