2024-06-07 03:51:33 +02:00
|
|
|
import type { Account } from "./account";
|
|
|
|
|
|
|
|
|
|
export type Instance = {
|
2024-06-07 06:42:55 +02:00
|
|
|
domain: string;
|
2024-06-07 03:51:33 +02:00
|
|
|
title: string;
|
|
|
|
|
version: string;
|
2024-06-07 06:42:55 +02:00
|
|
|
lysand_version: string;
|
|
|
|
|
source_url: string;
|
|
|
|
|
description: string;
|
|
|
|
|
usage: {
|
|
|
|
|
users: {
|
|
|
|
|
active_month: number;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
thumbnail: {
|
|
|
|
|
url: string | null;
|
|
|
|
|
};
|
|
|
|
|
banner: {
|
|
|
|
|
url: string | null;
|
|
|
|
|
};
|
|
|
|
|
languages: string[];
|
2024-06-07 03:51:33 +02:00
|
|
|
configuration: {
|
2024-06-07 06:42:55 +02:00
|
|
|
urls: {
|
|
|
|
|
streaming: string | null;
|
|
|
|
|
status: string | null;
|
|
|
|
|
};
|
|
|
|
|
accounts: {
|
|
|
|
|
max_featured_tags: number;
|
|
|
|
|
};
|
2024-06-07 03:51:33 +02:00
|
|
|
statuses: {
|
|
|
|
|
max_characters: number;
|
2024-06-07 06:42:55 +02:00
|
|
|
max_media_attachments: number;
|
|
|
|
|
characters_reserved_per_url: number;
|
2024-06-07 03:51:33 +02:00
|
|
|
};
|
2024-06-07 06:42:55 +02:00
|
|
|
media_attachments: {
|
|
|
|
|
supported_mime_types: string[];
|
|
|
|
|
image_size_limit: number;
|
|
|
|
|
image_matrix_limit: number;
|
|
|
|
|
video_size_limit: number;
|
|
|
|
|
video_frame_rate_limit: number;
|
|
|
|
|
video_matrix_limit: number;
|
|
|
|
|
};
|
|
|
|
|
polls: {
|
2024-06-07 03:51:33 +02:00
|
|
|
max_characters_per_option: number;
|
|
|
|
|
max_expiration: number;
|
2024-06-07 06:42:55 +02:00
|
|
|
max_options: number;
|
|
|
|
|
min_expiration: number;
|
2024-06-07 03:51:33 +02:00
|
|
|
};
|
2024-06-07 06:42:55 +02:00
|
|
|
translation: {
|
|
|
|
|
enabled: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
registrations: {
|
|
|
|
|
enabled: boolean;
|
|
|
|
|
approval_required: boolean;
|
|
|
|
|
message: string | null;
|
|
|
|
|
url: string | null;
|
|
|
|
|
};
|
|
|
|
|
contact: {
|
|
|
|
|
email: string | null;
|
|
|
|
|
account: Account | null;
|
|
|
|
|
};
|
|
|
|
|
rules: {
|
|
|
|
|
id: string;
|
|
|
|
|
text: string;
|
|
|
|
|
hint: string;
|
|
|
|
|
}[];
|
|
|
|
|
sso: {
|
|
|
|
|
forced: boolean;
|
|
|
|
|
providers: {
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
id: string;
|
|
|
|
|
}[];
|
2024-06-07 03:51:33 +02:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type InstanceRule = {
|
|
|
|
|
id: string;
|
|
|
|
|
text: string;
|
|
|
|
|
};
|
2024-06-08 00:10:52 +02:00
|
|
|
|
|
|
|
|
export type ExtendedDescription = {
|
|
|
|
|
updated_at: string;
|
|
|
|
|
content: string;
|
|
|
|
|
};
|