diff --git a/src/core/models/users.py b/src/core/models/users.py index 07d73c7325b7701bd08d82be117b2506bb1ba364..0ab6c716e25656a7d98b1e212303066f19a94872 100644 --- a/src/core/models/users.py +++ b/src/core/models/users.py @@ -4,7 +4,7 @@ from contextlib import suppress from pathlib import Path from random import choices from string import ascii_lowercase, digits -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING, Any, TypeIs from uuid import uuid4 from timezone_field import TimeZoneField @@ -213,6 +213,10 @@ class PlatformUser(AbstractUser): return AnonUser() + @classmethod + def type_is(cls, obj: object) -> TypeIs['PlatformUser']: + return isinstance(obj, cls) + def get_all_verified_addresses(self): """Return a list of all verified addresses (for legal logging purposes, e.g. hangar creation).""" return self.communication_channels.filter(is_verified=True).values_list('address', flat=True)