Files
2026-07-26 18:25:37 +09:00

138 lines
3.3 KiB
JavaScript

import config from "../../config/index.js";
export const packedFederationInstanceSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
caughtAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
host: {
type: "string",
optional: false,
nullable: false,
example: "iceshrimp.example.com"
},
usersCount: {
type: "number",
optional: false,
nullable: false
},
notesCount: {
type: "number",
optional: false,
nullable: false
},
followingCount: {
type: "number",
optional: false,
nullable: false
},
followersCount: {
type: "number",
optional: false,
nullable: false
},
latestRequestSentAt: {
type: "string",
optional: false,
nullable: true,
format: "date-time"
},
lastCommunicatedAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
isNotResponding: {
type: "boolean",
optional: false,
nullable: false
},
isSuspended: {
type: "boolean",
optional: false,
nullable: false
},
isBlocked: {
type: "boolean",
optional: false,
nullable: false
},
isSilenced: {
type: "boolean",
optional: false,
nullable: false
},
softwareName: {
type: "string",
optional: false,
nullable: true,
example: "iceshrimp"
},
softwareVersion: {
type: "string",
optional: false,
nullable: true,
example: config.version
},
openRegistrations: {
type: "boolean",
optional: false,
nullable: true,
example: true
},
name: {
type: "string",
optional: false,
nullable: true
},
description: {
type: "string",
optional: false,
nullable: true
},
maintainerName: {
type: "string",
optional: false,
nullable: true
},
maintainerEmail: {
type: "string",
optional: false,
nullable: true
},
iconUrl: {
type: "string",
optional: false,
nullable: true,
format: "url"
},
faviconUrl: {
type: "string",
optional: false,
nullable: true,
format: "url"
},
themeColor: {
type: "string",
optional: false,
nullable: true
},
infoUpdatedAt: {
type: "string",
optional: false,
nullable: true,
format: "date-time"
}
}
};