daily/Crud/AuthCrud.py

30 lines
1.0 KiB
Python
Raw Normal View History

2023-03-01 16:04:43 +08:00
from sqlalchemy.orm import Session
from Models.UserModel import User
from Models.DepartmentModel import Department
def marge_auth_data(auth_data_list):
auth_data = []
2023-03-02 15:19:14 +08:00
for item in auth_data_list:
if item:
auth_data.extend(item.split(','))
2023-03-01 16:04:43 +08:00
auth_data = list(set(auth_data))
auth_data.sort()
2023-03-03 10:01:21 +08:00
auth_data_str = ",".join(auth_data)
2023-03-01 16:04:43 +08:00
return auth_data_str
2023-03-07 12:03:06 +08:00
def get_user_auth(db: Session, email):
user = db.query(User).filter_by(email=email).first()
2023-03-01 16:04:43 +08:00
user_auth_data_str = user.auth_data
2023-04-19 17:15:50 +08:00
if user.department:
department_id_list = [int(d_id) for d_id in user.department.split(',')]
department_auth_data_list = [
item.auth_data
for item in db.query(Department).filter(Department.id.in_(department_id_list))]
if user.auth_data:
department_auth_data_list.append(user.auth_data)
user_auth_data_str = marge_auth_data(department_auth_data_list)
2023-03-01 16:04:43 +08:00
# db.query(User).filter_by(openid=user_id).update({'auth_data': user_auth_data_str})
return user_auth_data_str