chore: IPartialRoleに含まれる属性をIRoleから削除し、継承するように

feat/v13/notes
yupix 10 months ago
parent 96a126accd
commit bf69165b3b
No known key found for this signature in database
GPG Key ID: 2FF705F5C56D9C06

@ -1,6 +1,6 @@
from __future__ import annotations
from typing import TYPE_CHECKING, NotRequired, TypedDict, TypeGuard
from typing import TYPE_CHECKING, Literal, NotRequired, TypedDict, TypeGuard
if TYPE_CHECKING:
from mipac.types.user import IMeDetailed, IUserDetailed
@ -43,35 +43,29 @@ class IRolePolicies(TypedDict):
rate_limit_factor: IRolePolicieValue
class IRole(TypedDict):
class IPartialRole(TypedDict):
id: str
created_at: str
updated_at: str
name: str
description: str
color: str | None
icon_url: str | None
target: str
description: str # 空でもNoneではない
is_moderator: bool
is_administrator: bool
display_order: int
class IRole(IPartialRole):
created_at: str
updated_at: str
target: Literal["manual", "conditional"]
cond_formula: dict
is_public: bool
is_administrator: bool
is_moderator: bool
is_explorable: bool
as_badge: bool
can_edit_members_by_moderator: bool
policies: IRolePolicies
users_count: int
class IPartialRole(TypedDict):
id: str
name: str
color: str | None
icon_url: str | None
description: str # 空でもNoneではない
is_moderator: bool
is_administrator: bool
display_order: int
def is_me_role(data: IMeRole | IRoleUser, me_id: str) -> TypeGuard[IMeRole]:
return data["user"]["id"] == me_id and data["user"].get("avatar_id") is not None

Loading…
Cancel
Save