Update: Filter Search added (not tested)
This commit is contained in:
parent
de3ddad057
commit
f46f7ba4f9
1 changed files with 46 additions and 139 deletions
|
|
@ -2,6 +2,7 @@ import hashlib
|
||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from flask_sqlalchemy import inspect
|
from flask_sqlalchemy import inspect
|
||||||
|
from sqlalchemy import asc, or_
|
||||||
from .users_model import Users, db
|
from .users_model import Users, db
|
||||||
from .logs_model import Logs
|
from .logs_model import Logs
|
||||||
|
|
||||||
|
|
@ -282,150 +283,56 @@ def db_users(ip, user_id, query, by='email,nickname', id=None, is_admin=None, or
|
||||||
# is_admin =
|
# is_admin =
|
||||||
# order_by = email, nickname, id, is_admin
|
# order_by = email, nickname, id, is_admin
|
||||||
|
|
||||||
|
users = Users.query
|
||||||
if query is not id:
|
if query is not id:
|
||||||
if query:
|
if query:
|
||||||
if by == 'email':
|
if query and by:
|
||||||
if is_admin:
|
if by == 'email':
|
||||||
if order_by == 'nickname':
|
users = users.filter(Users.email.like(query))
|
||||||
users = Users.query.filter().all()
|
elif by == 'nickname':
|
||||||
|
users = users.filter(Users.nickname.like(query))
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if order_by == 'nickname':
|
users = users.filter(or_(Users.nickname.like('%'+query+'%'), Users.email.like('%'+query+'%')))
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif by == 'nickname':
|
|
||||||
if is_admin:
|
|
||||||
if order_by == 'nickname':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
if order_by == 'nickname':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if is_admin:
|
message = 'Need q and by field if using query and not id'
|
||||||
if order_by == 'nickname':
|
db_create_log(
|
||||||
users = Users.query.filter().all()
|
ip=ip,
|
||||||
|
action='users',
|
||||||
elif order_by == 'id':
|
message=message,
|
||||||
users = Users.query.filter().all()
|
has_succeeded=False,
|
||||||
|
status_code=1,
|
||||||
elif order_by == 'is_admin':
|
table='users',
|
||||||
users = Users.query.filter().all()
|
id_user=user_id
|
||||||
|
)
|
||||||
else:
|
return {'status': 1, 'message': message}
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
if order_by == 'nickname':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
message = f'query({query}), by({by}), is_admin({is_admin}) and order_by({order_by}): {len(users)} result(s)'
|
|
||||||
db_create_log(
|
|
||||||
ip=ip,
|
|
||||||
action='users',
|
|
||||||
message=message,
|
|
||||||
has_succeeded=True,
|
|
||||||
status_code=0,
|
|
||||||
table='users',
|
|
||||||
id_user=user_id
|
|
||||||
)
|
|
||||||
return {'status': 0, 'message': message, 'data': [user.json() for user in users]}
|
|
||||||
elif id:
|
|
||||||
if is_admin:
|
|
||||||
if order_by == 'nickname':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
if order_by == 'nickname':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'id':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
elif order_by == 'is_admin':
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
else:
|
|
||||||
users = Users.query.filter().all()
|
|
||||||
|
|
||||||
message = f'id({id}), is_admin({is_admin}) and order_by({order_by}): {len(users)} result(s)'
|
|
||||||
db_create_log(
|
|
||||||
ip=ip,
|
|
||||||
action='users',
|
|
||||||
message=message,
|
|
||||||
has_succeeded=True,
|
|
||||||
status_code=0,
|
|
||||||
table='users',
|
|
||||||
id_user=user_id
|
|
||||||
)
|
|
||||||
return {'status': 0, 'message': message, 'data': [user.json() for user in users]}
|
|
||||||
else:
|
else:
|
||||||
message = 'Need q and by field if using query and not id'
|
users = users.filter(Users.id == id)
|
||||||
db_create_log(
|
|
||||||
ip=ip,
|
if is_admin is not None:
|
||||||
action='users',
|
users = users.filter(Users.is_admin == is_admin)
|
||||||
message=message,
|
|
||||||
has_succeeded=False,
|
if order_by == 'nickname':
|
||||||
status_code=1,
|
users = users.order_by(asc(Users.nickname))
|
||||||
table='users',
|
elif order_by == 'id':
|
||||||
id_user=user_id
|
users = users.order_by(asc(Users.id))
|
||||||
)
|
elif order_by == 'is_admin':
|
||||||
return {'status': 1, 'message': message}
|
users = users.order_by(asc(Users.is_admin))
|
||||||
|
else:
|
||||||
|
users = users.order_by(asc(Users.is_admin))
|
||||||
|
|
||||||
|
users = users.all()
|
||||||
|
|
||||||
|
message = f'id({id}), is_admin({is_admin}) and order_by({order_by}): {len(users)} result(s)'
|
||||||
|
db_create_log(
|
||||||
|
ip=ip,
|
||||||
|
action='users',
|
||||||
|
message=message,
|
||||||
|
has_succeeded=True,
|
||||||
|
status_code=0,
|
||||||
|
table='users',
|
||||||
|
id_user=user_id
|
||||||
|
)
|
||||||
|
return {'status': 0, 'message': message, 'data': [user.json() for user in users]}
|
||||||
else:
|
else:
|
||||||
message = 'Query or id field'
|
message = 'Query or id field'
|
||||||
db_create_log(
|
db_create_log(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue