import { createSystemUser } from "./create-system-user.js";
import { Users } from "../models/index.js";
import { Cache } from "../misc/cache.js";
import { IsNull } from "typeorm";
const ACTOR_USERNAME = "instance.actor";
const cache = new Cache("instanceActor", 60 * 30);
export async function getInstanceActor() {
    const cached = await cache.get(null, true);
    if (cached) return cached;
    const user = await Users.findOneBy({
        host: IsNull(),
        username: ACTOR_USERNAME
    });
    if (user) {
        await cache.set(null, user);
        return user;
    } else {
        const created = await createSystemUser(ACTOR_USERNAME);
        await cache.set(null, created);
        return created;
    }
}
