Skip to content

Commit 06bdfda

Browse files
updating register route to work better with fastapi scheme
1 parent 3d2a965 commit 06bdfda

File tree

3 files changed

+37
-11
lines changed

3 files changed

+37
-11
lines changed

src/routers/ui_routes.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ async def home(request: Request, response_model=HTMLResponse):
3737
async def signin(request: Request, response_model=HTMLResponse):
3838
return TEMPLATES.TemplateResponse("accounts/login.html", {"request" : request})
3939

40+
4041
@router.post("/login", status_code=status.HTTP_200_OK)
4142
async def signin(request: Request):
4243
form = await request.form()
@@ -69,11 +70,36 @@ async def register(request: Request, response_model=HTMLResponse):
6970

7071
@router.post("/register", status_code=status.HTTP_200_OK)
7172
async def register(request: Request, response_model=HTMLResponse):
72-
data = await request.json()
73+
form = await request.form()
74+
form = form._dict
75+
form.pop('register')
76+
77+
new_user = models.User(**form)
78+
79+
base_url = request.base_url
80+
login_url = app.user_router.url_path_for('create_user')
81+
request_url = base_url.__str__() + login_url.__str__()[1:]
82+
http3client = http3.AsyncClient()
83+
response = await http3client.post(request_url, data=form)
84+
85+
if (response.status_code==200):
86+
data = response.json()
87+
token = data['access_token']
88+
89+
redirect = RedirectResponse(url=router.url_path_for('home'))
90+
redirect.status_code = 302
91+
redirect.set_cookie('Authorization', f'Bearer {token}')
92+
return redirect
93+
94+
95+
7396
print ('\n\n')
74-
print (data)
97+
print(new_user.id)
98+
print(new_user.email)
99+
# print (form)
75100
print ('\n\n')
76101

77102

78103

79104
return TEMPLATES.TemplateResponse("accounts/register.html", {"request" : request})
105+

src/templates/accounts/login.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ <h3 class="font-weight-bolder text-info text-gradient">
3838
</div>
3939
<div class="card-body">
4040

41-
<form id="login_form" role="form text-left" method="POST" action="{{ url_for('signin') }}" data-successful_redirect="{{ url_for('home') }}">
41+
<form role="form text-left" method="POST" action="{{ url_for('signin') }}">
4242

4343
<label>Username</label>
4444
<div class="mb-3">

src/templates/accounts/register.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ <h5>Sign UP</h5>
6565

6666
{% else %}
6767

68-
<form id="register_form" action="{{ url_for('create_user') }}" data-successful_redirect="{{ url_for('signin') }}" role="form text-left">
68+
<form method="POST" action="{{ url_for('register') }}" role="form text-left">
6969
<label>Username</label>
7070
<div class="mb-3">
7171
<input type="text" name="username" id="username" placeholder="username" class="form-control">
@@ -92,18 +92,18 @@ <h5>Sign UP</h5>
9292
let register_form = document.querySelector('#register_form')
9393

9494
register_form.addEventListener('submit', async function(event){
95-
event.preventDefault()
95+
/* event.preventDefault() */
9696
return
97-
let form_action = register_form.action
98-
let email = register_form.querySelector('#email').value
99-
let username = register_form.querySelector('#username').value
100-
let password = register_form.querySelector('#password').value
97+
/* let form_action = register_form.action */
98+
/* let email = register_form.querySelector('#email').value */
99+
/* let username = register_form.querySelector('#username').value */
100+
/* let password = register_form.querySelector('#password').value */
101101

102-
let new_user = {
102+
/* let new_user = {
103103
'email' : email,
104104
'username' : username,
105105
'password' : password
106-
}
106+
} */
107107

108108
fetch(form_action, {
109109
method: "POST",

0 commit comments

Comments
 (0)