daily/Crud/AuthCrud.py

30 lines
1.1 KiB
Python
Raw Normal View History

2023-03-01 16:04:43 +08:00
from datetime import datetime
from sqlalchemy import func
from sqlalchemy.orm import Session
from Models.AuthModel import AuthRule, DefaultAuthRuleConfig
from Models.UserModel import User
from Models.DepartmentModel import Department
from Schemas.AuthSchemas import DefaultAuthConfigTypeEnum
def marge_auth_data(auth_data_list):
auth_data = []
for auth_data in auth_data_list:
auth_data += auth_data.split(',')
auth_data = list(set(auth_data))
auth_data.sort()
auth_data_str = "".join(auth_data)
return auth_data_str
def get_user_auth(db: Session, user_id):
user = db.query(User).filter_by(openid=user_id).first()
user_auth_data_str = user.auth_data
if not user.auth_data:
department_id_list = [int(d_id) for d_id in user.department.split(',')]
department_auth_data_list = [
db.query(Department).filter(Department.id.in_(department_id_list))]
user_auth_data_str = marge_auth_data(department_auth_data_list)
# db.query(User).filter_by(openid=user_id).update({'auth_data': user_auth_data_str})
return user_auth_data_str