1
0
mirror of https://github.com/MisskeyIO/misskey synced 2024-12-24 19:48:17 +09:00
MisskeyIO/src/server/api/openapi/schemas.ts
syuilo f0a29721c9
Use PostgreSQL instead of MongoDB (#4572)
* wip

* Update note.ts

* Update timeline.ts

* Update core.ts

* wip

* Update generate-visibility-query.ts

* wip

* wip

* wip

* wip

* wip

* Update global-timeline.ts

* wip

* wip

* wip

* Update vote.ts

* wip

* wip

* Update create.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update files.ts

* wip

* wip

* Update CONTRIBUTING.md

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update read-notification.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update cancel.ts

* wip

* wip

* wip

* Update show.ts

* wip

* wip

* Update gen-id.ts

* Update create.ts

* Update id.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Docker: Update files about Docker (#4599)

* Docker: Use cache if files used by `yarn install` was not updated

This patch reduces the number of times to installing node_modules.
For example, `yarn install` step will be skipped when only ".config/default.yml" is updated.

* Docker: Migrate MongoDB to Postgresql

Misskey uses Postgresql as a database instead of Mongodb since version 11.

* Docker: Uncomment about data persistence

This patch will save a lot of databases.

* wip

* wip

* wip

* Update activitypub.ts

* wip

* wip

* wip

* Update logs.ts

* wip

* Update drive-file.ts

* Update register.ts

* wip

* wip

* Update mentions.ts

* wip

* wip

* wip

* Update recommendation.ts

* wip

* Update index.ts

* wip

* Update recommendation.ts

* Doc: Update docker.ja.md and docker.en.md (#1) (#4608)

Update how to set up misskey.

* wip

* ✌️

* wip

* Update note.ts

* Update postgre.ts

* wip

* wip

* wip

* wip

* Update add-file.ts

* wip

* wip

* wip

* Clean up

* Update logs.ts

* wip

* 🍕

* wip

* Ad notes

* wip

* Update api-visibility.ts

* Update note.ts

* Update add-file.ts

* tests

* tests

* Update postgre.ts

* Update utils.ts

* wip

* wip

* Refactor

* wip

* Refactor

* wip

* wip

* Update show-users.ts

* Update update-instance.ts

* wip

* Update feed.ts

* Update outbox.ts

* Update outbox.ts

* Update user.ts

* wip

* Update list.ts

* Update update-hashtag.ts

* wip

* Update update-hashtag.ts

* Refactor

* Update update.ts

* wip

* wip

* ✌️

* clean up

* docs

* Update push.ts

* wip

* Update api.ts

* wip

* ✌️

* Update make-pagination-query.ts

* ✌️

* Delete hashtags.ts

* Update instances.ts

* Update instances.ts

* Update create.ts

* Update search.ts

* Update reversi-game.ts

* Update signup.ts

* Update user.ts

* id

* Update example.yml

* 🎨

* objectid

* fix

* reversi

* reversi

* Fix bug of chart engine

* Add test of chart engine

* Improve test

* Better testing

* Improve chart engine

* Refactor

* Add test of chart engine

* Refactor

* Add chart test

* Fix bug

* コミットし忘れ

* Refactoring

* ✌️

* Add tests

* Add test

* Extarct note tests

* Refactor

* 存在しないユーザーにメンションできなくなっていた問題を修正

* Fix bug

* Update update-meta.ts

* Fix bug

* Update mention.vue

* Fix bug

* Update meta.ts

* Update CONTRIBUTING.md

* Fix bug

* Fix bug

* Fix bug

* Clean up

* Clean up

* Update notification.ts

* Clean up

* Add mute tests

* Add test

* Refactor

* Add test

* Fix test

* Refactor

* Refactor

* Add tests

* Update utils.ts

* Update utils.ts

* Fix test

* Update package.json

* Update update.ts

* Update manifest.ts

* Fix bug

* Fix bug

* Add test

* 🎨

* Update endpoint permissions

* Updaye permisison

* Update person.ts

#4299

* データベースと同期しないように

* Fix bug

* Fix bug

* Update reversi-game.ts

* Use a feature of Node v11.7.0 to extract a public key (#4644)

* wip

* wip

* ✌️

* Refactoring

#1540

* test

* test

* test

* test

* test

* test

* test

* Fix bug

* Fix test

* 🍣

* wip

* #4471

* Add test for #4335

* Refactor

* Fix test

* Add tests

* 🕓

* Fix bug

* Add test

* Add test

* rename

* Fix bug
2019-04-07 21:50:36 +09:00

482 lines
10 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 theyve 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',
]
},
};