1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-31 20:54:19 +02:00

feat: 投稿通知設定したユーザーをリストで見ることができるように (#17385)

* feat: 投稿通知を設定したユーザーをリストで見ることができるように

* test(e2e): 投稿通知のテスト追加

* chore: 不必要なコードの削除
This commit is contained in:
4ster1sk
2026-05-12 21:34:45 +09:00
committed by GitHub
parent bf3c1f6686
commit 6665c398d6
11 changed files with 377 additions and 1 deletions

View File

@@ -2162,6 +2162,8 @@ declare namespace entities {
UsersListsUpdateMembershipRequest,
UsersNotesRequest,
UsersNotesResponse,
UsersNotifyListRequest,
UsersNotifyListResponse,
UsersPagesRequest,
UsersPagesResponse,
UsersReactionsRequest,
@@ -3827,6 +3829,12 @@ type UsersNotesRequest = operations['users___notes']['requestBody']['content']['
// @public (undocumented)
type UsersNotesResponse = operations['users___notes']['responses']['200']['content']['application/json'];
// @public (undocumented)
type UsersNotifyListRequest = operations['users___notify___list']['requestBody']['content']['application/json'];
// @public (undocumented)
type UsersNotifyListResponse = operations['users___notify___list']['responses']['200']['content']['application/json'];
// @public (undocumented)
type UsersPagesRequest = operations['users___pages']['requestBody']['content']['application/json'];

View File

@@ -4697,6 +4697,17 @@ declare module '../api.js' {
credential?: string | null,
): Promise<SwitchCaseResponseType<E, P>>;
/**
* List of following users with notification enabled.
*
* **Credential required**: *Yes* / **Permission**: *read:following*
*/
request<E extends 'users/notify/list', P extends Endpoints[E]['req']>(
endpoint: E,
params: P,
credential?: string | null,
): Promise<SwitchCaseResponseType<E, P>>;
/**
* Show all pages this user created.
*

View File

@@ -640,6 +640,8 @@ import type {
UsersListsUpdateMembershipRequest,
UsersNotesRequest,
UsersNotesResponse,
UsersNotifyListRequest,
UsersNotifyListResponse,
UsersPagesRequest,
UsersPagesResponse,
UsersReactionsRequest,
@@ -1084,6 +1086,7 @@ export type Endpoints = {
'users/lists/update': { req: UsersListsUpdateRequest; res: UsersListsUpdateResponse };
'users/lists/update-membership': { req: UsersListsUpdateMembershipRequest; res: EmptyResponse };
'users/notes': { req: UsersNotesRequest; res: UsersNotesResponse };
'users/notify/list': { req: UsersNotifyListRequest; res: UsersNotifyListResponse };
'users/pages': { req: UsersPagesRequest; res: UsersPagesResponse };
'users/reactions': { req: UsersReactionsRequest; res: UsersReactionsResponse };
'users/recommendation': { req: UsersRecommendationRequest; res: UsersRecommendationResponse };

View File

@@ -643,6 +643,8 @@ export type UsersListsUpdateResponse = operations['users___lists___update']['res
export type UsersListsUpdateMembershipRequest = operations['users___lists___update-membership']['requestBody']['content']['application/json'];
export type UsersNotesRequest = operations['users___notes']['requestBody']['content']['application/json'];
export type UsersNotesResponse = operations['users___notes']['responses']['200']['content']['application/json'];
export type UsersNotifyListRequest = operations['users___notify___list']['requestBody']['content']['application/json'];
export type UsersNotifyListResponse = operations['users___notify___list']['responses']['200']['content']['application/json'];
export type UsersPagesRequest = operations['users___pages']['requestBody']['content']['application/json'];
export type UsersPagesResponse = operations['users___pages']['responses']['200']['content']['application/json'];
export type UsersReactionsRequest = operations['users___reactions']['requestBody']['content']['application/json'];

View File

@@ -3852,6 +3852,15 @@ export type paths = {
*/
post: operations['users___notes'];
};
'/users/notify/list': {
/**
* users/notify/list
* @description List of following users with notification enabled.
*
* **Credential required**: *Yes* / **Permission**: *read:following*
*/
post: operations['users___notify___list'];
};
'/users/pages': {
/**
* users/pages
@@ -36047,6 +36056,78 @@ export interface operations {
};
};
};
users___notify___list: {
requestBody: {
content: {
'application/json': {
/** Format: misskey:id */
sinceId?: string;
/** Format: misskey:id */
untilId?: string;
sinceDate?: number;
untilDate?: number;
/** @default 10 */
limit?: number;
};
};
};
responses: {
/** @description OK (with results) */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['UserDetailed'][];
};
};
/** @description Client error */
400: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Authentication error */
401: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Forbidden error */
403: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description I'm Ai */
418: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Internal server error */
500: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['Error'];
};
};
};
};
users___pages: {
requestBody: {
content: {