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

17 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 12:42 +0000

1import uuid 

2 

3from polar.exceptions import PolarTaskError 

4from polar.worker import AsyncSessionMaker, TaskPriority, actor 

5 

6from .repository import UserRepository 

7 

8 

9class UserTaskError(PolarTaskError): ... 9 ↛ 12line 9 didn't jump to line 12 because

10 

11 

12class UserDoesNotExist(UserTaskError): 

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

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) 

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

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)