sharkey/src/models/repositories/federation-instance.ts
YuzuRyo61 a07d753da8
APIドキュメントの改善 (#6757)
* Update api document in admin/announcements

* Update api document in announcements

* Update api document in i/read-announcements

* Update api document in username/available

* Update api document & Fix typo in API 403 error

* Update api document

* Update api document

* Update api document

* Fix API permission definition

* Update api document

* Update api document

* Update api document

* Update api document

* Update api document

* Update api document

* Update api document

* Update api document

* Fix bug in users (api)

* Apply reviews #6757

* Apply reviews #6757

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2021-03-06 22:34:11 +09:00

107 lines
2.6 KiB
TypeScript

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