mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-13 14:23:08 +02:00
480 lines
10 KiB
TypeScript
480 lines
10 KiB
TypeScript
export const schemas = {
|
||
Error: {
|
||
type: 'object',
|
||
properties: {
|
||
error: {
|
||
type: 'object',
|
||
description: 'An error object.',
|
||
properties: {
|
||
code: {
|
||
type: 'string',
|
||
description: 'An error code. Unique within the endpoint.',
|
||
},
|
||
message: {
|
||
type: 'string',
|
||
description: 'An error message.',
|
||
},
|
||
id: {
|
||
type: 'string',
|
||
format: 'uuid',
|
||
description: 'An error ID. This ID is static.',
|
||
}
|
||
},
|
||
required: ['code', 'id', 'message']
|
||
},
|
||
},
|
||
required: ['error']
|
||
},
|
||
|
||
User: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this User.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
username: {
|
||
type: 'string',
|
||
description: 'The screen name, handle, or alias that this user identifies themselves with.',
|
||
example: 'ai'
|
||
},
|
||
name: {
|
||
type: 'string',
|
||
nullable: true,
|
||
description: 'The name of the user, as they’ve defined it.',
|
||
example: '藍'
|
||
},
|
||
host: {
|
||
type: 'string',
|
||
nullable: true,
|
||
example: 'misskey.example.com'
|
||
},
|
||
description: {
|
||
type: 'string',
|
||
nullable: true,
|
||
description: 'The user-defined UTF-8 string describing their account.',
|
||
example: 'Hi masters, I am Ai!'
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the user account was created on Misskey.'
|
||
},
|
||
followersCount: {
|
||
type: 'number',
|
||
description: 'The number of followers this account currently has.'
|
||
},
|
||
followingCount: {
|
||
type: 'number',
|
||
description: 'The number of users this account is following.'
|
||
},
|
||
notesCount: {
|
||
type: 'number',
|
||
description: 'The number of Notes (including renotes) issued by the user.'
|
||
},
|
||
isBot: {
|
||
type: 'boolean',
|
||
description: 'Whether this account is a bot.'
|
||
},
|
||
isCat: {
|
||
type: 'boolean',
|
||
description: 'Whether this account is a cat.'
|
||
},
|
||
isAdmin: {
|
||
type: 'boolean',
|
||
description: 'Whether this account is the admin.'
|
||
},
|
||
isVerified: {
|
||
type: 'boolean'
|
||
},
|
||
isLocked: {
|
||
type: 'boolean'
|
||
},
|
||
},
|
||
required: ['id', 'name', 'username', 'createdAt']
|
||
},
|
||
|
||
UserList: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this UserList.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the UserList was created.'
|
||
},
|
||
title: {
|
||
type: 'string',
|
||
description: 'The name of the UserList.'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'title']
|
||
},
|
||
|
||
MessagingMessage: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this MessagingMessage.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the MessagingMessage was created.'
|
||
},
|
||
text: {
|
||
type: 'string',
|
||
nullable: true
|
||
},
|
||
file: {
|
||
type: 'DriveFile',
|
||
nullable: true
|
||
},
|
||
recipientId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
},
|
||
recipient: {
|
||
$ref: '#/components/schemas/User'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt']
|
||
},
|
||
|
||
Note: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this Note.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the Note was created on Misskey.'
|
||
},
|
||
text: {
|
||
type: 'string'
|
||
},
|
||
cw: {
|
||
type: 'string'
|
||
},
|
||
userId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
},
|
||
user: {
|
||
$ref: '#/components/schemas/User'
|
||
},
|
||
replyId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
renoteId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
reply: {
|
||
$ref: '#/components/schemas/Note'
|
||
},
|
||
renote: {
|
||
$ref: '#/components/schemas/Note'
|
||
},
|
||
viaMobile: {
|
||
type: 'boolean'
|
||
},
|
||
visibility: {
|
||
type: 'string'
|
||
},
|
||
},
|
||
required: ['id', 'userId', 'createdAt']
|
||
},
|
||
|
||
Notification: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this notification.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the notification was created.'
|
||
},
|
||
type: {
|
||
type: 'string',
|
||
enum: ['follow', 'receiveFollowRequest', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote'],
|
||
description: 'The type of the notification.'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'type']
|
||
},
|
||
|
||
DriveFile: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this Drive file.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the Drive file was created on Misskey.'
|
||
},
|
||
name: {
|
||
type: 'string',
|
||
description: 'The file name with extension.',
|
||
example: 'lenna.jpg'
|
||
},
|
||
type: {
|
||
type: 'string',
|
||
description: 'The MIME type of this Drive file.',
|
||
example: 'image/jpeg'
|
||
},
|
||
md5: {
|
||
type: 'string',
|
||
format: 'md5',
|
||
description: 'The MD5 hash of this Drive file.',
|
||
example: '15eca7fba0480996e2245f5185bf39f2'
|
||
},
|
||
size: {
|
||
type: 'number',
|
||
description: 'The size of this Drive file. (bytes)',
|
||
example: 51469
|
||
},
|
||
folderId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
nullable: true,
|
||
description: 'The parent folder ID of this Drive file.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
isSensitive: {
|
||
type: 'boolean',
|
||
description: 'Whether this Drive file is sensitive.',
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'name', 'type', 'size', 'md5']
|
||
},
|
||
|
||
DriveFolder: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this Drive folder.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the Drive folder was created.'
|
||
},
|
||
name: {
|
||
type: 'string',
|
||
description: 'The folder name.',
|
||
},
|
||
foldersCount: {
|
||
type: 'number',
|
||
description: 'The count of child folders.',
|
||
},
|
||
filesCount: {
|
||
type: 'number',
|
||
description: 'The count of child files.',
|
||
},
|
||
parentId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
nullable: true,
|
||
description: 'The parent folder ID of this folder.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
parent: {
|
||
$ref: '#/components/schemas/DriveFolder'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'name']
|
||
},
|
||
|
||
Following: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this following.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the following was created.'
|
||
},
|
||
followeeId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
},
|
||
followee: {
|
||
$ref: '#/components/schemas/User',
|
||
description: 'The followee.'
|
||
},
|
||
followerId: {
|
||
type: 'string',
|
||
format: 'id',
|
||
},
|
||
follower: {
|
||
$ref: '#/components/schemas/User',
|
||
description: 'The follower.'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'followeeId', 'followerId']
|
||
},
|
||
|
||
Muting: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this mute.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the mute was created.'
|
||
},
|
||
mutee: {
|
||
$ref: '#/components/schemas/User',
|
||
description: 'The mutee.'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'mutee']
|
||
},
|
||
|
||
Blocking: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this block.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the block was created.'
|
||
},
|
||
blockee: {
|
||
$ref: '#/components/schemas/User',
|
||
description: 'The blockee.'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'blockee']
|
||
},
|
||
|
||
Reaction: {
|
||
type: 'object',
|
||
properties: {
|
||
id: {
|
||
type: 'string',
|
||
format: 'id',
|
||
description: 'The unique identifier for this reaction.',
|
||
example: 'xxxxxxxxxxxxxxxxxxxxxxxx',
|
||
},
|
||
createdAt: {
|
||
type: 'string',
|
||
format: 'date-time',
|
||
description: 'The date that the reaction was created.'
|
||
},
|
||
user: {
|
||
$ref: '#/components/schemas/User',
|
||
description: 'User who performed this reaction.'
|
||
},
|
||
type: {
|
||
type: 'string',
|
||
enum: [
|
||
'like',
|
||
'love',
|
||
'laugh',
|
||
'hmm',
|
||
'surprise',
|
||
'congrats',
|
||
'angry',
|
||
'confused',
|
||
'rip',
|
||
'pudding',
|
||
'star'
|
||
],
|
||
description: 'The reaction type.'
|
||
},
|
||
},
|
||
required: ['id', 'createdAt', 'user', 'type']
|
||
},
|
||
|
||
Hashtag: {
|
||
type: 'object',
|
||
properties: {
|
||
tag: {
|
||
type: 'string',
|
||
description: 'The hashtag name. No # prefixed.',
|
||
example: 'misskey',
|
||
},
|
||
mentionedUsersCount: {
|
||
type: 'number',
|
||
description: 'Number of all users using this hashtag.'
|
||
},
|
||
mentionedLocalUsersCount: {
|
||
type: 'number',
|
||
description: 'Number of local users using this hashtag.'
|
||
},
|
||
mentionedRemoteUsersCount: {
|
||
type: 'number',
|
||
description: 'Number of remote users using this hashtag.'
|
||
},
|
||
attachedUsersCount: {
|
||
type: 'number',
|
||
description: 'Number of all users who attached this hashtag to profile.'
|
||
},
|
||
attachedLocalUsersCount: {
|
||
type: 'number',
|
||
description: 'Number of local users who attached this hashtag to profile.'
|
||
},
|
||
attachedRemoteUsersCount: {
|
||
type: 'number',
|
||
description: 'Number of remote users who attached this hashtag to profile.'
|
||
},
|
||
},
|
||
required: [
|
||
'tag',
|
||
'mentionedUsersCount',
|
||
'mentionedLocalUsersCount',
|
||
'mentionedRemoteUsersCount',
|
||
'attachedUsersCount',
|
||
'attachedLocalUsersCount',
|
||
'attachedRemoteUsersCount',
|
||
]
|
||
},
|
||
};
|