From 3e9ac9a17918ec3c50aa87d91cbacbc5a3b37ff3 Mon Sep 17 00:00:00 2001
From: Lucas Brandstaetter <lucas@brandstaetter.tech>
Date: Sun, 22 Dec 2024 03:44:27 +0100
Subject: [PATCH] Add type check for PlatformUser

---
 src/core/models/users.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/core/models/users.py b/src/core/models/users.py
index 07d73c732..0ab6c716e 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)
-- 
GitLab