- // We don't have this account in our database, fetch it on remote
- if (!account) {
- account = await fetchRemoteAccount(signatureObject.creator)
-
- if (!account) {
- return res.sendStatus(403)
- }
-
- // Save our new account and its server in database
- await saveAccountAndServerIfNotExist(account)
+ let actor: ActorModel
+ try {
+ actor = await getOrCreateActorAndServerAndModel(creator)
+ } catch (err) {
+ logger.error('Cannot create remote actor and check signature.', { err })
+ return res.sendStatus(403)