feat: 노트 게시를 예약할 수 있음 (yojo-art/cherrypick#483, [Type4ny-Project/Type4ny@271c872c](271c872c97))
This commit is contained in:
parent
92ffd2a5fc
commit
2528508cff
41 changed files with 1455 additions and 6 deletions
|
|
@ -3385,6 +3385,39 @@ declare module '../api.js' {
|
|||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *write:notes-schedule*
|
||||
*/
|
||||
request<E extends 'notes/schedule/create', P extends Endpoints[E]['req']>(
|
||||
endpoint: E,
|
||||
params: P,
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *write:notes-schedule*
|
||||
*/
|
||||
request<E extends 'notes/schedule/delete', P extends Endpoints[E]['req']>(
|
||||
endpoint: E,
|
||||
params: P,
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:notes-schedule*
|
||||
*/
|
||||
request<E extends 'notes/schedule/list', P extends Endpoints[E]['req']>(
|
||||
endpoint: E,
|
||||
params: P,
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* No description provided.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -450,6 +450,10 @@ import type {
|
|||
NotesRenotesResponse,
|
||||
NotesRepliesRequest,
|
||||
NotesRepliesResponse,
|
||||
NotesScheduleCreateRequest,
|
||||
NotesScheduleDeleteRequest,
|
||||
NotesScheduleListRequest,
|
||||
NotesScheduleListResponse,
|
||||
NotesSearchByTagRequest,
|
||||
NotesSearchByTagResponse,
|
||||
NotesSearchRequest,
|
||||
|
|
@ -900,6 +904,9 @@ export type Endpoints = {
|
|||
'notes/like': { req: NotesLikeRequest; res: EmptyResponse };
|
||||
'notes/renotes': { req: NotesRenotesRequest; res: NotesRenotesResponse };
|
||||
'notes/replies': { req: NotesRepliesRequest; res: NotesRepliesResponse };
|
||||
'notes/schedule/create': { req: NotesScheduleCreateRequest; res: EmptyResponse };
|
||||
'notes/schedule/delete': { req: NotesScheduleDeleteRequest; res: EmptyResponse };
|
||||
'notes/schedule/list': { req: NotesScheduleListRequest; res: NotesScheduleListResponse };
|
||||
'notes/search-by-tag': { req: NotesSearchByTagRequest; res: NotesSearchByTagResponse };
|
||||
'notes/search': { req: NotesSearchRequest; res: NotesSearchResponse };
|
||||
'notes/show': { req: NotesShowRequest; res: NotesShowResponse };
|
||||
|
|
|
|||
|
|
@ -453,6 +453,10 @@ export type NotesRenotesRequest = operations['notes___renotes']['requestBody']['
|
|||
export type NotesRenotesResponse = operations['notes___renotes']['responses']['200']['content']['application/json'];
|
||||
export type NotesRepliesRequest = operations['notes___replies']['requestBody']['content']['application/json'];
|
||||
export type NotesRepliesResponse = operations['notes___replies']['responses']['200']['content']['application/json'];
|
||||
export type NotesScheduleCreateRequest = operations['notes___schedule___create']['requestBody']['content']['application/json'];
|
||||
export type NotesScheduleDeleteRequest = operations['notes___schedule___delete']['requestBody']['content']['application/json'];
|
||||
export type NotesScheduleListRequest = operations['notes___schedule___list']['requestBody']['content']['application/json'];
|
||||
export type NotesScheduleListResponse = operations['notes___schedule___list']['responses']['200']['content']['application/json'];
|
||||
export type NotesSearchByTagRequest = operations['notes___search-by-tag']['requestBody']['content']['application/json'];
|
||||
export type NotesSearchByTagResponse = operations['notes___search-by-tag']['responses']['200']['content']['application/json'];
|
||||
export type NotesSearchRequest = operations['notes___search']['requestBody']['content']['application/json'];
|
||||
|
|
|
|||
|
|
@ -2935,6 +2935,33 @@ export type paths = {
|
|||
*/
|
||||
post: operations['notes___replies'];
|
||||
};
|
||||
'/notes/schedule/create': {
|
||||
/**
|
||||
* notes/schedule/create
|
||||
* @description No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *write:notes-schedule*
|
||||
*/
|
||||
post: operations['notes___schedule___create'];
|
||||
};
|
||||
'/notes/schedule/delete': {
|
||||
/**
|
||||
* notes/schedule/delete
|
||||
* @description No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *write:notes-schedule*
|
||||
*/
|
||||
post: operations['notes___schedule___delete'];
|
||||
};
|
||||
'/notes/schedule/list': {
|
||||
/**
|
||||
* notes/schedule/list
|
||||
* @description No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:notes-schedule*
|
||||
*/
|
||||
post: operations['notes___schedule___list'];
|
||||
};
|
||||
'/notes/search-by-tag': {
|
||||
/**
|
||||
* notes/search-by-tag
|
||||
|
|
@ -5036,6 +5063,7 @@ export type components = {
|
|||
canImportFollowing: boolean;
|
||||
canImportMuting: boolean;
|
||||
canImportUserLists: boolean;
|
||||
scheduleNoteMax: number;
|
||||
};
|
||||
ReversiGameLite: {
|
||||
/** Format: id */
|
||||
|
|
@ -24424,6 +24452,247 @@ export type operations = {
|
|||
};
|
||||
};
|
||||
};
|
||||
/**
|
||||
* notes/schedule/create
|
||||
* @description No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *write:notes-schedule*
|
||||
*/
|
||||
notes___schedule___create: {
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
/**
|
||||
* @default public
|
||||
* @enum {string}
|
||||
*/
|
||||
visibility?: 'public' | 'home' | 'followers' | 'specified';
|
||||
visibleUserIds?: string[];
|
||||
cw?: string | null;
|
||||
/**
|
||||
* @default null
|
||||
* @enum {string|null}
|
||||
*/
|
||||
reactionAcceptance?: null | 'likeOnly' | 'likeOnlyForRemote' | 'nonSensitiveOnly' | 'nonSensitiveOnlyForLocalLikeOnlyForRemote';
|
||||
/** @default false */
|
||||
disableRightClick?: boolean;
|
||||
/** @default false */
|
||||
noExtractMentions?: boolean;
|
||||
/** @default false */
|
||||
noExtractHashtags?: boolean;
|
||||
/** @default false */
|
||||
noExtractEmojis?: boolean;
|
||||
/** Format: misskey:id */
|
||||
replyId?: string | null;
|
||||
/** Format: misskey:id */
|
||||
renoteId?: string | null;
|
||||
text?: string | null;
|
||||
fileIds?: string[];
|
||||
mediaIds?: string[];
|
||||
poll?: ({
|
||||
choices: string[];
|
||||
multiple?: boolean;
|
||||
expiresAt?: number | null;
|
||||
expiredAfter?: number | null;
|
||||
}) | null;
|
||||
event?: ({
|
||||
title?: string;
|
||||
start?: number;
|
||||
end?: number | null;
|
||||
metadata?: Record<string, never>;
|
||||
}) | null;
|
||||
scheduleNote: {
|
||||
scheduledAt?: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description OK (without any results) */
|
||||
204: {
|
||||
content: never;
|
||||
};
|
||||
/** @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 To many requests */
|
||||
429: {
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Internal server error */
|
||||
500: {
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
/**
|
||||
* notes/schedule/delete
|
||||
* @description No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *write:notes-schedule*
|
||||
*/
|
||||
notes___schedule___delete: {
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
/** Format: misskey:id */
|
||||
noteId: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description OK (without any results) */
|
||||
204: {
|
||||
content: never;
|
||||
};
|
||||
/** @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 To many requests */
|
||||
429: {
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Internal server error */
|
||||
500: {
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
/**
|
||||
* notes/schedule/list
|
||||
* @description No description provided.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:notes-schedule*
|
||||
*/
|
||||
notes___schedule___list: {
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
/** Format: misskey:id */
|
||||
sinceId?: string;
|
||||
/** Format: misskey:id */
|
||||
untilId?: string;
|
||||
/** @default 10 */
|
||||
limit?: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description OK (with results) */
|
||||
200: {
|
||||
content: {
|
||||
'application/json': ({
|
||||
/** Format: misskey:id */
|
||||
id: string;
|
||||
note: {
|
||||
createdAt: string;
|
||||
text?: string;
|
||||
cw?: string | null;
|
||||
fileIds: string[];
|
||||
/** @enum {string} */
|
||||
visibility: 'public' | 'home' | 'followers' | 'specified';
|
||||
visibleUsers: components['schemas']['UserLite'][];
|
||||
user: components['schemas']['User'];
|
||||
/**
|
||||
* @default null
|
||||
* @enum {string|null}
|
||||
*/
|
||||
reactionAcceptance: null | 'likeOnly' | 'likeOnlyForRemote' | 'nonSensitiveOnly' | 'nonSensitiveOnlyForLocalLikeOnlyForRemote';
|
||||
isSchedule: boolean;
|
||||
};
|
||||
userId: string;
|
||||
scheduledAt: string;
|
||||
})[];
|
||||
};
|
||||
};
|
||||
/** @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 To many requests */
|
||||
429: {
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Internal server error */
|
||||
500: {
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
/**
|
||||
* notes/search-by-tag
|
||||
* @description No description provided.
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ export const permissions = [
|
|||
'read:mutes',
|
||||
'write:mutes',
|
||||
'write:notes',
|
||||
'read:notes-schedule',
|
||||
'write:notes-schedule',
|
||||
'read:notifications',
|
||||
'write:notifications',
|
||||
'read:reactions',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue