Coverage for polar/user/tasks.py: 52%

17 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 15:52 +0000

1import uuid 1a

2 

3from polar.exceptions import PolarTaskError 1a

4from polar.worker import AsyncSessionMaker, TaskPriority, actor 1a

5 

6from .repository import UserRepository 1a

7 

8 

9class UserTaskError(PolarTaskError): ... 1a

10 

11 

12class UserDoesNotExist(UserTaskError): 1a

13 def __init__(self, user_id: uuid.UUID) -> None: 1a

14 self.user_id = user_id 

15 message = f"The user with id {user_id} does not exist." 

16 super().__init__(message) 

17 

18 

19@actor(actor_name="user.on_after_signup", priority=TaskPriority.LOW) 1a

20async def user_on_after_signup(user_id: uuid.UUID) -> None: 1a

21 async with AsyncSessionMaker() as session: 

22 repository = UserRepository.from_session(session) 

23 user = await repository.get_by_id(user_id) 

24 if user is None: 

25 raise UserDoesNotExist(user_id)