39 lines
877 B
JavaScript
39 lines
877 B
JavaScript
import define from "../../define.js";
|
|
import { Instances } from "../../../../models/index.js";
|
|
import { toPuny } from "../../../../misc/convert-host.js";
|
|
export const meta = {
|
|
tags: [
|
|
"federation"
|
|
],
|
|
requireCredential: true,
|
|
requireCredentialPrivateMode: true,
|
|
res: {
|
|
oneOf: [
|
|
{
|
|
type: "object",
|
|
ref: "FederationInstance"
|
|
},
|
|
{
|
|
type: "null"
|
|
}
|
|
]
|
|
}
|
|
};
|
|
export const paramDef = {
|
|
type: "object",
|
|
properties: {
|
|
host: {
|
|
type: "string"
|
|
}
|
|
},
|
|
required: [
|
|
"host"
|
|
]
|
|
};
|
|
export default define(meta, paramDef, async (ps, me)=>{
|
|
const instance = await Instances.findOneBy({
|
|
host: toPuny(ps.host)
|
|
});
|
|
return instance ? await Instances.pack(instance, me !== null) : null;
|
|
});
|