summaryrefslogtreecommitdiff
path: root/src/services/register-or-fetch-instance-doc.ts
blob: d418cd12cecfdc6767115f255411d6dff42de8aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import Instance, { IInstance } from '../models/instance';
import federationChart from '../services/chart/federation';

export async function registerOrFetchInstanceDoc(host: string): Promise<IInstance> {
	if (host == null) return null;

	const index = await Instance.findOne({ host });

	if (index == null) {
		const i = await Instance.insert({
			host,
			caughtAt: new Date(),
			system: null // TODO
		});

		federationChart.update(true);

		return i;
	} else {
		return index;
	}
}