rainbow-fe/src/lib/mastoapi/status.ts

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);
}