-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathmodels.py
More file actions
47 lines (34 loc) · 1.36 KB
/
models.py
File metadata and controls
47 lines (34 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from pathlib import Path
from pydantic import BaseModel
from nonebot_plugin_orm import Model
from typing import Optional
from sqlalchemy import String, Text
from sqlalchemy.orm import Mapped, mapped_column
class DisplaySetting(Model):
user_id: Mapped[str] = mapped_column(String(128), primary_key=True)
language: Mapped[str] = mapped_column(String(16), default="zh_hans")
theme: Mapped[str] = mapped_column(String(16), default="default")
class GroupLanguageSetting(Model):
"""群语言设置模型"""
group_id: Mapped[str] = mapped_column(String(128), primary_key=True)
language: Mapped[str] = mapped_column(String(16), default="zh_hans")
class LanguageKeyCache(Model):
language: Mapped[str] = mapped_column(String(16), primary_key=True)
plugin: Mapped[str] = mapped_column(String(32), primary_key=True)
key: Mapped[str] = mapped_column(String(64), primary_key=True)
text: Mapped[str] = mapped_column(Text())
class LanguageDisplayData(BaseModel):
hidden: bool = False
description: str = ""
class LanguageKey(BaseModel):
text: list[str]
use_template: bool = True
class LanguageData(BaseModel):
# 由 Moonlark 自动填入
path: Path
# Language 节
author: str = "Unknown"
version: str = "latest"
# 其他节
display: LanguageDisplayData = LanguageDisplayData()
patch: Optional[str] = None