iceshrimp/packages/backend/src/remote/activitypub/perform.ts
ThatOneCalculator 2aab2de38d refactor: 🎨 rome
2023-01-12 20:40:33 -08:00

23 lines
617 B
TypeScript

import type { IObject } from "./type.js";
import type { CacheableRemoteUser } from "@/models/entities/user.js";
import { performActivity } from "./kernel/index.js";
import { updatePerson } from "./models/person.js";
export default async (
actor: CacheableRemoteUser,
activity: IObject,
): Promise<void> => {
await performActivity(actor, activity);
// Update the remote user information if it is out of date
if (actor.uri) {
if (
actor.lastFetchedAt == null ||
Date.now() - actor.lastFetchedAt.getTime() > 1000 * 60 * 60 * 24
) {
setImmediate(() => {
updatePerson(actor.uri!);
});
}
}
};