server/types/entities/instance.ts

48 lines
1,003 B
TypeScript
Raw Normal View History

2023-09-11 05:31:08 +02:00
import { Account } from "./account";
import { Stats } from "./stats";
import { URLs } from "./urls";
2023-09-11 05:46:20 +02:00
export interface Instance {
2023-09-11 05:31:08 +02:00
uri: string;
title: string;
description: string;
email: string;
version: string;
thumbnail: string | null;
urls: URLs;
stats: Stats;
2023-09-11 05:46:20 +02:00
languages: string[];
2023-09-11 05:31:08 +02:00
registrations: boolean;
approval_required: boolean;
invites_enabled: boolean;
max_toot_chars?: number;
configuration: {
statuses: {
max_characters: number;
max_media_attachments: number;
characters_reserved_per_url: number;
};
media_attachments: {
2023-09-11 05:46:20 +02:00
supported_mime_types: string[];
2023-09-11 05:31:08 +02:00
image_size_limit: number;
image_matrix_limit: number;
video_size_limit: number;
video_frame_limit: number;
video_matrix_limit: number;
};
polls: {
max_options: number;
max_characters_per_option: number;
min_expiration: number;
max_expiration: number;
};
};
contact_account: Account;
2023-09-11 05:46:20 +02:00
rules: InstanceRule[];
}
2023-09-11 05:31:08 +02:00
2023-09-11 05:46:20 +02:00
export interface InstanceRule {
2023-09-11 05:31:08 +02:00
id: string;
text: string;
2023-09-11 05:46:20 +02:00
}