From a5625b416797fa20f7cccead6201f3faf9427080 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 4 Jan 2018 14:04:02 +0100 Subject: Refresh remote accounts --- server/helpers/database-utils.ts | 12 +++++++++++- server/helpers/webfinger.ts | 5 +++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'server/helpers') diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index fb8ad22b0..78ca768b9 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts @@ -1,5 +1,6 @@ import * as retry from 'async/retry' import * as Bluebird from 'bluebird' +import { Model } from 'sequelize-typescript' import { logger } from './logger' type RetryTransactionWrapperOptions = { errorMessage: string, arguments?: any[] } @@ -34,9 +35,18 @@ function transactionRetryer (func: (err: any, data: T) => any) { }) } +function updateInstanceWithAnother (instanceToUpdate: Model, baseInstance: Model) { + const obj = baseInstance.toJSON() + + for (const key of Object.keys(obj)) { + instanceToUpdate.set(key, obj[key]) + } +} + // --------------------------------------------------------------------------- export { retryTransactionWrapper, - transactionRetryer + transactionRetryer, + updateInstanceWithAnother } diff --git a/server/helpers/webfinger.ts b/server/helpers/webfinger.ts index de8d52c9b..688bf2bab 100644 --- a/server/helpers/webfinger.ts +++ b/server/helpers/webfinger.ts @@ -15,6 +15,10 @@ async function loadActorUrlOrGetFromWebfinger (name: string, host: string) { const actor = await ActorModel.loadByNameAndHost(name, host) if (actor) return actor.url + return getUrlFromWebfinger(name, host) +} + +async function getUrlFromWebfinger (name: string, host: string) { const webfingerData: WebFingerData = await webfingerLookup(name + '@' + host) return getLinkOrThrow(webfingerData) } @@ -22,6 +26,7 @@ async function loadActorUrlOrGetFromWebfinger (name: string, host: string) { // --------------------------------------------------------------------------- export { + getUrlFromWebfinger, loadActorUrlOrGetFromWebfinger } -- cgit v1.2.3