hippofish/src/server/api/endpoints.ts

660 lines
10 KiB
TypeScript
Raw Normal View History

2017-03-05 04:09:34 +01:00
const ms = require('ms');
2016-12-28 23:49:51 +01:00
2017-03-01 14:33:43 +01:00
/**
*
*/
export type Endpoint = {
/**
*
*/
2016-12-28 23:49:51 +01:00
name: string;
2017-03-01 14:33:43 +01:00
/**
*
* false
*/
withCredential?: boolean;
/**
*
*
* withCredential false
*/
limit?: {
/**
*
*/
key?: string;
/**
* (ms)
* max
*/
duration?: number;
/**
* durationで指定した期間内にいくつまでリクエストできるのか
* duration
*/
max?: number;
/**
* (ms)
*/
minInterval?: number;
};
/**
*
* false
*/
2016-12-28 23:49:51 +01:00
withFile?: boolean;
2017-03-01 14:33:43 +01:00
/**
*
* false
*/
2016-12-28 23:49:51 +01:00
secure?: boolean;
2017-03-01 14:33:43 +01:00
/**
*
*
*/
2016-12-28 23:49:51 +01:00
kind?: string;
2017-03-01 14:33:43 +01:00
};
const endpoints: Endpoint[] = [
{
name: 'meta'
},
2017-08-12 08:17:03 +02:00
{
name: 'stats'
},
2017-03-01 14:33:43 +01:00
{
name: 'username/available'
},
{
name: 'my/apps',
withCredential: true
},
{
name: 'app/create',
withCredential: true,
limit: {
duration: ms('1day'),
max: 3
}
},
{
name: 'app/show'
},
{
name: 'app/name_id/available'
},
{
name: 'auth/session/generate'
},
{
name: 'auth/session/show'
},
{
name: 'auth/session/userkey'
},
{
name: 'auth/accept',
withCredential: true,
secure: true
},
{
name: 'auth/deny',
withCredential: true,
secure: true
},
2017-08-12 08:17:03 +02:00
{
2018-04-07 19:30:37 +02:00
name: 'aggregation/notes',
2017-08-12 08:17:03 +02:00
},
{
name: 'aggregation/users',
},
2017-03-13 15:33:02 +01:00
{
name: 'aggregation/users/activity',
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'aggregation/users/note',
2017-03-01 14:33:43 +01:00
},
{
name: 'aggregation/users/followers'
},
{
name: 'aggregation/users/following'
},
2017-05-24 09:29:00 +02:00
{
name: 'aggregation/users/reaction'
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'aggregation/notes/renote'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'aggregation/notes/reply'
2017-03-01 14:33:43 +01:00
},
2017-05-24 09:29:00 +02:00
{
2018-04-07 19:30:37 +02:00
name: 'aggregation/notes/reaction'
2017-05-24 09:29:00 +02:00
},
{
2018-04-07 19:30:37 +02:00
name: 'aggregation/notes/reactions'
2017-05-24 09:29:00 +02:00
},
2017-03-01 14:33:43 +01:00
2017-11-20 19:40:09 +01:00
{
name: 'sw/register',
withCredential: true
},
2017-03-01 14:33:43 +01:00
{
name: 'i',
withCredential: true
},
2017-12-08 14:57:58 +01:00
{
name: 'i/2fa/register',
2017-12-09 18:45:32 +01:00
withCredential: true,
secure: true
},
{
name: 'i/2fa/unregister',
withCredential: true,
secure: true
2017-12-08 14:57:58 +01:00
},
{
name: 'i/2fa/done',
2017-12-09 18:45:32 +01:00
withCredential: true,
secure: true
2017-12-08 14:57:58 +01:00
},
2017-03-01 14:33:43 +01:00
{
name: 'i/update',
withCredential: true,
limit: {
duration: ms('1day'),
max: 50
},
kind: 'account-write'
2017-11-08 15:43:47 +01:00
},
{
name: 'i/update_home',
withCredential: true,
2018-02-23 18:46:09 +01:00
secure: true
},
{
name: 'i/update_mobile_home',
withCredential: true,
secure: true
2017-03-01 14:33:43 +01:00
},
{
name: 'i/update_widget',
withCredential: true,
secure: true
},
2017-08-28 17:20:47 +02:00
{
name: 'i/change_password',
2017-12-09 18:45:32 +01:00
withCredential: true,
secure: true
2017-08-28 17:20:47 +02:00
},
2017-08-28 16:47:43 +02:00
{
name: 'i/regenerate_token',
2017-12-09 18:45:32 +01:00
withCredential: true,
secure: true
2017-08-28 16:47:43 +02:00
},
2018-02-22 18:06:35 +01:00
{
name: 'i/update_client_setting',
withCredential: true,
secure: true
},
2017-08-30 10:31:39 +02:00
{
name: 'i/pin',
kind: 'account-write'
},
2017-03-01 14:33:43 +01:00
{
name: 'i/appdata/get',
withCredential: true
},
{
name: 'i/appdata/set',
withCredential: true
},
{
name: 'i/signin_history',
withCredential: true,
kind: 'account-read'
},
{
name: 'i/authorized_apps',
withCredential: true,
secure: true
},
{
name: 'i/notifications',
withCredential: true,
kind: 'notification-read'
},
2017-12-21 22:03:54 +01:00
2018-04-20 06:31:43 +02:00
{
name: 'i/favorites',
withCredential: true,
kind: 'favorites-read'
},
2018-03-07 09:48:32 +01:00
{
2018-07-07 12:01:33 +02:00
name: 'games/reversi/match',
2018-03-07 09:48:32 +01:00
withCredential: true
},
{
2018-07-07 12:01:33 +02:00
name: 'games/reversi/match/cancel',
2018-03-07 09:48:32 +01:00
withCredential: true
},
{
2018-07-07 12:01:33 +02:00
name: 'games/reversi/invitations',
2018-03-07 09:48:32 +01:00
withCredential: true
},
{
2018-07-07 12:01:33 +02:00
name: 'games/reversi/games',
2018-03-07 09:48:32 +01:00
withCredential: true
},
2018-03-09 10:29:27 +01:00
{
2018-07-07 12:01:33 +02:00
name: 'games/reversi/games/show'
2018-03-09 10:29:27 +01:00
},
2017-12-21 22:03:54 +01:00
{
name: 'mute/create',
withCredential: true,
kind: 'account/write'
},
{
name: 'mute/delete',
withCredential: true,
kind: 'account/write'
},
{
name: 'mute/list',
withCredential: true,
kind: 'account/read'
},
2017-03-01 14:33:43 +01:00
{
name: 'notifications/delete',
2017-03-01 14:33:43 +01:00
withCredential: true,
kind: 'notification-write'
},
{
name: 'notifications/delete_all',
2017-03-01 14:33:43 +01:00
withCredential: true,
kind: 'notification-write'
},
{
2018-03-29 07:53:48 +02:00
name: 'notifications/mark_as_read_all',
2017-03-01 14:33:43 +01:00
withCredential: true,
kind: 'notification-write'
},
{
name: 'drive',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/stream',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/files',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/files/create',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
withFile: true,
kind: 'drive-write'
},
{
name: 'drive/files/upload_from_url',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 10
},
kind: 'drive-write'
},
{
name: 'drive/files/show',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/files/find',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/files/delete',
withCredential: true,
kind: 'drive-write'
},
{
name: 'drive/files/update',
withCredential: true,
kind: 'drive-write'
},
{
name: 'drive/folders',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/folders/create',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 50
},
kind: 'drive-write'
},
{
name: 'drive/folders/show',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/folders/find',
withCredential: true,
kind: 'drive-read'
},
{
name: 'drive/folders/update',
withCredential: true,
kind: 'drive-write'
},
{
name: 'users'
},
{
name: 'users/show'
},
{
name: 'users/search'
},
{
name: 'users/search_by_username'
},
{
2018-04-07 19:30:37 +02:00
name: 'users/notes'
2017-03-01 14:33:43 +01:00
},
{
name: 'users/following'
},
{
name: 'users/followers'
},
{
name: 'users/recommendation',
withCredential: true,
kind: 'account-read'
},
2017-09-08 16:29:33 +02:00
{
name: 'users/get_frequently_replied_users'
},
2017-03-01 14:33:43 +01:00
2018-04-25 12:53:16 +02:00
{
name: 'users/lists/show',
withCredential: true,
kind: 'account-read'
},
{
name: 'users/lists/create',
withCredential: true,
kind: 'account-write'
},
{
name: 'users/lists/push',
withCredential: true,
kind: 'account-write'
},
{
name: 'users/lists/list',
withCredential: true,
kind: 'account-read'
},
2017-03-01 14:33:43 +01:00
{
name: 'following/create',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'following-write'
},
{
name: 'following/delete',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'following-write'
},
2018-06-01 14:55:27 +02:00
{
2018-06-01 17:15:17 +02:00
name: 'following/requests/accept',
2018-06-01 14:55:27 +02:00
withCredential: true,
kind: 'following-write'
},
{
2018-06-01 17:15:17 +02:00
name: 'following/requests/reject',
2018-06-01 14:55:27 +02:00
withCredential: true,
kind: 'following-write'
},
2018-06-01 17:51:20 +02:00
{
name: 'following/requests/cancel',
withCredential: true,
kind: 'following-write'
},
{
name: 'following/requests/list',
withCredential: true,
kind: 'following-read'
},
2018-04-19 05:43:25 +02:00
{
name: 'following/stalk',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'following-write'
},
{
name: 'following/unstalk',
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'following-write'
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/show'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/replies'
2017-03-01 14:33:43 +01:00
},
{
2018-05-25 14:05:16 +02:00
name: 'notes/conversation'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/create',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('1hour'),
2018-07-01 06:40:31 +02:00
max: 300,
2017-03-02 18:20:34 +01:00
minInterval: ms('1second')
2017-03-01 14:33:43 +01:00
},
2018-04-07 19:30:37 +02:00
kind: 'note-write'
2017-03-01 14:33:43 +01:00
},
2018-05-28 07:39:46 +02:00
{
name: 'notes/delete',
withCredential: true,
kind: 'note-write'
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/renotes'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/search'
2017-03-01 14:33:43 +01:00
},
2018-06-10 05:19:19 +02:00
{
name: 'notes/search_by_tag'
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/timeline',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('10minutes'),
max: 100
}
},
{
name: 'notes/local-timeline',
limit: {
duration: ms('10minutes'),
max: 100
}
},
2018-07-11 07:03:21 +02:00
{
name: 'notes/hybrid-timeline',
limit: {
duration: ms('10minutes'),
max: 100
}
},
{
name: 'notes/global-timeline',
limit: {
duration: ms('10minutes'),
max: 100
}
},
2018-04-25 12:53:16 +02:00
{
name: 'notes/user-list-timeline',
withCredential: true,
limit: {
duration: ms('10minutes'),
max: 100
}
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/mentions',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('10minutes'),
max: 100
}
},
2017-03-25 15:23:22 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/trend',
2017-03-25 15:23:22 +01:00
withCredential: true
},
2017-09-06 16:19:58 +02:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/categorize',
2017-09-06 16:19:58 +02:00
withCredential: true
},
2017-03-01 14:33:43 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/reactions',
2017-03-01 14:33:43 +01:00
withCredential: true
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/reactions/create',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('1hour'),
2018-05-30 16:05:24 +02:00
max: 300
2017-03-01 14:33:43 +01:00
},
2017-03-19 20:24:19 +01:00
kind: 'reaction-write'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/reactions/delete',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
2017-03-19 20:24:19 +01:00
kind: 'reaction-write'
2017-03-01 14:33:43 +01:00
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/favorites/create',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'favorite-write'
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/favorites/delete',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'favorite-write'
},
{
2018-04-07 19:30:37 +02:00
name: 'notes/polls/vote',
2017-03-01 14:33:43 +01:00
withCredential: true,
limit: {
duration: ms('1hour'),
max: 100
},
kind: 'vote-write'
},
2017-03-25 08:43:55 +01:00
{
2018-04-07 19:30:37 +02:00
name: 'notes/polls/recommendation',
2017-03-25 08:43:55 +01:00
withCredential: true
},
2017-03-01 14:33:43 +01:00
2018-06-11 02:11:32 +02:00
{
name: 'hashtags/trend'
2018-06-11 02:11:32 +02:00
},
2017-03-01 14:33:43 +01:00
{
name: 'messaging/history',
withCredential: true,
kind: 'messaging-read'
},
{
name: 'messaging/messages',
withCredential: true,
kind: 'messaging-read'
},
{
name: 'messaging/messages/create',
withCredential: true,
kind: 'messaging-write'
2018-05-19 00:33:34 +02:00
}
2017-03-01 14:33:43 +01:00
];
export default endpoints;