spec(frontend): Skeb Buttonの実装 (MisskeyIO#573)

This commit is contained in:
まっちゃとーにゅ 2024-03-29 17:05:02 +09:00 committed by GitHub
parent 197e39781d
commit efc5d97eab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 483 additions and 4 deletions

View file

@ -3826,6 +3826,17 @@ declare module '../api.js' {
credential?: string | null,
): Promise<SwitchCaseResponseType<E, P>>;
/**
* No description provided.
*
* **Credential required**: *No*
*/
request<E extends 'users/get-skeb-status', P extends Endpoints[E]['req']>(
endpoint: E,
params: P,
credential?: string | null,
): Promise<SwitchCaseResponseType<E, P>>;
/**
* No description provided.
*

View file

@ -510,6 +510,8 @@ import type {
UsersGetFollowingBirthdayUsersResponse,
UsersGetFrequentlyRepliedUsersRequest,
UsersGetFrequentlyRepliedUsersResponse,
UsersGetSkebStatusRequest,
UsersGetSkebStatusResponse,
UsersFeaturedNotesRequest,
UsersFeaturedNotesResponse,
UsersListsCreateRequest,
@ -920,6 +922,7 @@ export type Endpoints = {
'users/gallery/posts': { req: UsersGalleryPostsRequest; res: UsersGalleryPostsResponse };
'users/get-following-birthday-users': { req: UsersGetFollowingBirthdayUsersRequest; res: UsersGetFollowingBirthdayUsersResponse };
'users/get-frequently-replied-users': { req: UsersGetFrequentlyRepliedUsersRequest; res: UsersGetFrequentlyRepliedUsersResponse };
'users/get-skeb-status': { req: UsersGetSkebStatusRequest; res: UsersGetSkebStatusResponse };
'users/featured-notes': { req: UsersFeaturedNotesRequest; res: UsersFeaturedNotesResponse };
'users/lists/create': { req: UsersListsCreateRequest; res: UsersListsCreateResponse };
'users/lists/delete': { req: UsersListsDeleteRequest; res: EmptyResponse };

View file

@ -513,6 +513,8 @@ export type UsersGetFollowingBirthdayUsersRequest = operations['users___get-foll
export type UsersGetFollowingBirthdayUsersResponse = operations['users___get-following-birthday-users']['responses']['200']['content']['application/json'];
export type UsersGetFrequentlyRepliedUsersRequest = operations['users___get-frequently-replied-users']['requestBody']['content']['application/json'];
export type UsersGetFrequentlyRepliedUsersResponse = operations['users___get-frequently-replied-users']['responses']['200']['content']['application/json'];
export type UsersGetSkebStatusRequest = operations['users___get-skeb-status']['requestBody']['content']['application/json'];
export type UsersGetSkebStatusResponse = operations['users___get-skeb-status']['responses']['200']['content']['application/json'];
export type UsersFeaturedNotesRequest = operations['users___featured-notes']['requestBody']['content']['application/json'];
export type UsersFeaturedNotesResponse = operations['users___featured-notes']['responses']['200']['content']['application/json'];
export type UsersListsCreateRequest = operations['users___lists___create']['requestBody']['content']['application/json'];

View file

@ -3294,6 +3294,22 @@ export type paths = {
*/
post: operations['users___get-frequently-replied-users'];
};
'/users/get-skeb-status': {
/**
* users/get-skeb-status
* @description No description provided.
*
* **Credential required**: *No*
*/
get: operations['users___get-skeb-status'];
/**
* users/get-skeb-status
* @description No description provided.
*
* **Credential required**: *No*
*/
post: operations['users___get-skeb-status'];
};
'/users/featured-notes': {
/**
* users/featured-notes
@ -5008,6 +5024,7 @@ export type components = {
translatorAvailable: boolean;
mediaProxy: string;
enableUrlPreview: boolean;
enableSkebStatus: boolean;
backgroundImageUrl: string | null;
impressumUrl: string | null;
logoImageUrl: string | null;
@ -25669,6 +25686,71 @@ export type operations = {
};
};
};
/**
* users/get-skeb-status
* @description No description provided.
*
* **Credential required**: *No*
*/
'users___get-skeb-status': {
requestBody: {
content: {
'application/json': {
/** Format: misskey:id */
userId: string;
};
};
};
responses: {
/** @description OK (with results) */
200: {
content: {
'application/json': {
screenName: string;
isCreator: boolean;
isAcceptable: boolean;
creatorRequestCount: number;
clientRequestCount: number;
skills: ({
amount: number;
/** @enum {string} */
genre: 'art' | 'comic' | 'voice' | 'novel' | 'video' | 'music' | 'correction';
})[];
};
};
};
/** @description Client error */
400: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Authentication error */
401: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Forbidden error */
403: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description I'm Ai */
418: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Internal server error */
500: {
content: {
'application/json': components['schemas']['Error'];
};
};
};
};
/**
* users/featured-notes
* @description No description provided.