Skip to content

Commit 82e50b5

Browse files
committed
queue implementation for user registration and email verification update to user-service
1 parent 875c436 commit 82e50b5

File tree

4 files changed

+32
-6
lines changed

4 files changed

+32
-6
lines changed

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ dependencies = [
2222
"pika>=1.3.2",
2323
"faststream[rabbit]>=0.5.39",
2424
"starlette>=0.46.2",
25-
"uvicorn>=0.34.1",
25+
"django-extensions>=4.1",
26+
"uvicorn>=0.34.2",
2627
]
2728

2829
[dependency-groups]

src/api/services/AuthService.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from typing import Annotated
22

33
from src.utils.svcs import Service
4+
from src.config.asgi import broker
45
from src.utils.logger import Logger
56
from src.api.typing.JWT import JWTSuccess
67
from src.api.typing.UserExists import UserExists
@@ -60,6 +61,11 @@ async def register(self, req: CreateUserRequest) -> UserExists:
6061

6162
created_user = await UserRepository.add(req)
6263

64+
user_data = {"id": created_user.id, "email": created_user.email}
65+
queue = "create-user"
66+
67+
await broker.publish(message=user_data, queue=queue, persist=True)
68+
6369
await self.otp_service.send_otp(created_user.id)
6470

6571
user = self.utility_service.sanitize_user_object(created_user)
@@ -120,6 +126,10 @@ async def validate_email(self, req: AuthenticateUserOtp) -> bool:
120126
await UserRepository.update_by_user(
121127
user, {"is_active": True, "is_enabled": True, "is_validated": True}
122128
)
129+
user_data = {"id": user.id, "email": user.email}
130+
queue = "validate-user"
131+
await broker.publish(message=user_data, queue=queue, persist=True)
132+
123133
return True
124134

125135
async def login(self, req: AuthenticateUserRequest) -> UserSuccess:

src/config/apps.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
THIRD_PARTY_APPS = [
1515
"corsheaders",
16+
"django_extensions",
1617
]
1718

1819
INSTALLED_APPS = [

uv.lock

Lines changed: 19 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)