diff options
Diffstat (limited to 'src/services/register-or-fetch-instance-doc.ts')
| -rw-r--r-- | src/services/register-or-fetch-instance-doc.ts | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/services/register-or-fetch-instance-doc.ts b/src/services/register-or-fetch-instance-doc.ts index d418cd12ce..9957edd3db 100644 --- a/src/services/register-or-fetch-instance-doc.ts +++ b/src/services/register-or-fetch-instance-doc.ts @@ -1,15 +1,20 @@ -import Instance, { IInstance } from '../models/instance'; -import federationChart from '../services/chart/federation'; +import { Instance } from '../models/entities/instance'; +import { Instances } from '../models'; +import { federationChart } from './chart'; +import { genId } from '../misc/gen-id'; +import { toPuny } from '../misc/convert-host'; -export async function registerOrFetchInstanceDoc(host: string): Promise<IInstance> { - if (host == null) return null; +export async function registerOrFetchInstanceDoc(host: string): Promise<Instance> { + host = toPuny(host); - const index = await Instance.findOne({ host }); + const index = await Instances.findOne({ host }); if (index == null) { - const i = await Instance.insert({ + const i = await Instances.save({ + id: genId(), host, caughtAt: new Date(), + lastCommunicatedAt: new Date(), system: null // TODO }); |