This commit is contained in:
Yûki VACHOT 2022-01-05 11:44:46 +01:00
parent 77c2eb972d
commit 2512f8e312
5 changed files with 23 additions and 11 deletions

View file

@ -2,7 +2,7 @@ from . import db
class Logs(db.Model):
__bind_key__ = 'flaskaled-srv2'
__bind_key__ = 'db-logs'
id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.TIMESTAMP(), nullable=False)

View file

@ -17,10 +17,12 @@ def login():
# TODO: Token Authentication
if res['status'] == 0:
user = res['data']
token = create_auth_token(res['data'])
token = create_auth_token(user)
return send_message(res['message'], user, token)
elif res['status'] == 1:
return send_error(404, res['message'])
user = None
token = create_auth_token(user)
return send_error(404, res['message'], token)
else:
return send_error(400, 'POST Request Error : Need email, password fields.')
@ -47,14 +49,13 @@ def register():
# Logout
@app.route('/api/logout', methods=['DELETE'])
def logout():
token = check_auth_token(request, 'X-Access-Token')
token = check_auth_token(request)
if token['success']:
return send_message('User disconnected.', None)
else:
return send_error(500, token['message'])
# Update User
@app.route('/api/user/update', methods=['PUT'])
def user_update():

View file

@ -2,17 +2,19 @@ from . import db
class Users(db.Model):
__bind_key__ = 'flaskaled-srv1'
__bind_key__ = 'db-users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
email = db.Column(db.String(), nullable=False, unique=True)
nickname = db.Column(db.String(), nullable=False)
hash_pass = db.Column(db.LargeBinary(), nullable=False)
salt = db.Column(db.LargeBinary(), nullable=False)
is_admin = db.Column(db.Boolean, default=False, nullable=False)
def __init__(self, email, hash_pass, salt, is_admin):
def __init__(self, email, nickname, hash_pass, salt, is_admin):
self.email = email
self.hash_pass = hash_pass
self.nickname = nickname
self.salt = salt
self.is_admin = is_admin
@ -20,6 +22,7 @@ class Users(db.Model):
return {
'id': self.id,
'email': self.email,
'nickname': self.nickname,
'hash_pass': self.hash_pass,
'salt': self.salt,
'is_admin': self.is_admin
@ -29,5 +32,6 @@ class Users(db.Model):
return {
'id': self.id,
'email': self.email,
'nickname': self.nickname,
'is_admin': self.is_admin
}

View file

@ -13,11 +13,11 @@ class Config(object):
SQLALCHEMY_ECHO = False
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI_1 = os.environ.get('DATABASE_URL_1', None)
SQLALCHEMY_DATABASE_URI_2 = os.environ.get('DATABASE_URL_2', None)
SQLALCHEMY_DATABASE_URI_1 = os.environ.get('DATABASE_URL_USERS', None)
SQLALCHEMY_DATABASE_URI_2 = os.environ.get('DATABASE_URL_LOGS', None)
SQLALCHEMY_BINDS = {
'flaskaled-srv1': SQLALCHEMY_DATABASE_URI_1,
'flaskaled-srv2': SQLALCHEMY_DATABASE_URI_2
'db-users': SQLALCHEMY_DATABASE_URI_1,
'db-logs': SQLALCHEMY_DATABASE_URI_2
}
SECRET_KEY = os.environ.get('SECRET_KEY', 'default_secret_key')
@ -26,12 +26,18 @@ class Config(object):
class ProductionConfig(Config):
DEBUG = False
SQLALCHEMY_ECHO = False
SQLALCHEMY_TRACK_MODIFICATIONS = False
class StagingConfig(Config):
STAGING = True
SQLALCHEMY_ECHO = False
SQLALCHEMY_TRACK_MODIFICATIONS = False
class DevelopmentConfig(Config):
DEVELOPMENT = True
DEBUG = True
SQLALCHEMY_ECHO = True
SQLALCHEMY_TRACK_MODIFICATIONS = True

View file

@ -4,6 +4,7 @@ CREATE TABLE IF NOT EXISTS users
(
id serial PRIMARY KEY,
email character varying(320) NOT NULL,
nickname character varying(50) NOT NULL
hash_pass bytea NOT NULL,
salt bytea NOT NULL,
is_admin boolean NOT NULL DEFAULT FALSE