feat: admin/metaのサポートの為により良いmeta型に

pull/34/head
yupix 2 years ago
parent 00e49c8677
commit cfe0b9f930
No known key found for this signature in database
GPG Key ID: 2FF705F5C56D9C06

@ -59,90 +59,119 @@ class IFeatures(IV12Features, IV11Features, IAyuskeyFeatures):
service_worker: bool
class IV12AdminMeta(TypedDict, total=False):
hcaptcha_secret_key: str
sensitive_media_detection: str
sensitive_media_detection_sensitivity: str
set_sensitive_flag_automatically: bool
enable_sensitive_media_detection_for_videos: bool
proxy_account_id: str
summary_proxy: str
enable_ip_logging: bool
enable_active_email_validation: bool
class IV11AdminMeta(TypedDict, total=False):
object_storage_s3_force_path_style: bool
class ISharedAdminMeta(TypedDict, total=False):
drive_capacity_per_local_user_mb: int
drive_capacity_per_remote_user_mb: int
hidden_tags: list[str]
blocked_hosts: list[str]
recaptcha_secret_key: str
twitter_consumer_key: str
twitter_consumer_secret: str
github_client_id: str
github_client_secret: str
discord_client_id: str
discord_client_secret: str
email: str
smtp_secure: bool
smtp_host: str
smtp_port: int
smtp_user: str
smtp_pass: str
sw_private_key: str
use_object_storage: bool
object_storage_base_url: str
object_storage_bucket: str
object_storage_prefix: str
object_storage_endpoint: str
object_storage_region: str
object_storage_port: int
object_storage_access_key: str
object_storage_secret_key: str
object_storage_use_ssl: bool
object_storage_use_proxy: bool
object_storage_set_public_read: bool
pinned_users: list[str]
class ILiteV12Meta(TypedDict, total=False):
ads: list[IAds]
background_image_url: str
default_dark_theme: str
default_light_theme: str
email_required_for_signup: bool
logo_image_url: str
translator_available: bool # v12 only
theme_color: str
class ILiteV11Meta(TypedDict, total=False):
class ILiteV11Meta(IV11AdminMeta, total=False):
announcements: list[IAnnouncement]
blocked_hosts: list[str]
cpu: ICPU
disable_local_timeline: bool
disable_global_timeline: bool
discord_client_id: str
discord_client_secret: str
drive_capacity_per_local_user_mb: int
drive_capacity_per_remote_user_mb: int
email: str
enable_emoji_reaction: bool
github_client_id: str
github_client_secret: str
hidden_tags: list[str]
machine: str
node: str
object_storage_access_key: str
object_storage_base_url: str
object_storage_bucket: str
object_storage_endpoint: str
object_storage_port: int
object_storage_prefix: str
object_storage_region: str
object_storage_s3_force_path_style: bool
object_storage_secret_key: str
object_storage_set_public_read: bool
object_storage_use_proxy: bool
object_storage_use_ssl: bool
os: str
pinned_users: list[str]
proxy_account: str
proxy_remote_files: bool
psql: str
recaptcha_secret_key: str
redis: str
secure: bool
smtp_host: str
smtp_pass: str
smtp_port: int
smtp_secure: bool
smtp_user: str
summaly_proxy: str
sw_private_key: str
tos_text_url: str
turnstile_secret_key: str
twitter_consumer_key: str
twitter_consumer_secret: str
use_object_storage: bool
use_star_for_reaction_fallback: bool
class IV12AndV11Meta(TypedDict, total=False):
class IMetaV12AndV11Common(TypedDict, total=False):
emojis: list[ICustomEmoji]
class ILiteMeta(ILiteV12Meta, ILiteV11Meta, IV12AndV11Meta):
banner_url: str | None
class IMetaCommon(IMetaV12AndV11Common):
cache_remote_files: bool
description: str | None
disable_registration: bool
enable_discord_integration: bool
email_required_for_signup: bool
enable_hcaptch: bool
hcaptcha_site_key: str | None
enable_recaptcha: bool
recaptcha_site_key: str
sw_publickey: str | None
mascot_image_url: str
banner_url: str | None
error_image_url: str | None
icon_url: str | None
max_note_text_length: int
ads: list[IAds]
enable_email: bool
enable_twitter_integration: bool
enable_github_integration: bool
enable_discord_integration: bool
enable_service_worker: bool
enable_twitter_integration: bool
translator_available: bool | None # v12 only
proxy_account_name: str
user_star_for_reaction_fallback: bool
class ILiteMeta(IMetaCommon, ILiteV12Meta, ILiteV11Meta, ISharedAdminMeta):
description: str | None
disable_registration: bool
feedback_url: str
maintainer_email: str | None
maintainer_name: str | None
max_note_text_length: int
name: str | None
recaptcha_site_key: str
repository_url: str
sw_publickey: str | None
tos_url: str # 厳密にはv11とv12で異なるが、スネークケースに置き換える都合上問題ない
uri: str
version: str
@ -150,7 +179,6 @@ class ILiteMeta(ILiteV12Meta, ILiteV11Meta, IV12AndV11Meta):
class IV12Meta(TypedDict, total=False):
pinned_clip_id: str
proxy_account_name: str
pinned_pages: list[str]
policies: IPolicies
require_setup: bool
@ -160,13 +188,5 @@ class IMeta(ILiteMeta, IV12Meta):
features: IFeatures
class IV12AdminMeta:
pass
class ISharedAdminMeta:
pass
class IAdminMeta:
class IAdminMeta(ISharedAdminMeta, IV12AdminMeta, IMetaCommon):
pass

Loading…
Cancel
Save