mirror of
https://github.com/Derpy-Leggies/OnlyLegs.git
synced 2025-06-29 03:26:16 +00:00
Move most of the processing into the upload
This commit is contained in:
parent
970d3dcf66
commit
0a27d79a82
8 changed files with 107 additions and 100 deletions
|
@ -5,6 +5,7 @@ User registration, login and logout and locking access to pages behind a login
|
|||
import re
|
||||
import uuid
|
||||
import logging
|
||||
from datetime import datetime as dt
|
||||
|
||||
import functools
|
||||
from flask import Blueprint, flash, g, redirect, request, session, url_for, abort, jsonify
|
||||
|
@ -49,14 +50,14 @@ def load_logged_in_user():
|
|||
g.user = None
|
||||
session.clear()
|
||||
else:
|
||||
is_alive = db_session.query(db.sessions).filter_by(session_uuid=user_uuid).first()
|
||||
is_alive = db_session.query(db.Sessions).filter_by(session_uuid=user_uuid).first()
|
||||
|
||||
if is_alive is None:
|
||||
logging.info('Session expired')
|
||||
flash(['Session expired!', '3'])
|
||||
session.clear()
|
||||
else:
|
||||
g.user = db_session.query(db.users).filter_by(id=user_id).first()
|
||||
g.user = db_session.query(db.Users).filter_by(id=user_id).first()
|
||||
|
||||
|
||||
@blueprint.route('/register', methods=['POST'])
|
||||
|
@ -96,7 +97,11 @@ def register():
|
|||
|
||||
|
||||
try:
|
||||
db_session.add(db.users(username, email, generate_password_hash(password)))
|
||||
register_user = db.Users(username=username,
|
||||
email=email,
|
||||
password=generate_password_hash(password),
|
||||
created_at=dt.now())
|
||||
db_session.add(register_user)
|
||||
db_session.commit()
|
||||
except exc.IntegrityError:
|
||||
return f'User {username} is already registered!'
|
||||
|
@ -116,7 +121,7 @@ def login():
|
|||
username = request.form['username']
|
||||
password = request.form['password']
|
||||
|
||||
user = db_session.query(db.users).filter_by(username=username).first()
|
||||
user = db_session.query(db.Users).filter_by(username=username).first()
|
||||
error = []
|
||||
|
||||
|
||||
|
@ -138,11 +143,14 @@ def login():
|
|||
session['user_id'] = user.id
|
||||
session['uuid'] = str(uuid.uuid4())
|
||||
|
||||
db_session.add(db.sessions(user.id,
|
||||
session.get('uuid'),
|
||||
request.remote_addr,
|
||||
request.user_agent.string,
|
||||
1))
|
||||
session_query = db.Sessions(user_id=user.id,
|
||||
session_uuid=session.get('uuid'),
|
||||
ip_address=request.remote_addr,
|
||||
user_agent=request.user_agent.string,
|
||||
active=True,
|
||||
created_at=dt.now())
|
||||
|
||||
db_session.add(session_query)
|
||||
db_session.commit()
|
||||
except Exception as err:
|
||||
logging.error('User %s could not be logged in: %s', username, err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue