Skip to content

Commit c687445

Browse files
authored
Merge pull request #329 from LleidaHack/integration
Integration
2 parents ac97859 + 5ba9707 commit c687445

File tree

2 files changed

+31
-26
lines changed

2 files changed

+31
-26
lines changed

src/impl/LleidaHacker/router_v1.py

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44

55
# from services.mail import send_registration_confirmation_email
66
from generated_src.lleida_hack_mail_api_client.models.mail_create import MailCreate
7+
from src.error.AuthenticationException import AuthenticationException
78
from src.impl.LleidaHacker.schema import LleidaHackerCreate
89
from src.impl.LleidaHacker.schema import LleidaHackerGet
910
from src.impl.LleidaHacker.schema import LleidaHackerGetAll
1011
from src.impl.LleidaHacker.schema import LleidaHackerUpdate
1112
from src.impl.LleidaHacker.service import LleidaHackerService
1213
from src.impl.Mail.client import MailClient
1314
from src.impl.Mail.internall_templates import InternalTemplate
15+
from src.utils.UserType import UserType
1416
from src.utils.JWTBearer import JWTBearer
1517
from src.utils.Token import AccesToken, BaseToken, RefreshToken, VerificationToken
1618

@@ -22,31 +24,34 @@
2224
lleidahacker_service = LleidaHackerService()
2325
mail_client = MailClient()
2426

25-
#@router.post("/signup")
26-
#def signup(payload: LleidaHackerCreate):
27-
# new_lleidahacker = lleidahacker_service.add_lleidahacker(payload)
28-
# access_token = AccesToken(new_lleidahacker).user_set()
29-
# refresh_token = RefreshToken(new_lleidahacker).user_set()
30-
# verification_token = VerificationToken(new_lleidahacker).user_set()
31-
#
32-
# mail = mail_client.create_mail(
33-
# MailCreate(
34-
# template_id=mail_client.get_internall_template_id(
35-
# InternalTemplate.USER_CREATED
36-
# ),
37-
# receiver_id=str(new_lleidahacker.id),
38-
# receiver_mail=new_lleidahacker.email,
39-
# subject="Your User Hacker was created",
40-
# fields=f"{new_lleidahacker.name},{verification_token}",
41-
# )
42-
# )
43-
# mail_client.send_mail_by_id(mail.id)
44-
# return {
45-
# "success": True,
46-
# "user_id": new_lleidahacker.id,
47-
# "access_token": access_token,
48-
# "refresh_token": refresh_token,
49-
# }
27+
@router.post("/signup")
28+
def signup(payload: LleidaHackerCreate, token: BaseToken = Depends(JWTBearer())):
29+
if not token.check([UserType.LLEIDAHACKER]):
30+
raise AuthenticationException("Not authorized")
31+
32+
new_lleidahacker = lleidahacker_service.add_lleidahacker(payload)
33+
access_token = AccesToken(new_lleidahacker).user_set()
34+
refresh_token = RefreshToken(new_lleidahacker).user_set()
35+
verification_token = VerificationToken(new_lleidahacker).user_set()
36+
37+
mail = mail_client.create_mail(
38+
MailCreate(
39+
template_id=mail_client.get_internall_template_id(
40+
InternalTemplate.USER_CREATED
41+
),
42+
receiver_id=str(new_lleidahacker.id),
43+
receiver_mail=new_lleidahacker.email,
44+
subject="Your User Hacker was created",
45+
fields=f"{new_lleidahacker.name},{verification_token}",
46+
)
47+
)
48+
mail_client.send_mail_by_id(mail.id)
49+
return {
50+
"success": True,
51+
"user_id": new_lleidahacker.id,
52+
"access_token": access_token,
53+
"refresh_token": refresh_token,
54+
}
5055

5156

5257
@router.get("/all", response_model=List[LleidaHackerGet])

src/impl/LleidaHacker/service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def add_lleidahacker(self, payload: LleidaHackerCreate):
4949
**payload.model_dump(exclude={"config"}), code=generate_user_code()
5050
)
5151
new_lleidahacker.password = get_password_hash(payload.password)
52-
new_lleidahacker.active = True
52+
new_lleidahacker.active = False # IMPORTANT DO NOT ACTIVATE USER AUTOMATICALLY !!!!!!!!!!!!! @Big_Lolo
5353

5454
new_config = UserConfig(**payload.config.model_dump())
5555

0 commit comments

Comments
 (0)