pl-api: add more mitra features

Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
This commit is contained in:
Nicole Mikołajczyk
2025-04-09 14:32:23 +02:00
parent a4b7ed4901
commit 0b24481273
2 changed files with 34 additions and 0 deletions

View File

@ -888,6 +888,17 @@ class PlApiClient {
return v.parse(scrobbleSchema, response.json);
},
/**
* Load latest activities from outbox
*
* Requires features{@link Features['loadActivities']}
*/
loadActivities: async (accountId: string) => {
const response = await this.request<{}>(`/api/v1/accounts/${accountId}/load_activities`);
return response.json;
},
};
public readonly myAccount = {
@ -2471,6 +2482,17 @@ class PlApiClient {
getStatusMentionedUsers: async (statusId: string, params?: GetStatusMentionedUsersParams) =>
this.#paginatedGet(`/api/v1/statuses/${statusId}/mentioned_by`, { params }, accountSchema),
/**
* Load conversation from a remote server.
*
* Requires features{@link Features['loadConversation']}.
*/
loadConversation: async (statusId: string) => {
const response = await this.request <{}>(`/api/v1/statuses/${statusId}/load_conversation`, { method: 'POST' });
return response.json;
}
};
public readonly media = {

View File

@ -945,6 +945,18 @@ const getFeatures = (instance: Instance) => {
*/
listsFavourites: instance.api_versions['favourite_list.fedibird.pl-api'] >= 1,
/**
* Can load latest activities from outbox.
* @see POST /api/v1/accounts/:id/load_activities
*/
loadActivities: v.software === MITRA && gte(v.version, '2.16.0'),
/**
* Can load conversation from a remote server.
* @see POST /api/v1/statuses/:id/load_conversation
*/
loadConversation: v.software === MITRA && gte(v.version, '2.25.0'),
/**
* Ability to post statuses that don't federate.
* @see POST /api/v1/statuses