22 lines
628 B
TypeScript
22 lines
628 B
TypeScript
import type { MastodonAccount } from './account';
|
|
import type { MastodonObject } from './base';
|
|
|
|
import { fetchAPI, MastodonAPIError, type InstanceInfo } from './util';
|
|
|
|
export interface MastodonStatus extends MastodonObject {
|
|
account: MastodonAccount;
|
|
content: string;
|
|
spoiler_text: string;
|
|
url: string;
|
|
}
|
|
|
|
export function linkStatus(status: MastodonStatus) {
|
|
return '/post/' + status.id;
|
|
}
|
|
|
|
export async function fetchStatus(instance: InstanceInfo, id: string): Promise<MastodonStatus> {
|
|
return await fetchAPI(instance, '/api/v1/statuses/' + id)
|
|
.then((r) => r.json())
|
|
.then((b) => b as MastodonStatus);
|
|
}
|