wip
This commit is contained in:
parent
66447d13c1
commit
49e32ebf2b
1 changed files with 58 additions and 43 deletions
|
@ -1,97 +1,112 @@
|
|||
import type { JSONSchema7Definition } from 'schema-type';
|
||||
|
||||
export const packedFederationInstanceSchema = {
|
||||
$id: 'https://misskey-hub.net/api/schemas/FederationInstance',
|
||||
|
||||
type: 'object',
|
||||
properties: {
|
||||
id: {
|
||||
type: 'string',
|
||||
optional: false, nullable: false,
|
||||
format: 'id',
|
||||
},
|
||||
id: { $ref: 'https://misskey-hub.net/api/schemas/Id' },
|
||||
firstRetrievedAt: {
|
||||
type: 'string',
|
||||
optional: false, nullable: false,
|
||||
format: 'date-time',
|
||||
},
|
||||
host: {
|
||||
type: 'string',
|
||||
optional: false, nullable: false,
|
||||
example: 'misskey.example.com',
|
||||
examples: 'misskey.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,
|
||||
},
|
||||
isNotResponding: {
|
||||
type: 'boolean',
|
||||
optional: false, nullable: false,
|
||||
},
|
||||
isSuspended: {
|
||||
type: 'boolean',
|
||||
optional: false, nullable: false,
|
||||
},
|
||||
isBlocked: {
|
||||
type: 'boolean',
|
||||
optional: false, nullable: false,
|
||||
},
|
||||
softwareName: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
example: 'misskey',
|
||||
type: ['string', 'null'],
|
||||
examples: 'misskey',
|
||||
},
|
||||
softwareVersion: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
type: ['string', 'null'],
|
||||
},
|
||||
openRegistrations: {
|
||||
type: 'boolean',
|
||||
optional: false, nullable: true,
|
||||
example: true,
|
||||
type: ['boolean', 'null'],
|
||||
examples: true,
|
||||
},
|
||||
name: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
type: ['string', 'null'],
|
||||
},
|
||||
description: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
type: ['string', 'null'],
|
||||
},
|
||||
maintainerName: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
type: ['string', 'null'],
|
||||
},
|
||||
maintainerEmail: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
type: ['string', 'null'],
|
||||
},
|
||||
iconUrl: {
|
||||
oneOf: [{
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
format: 'url',
|
||||
}, {
|
||||
type: 'null',
|
||||
}],
|
||||
},
|
||||
faviconUrl: {
|
||||
oneOf: [{
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
format: 'url',
|
||||
}, {
|
||||
type: 'null',
|
||||
}],
|
||||
},
|
||||
themeColor: {
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
type: ['string', 'null'],
|
||||
},
|
||||
infoUpdatedAt: {
|
||||
oneOf: [{
|
||||
type: 'string',
|
||||
optional: false, nullable: true,
|
||||
format: 'date-time',
|
||||
}, {
|
||||
type: 'null',
|
||||
}],
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
required: [
|
||||
'id',
|
||||
'firstRetrievedAt',
|
||||
'host',
|
||||
'usersCount',
|
||||
'notesCount',
|
||||
'followingCount',
|
||||
'followersCount',
|
||||
'isNotResponding',
|
||||
'isSuspended',
|
||||
'isBlocked',
|
||||
'softwareName',
|
||||
'softwareVersion',
|
||||
'openRegistrations',
|
||||
'name',
|
||||
'description',
|
||||
'maintainerName',
|
||||
'maintainerEmail',
|
||||
'iconUrl',
|
||||
'faviconUrl',
|
||||
'themeColor',
|
||||
'infoUpdatedAt',
|
||||
],
|
||||
} as const satisfies JSONSchema7Definition;
|
||||
|
|
Loading…
Reference in a new issue