79 lines
2.0 KiB
Python
79 lines
2.0 KiB
Python
|
|
# coding=utf-8
|
|||
|
|
"""
|
|||
|
|
@project: MaxKB
|
|||
|
|
@Author:虎
|
|||
|
|
@file: common.py
|
|||
|
|
@date:2025/3/25 16:26
|
|||
|
|
@desc:
|
|||
|
|
"""
|
|||
|
|
from django.db.models import QuerySet
|
|||
|
|
|
|||
|
|
from common.util.common import encryption
|
|||
|
|
from setting.models import Model
|
|||
|
|
from users.models import User
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_model_operation_object(model_id):
|
|||
|
|
model_model = QuerySet(model=Model).filter(id=model_id).first()
|
|||
|
|
if model_model is not None:
|
|||
|
|
return {
|
|||
|
|
"name": model_model.name
|
|||
|
|
}
|
|||
|
|
return {}
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_member_operation_object(member_id):
|
|||
|
|
user_model = QuerySet(model=User).filter(id=member_id).first()
|
|||
|
|
if user_model is not None:
|
|||
|
|
return {
|
|||
|
|
"name": user_model.username
|
|||
|
|
}
|
|||
|
|
return {}
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_member_operation_object_batch(member_id_list):
|
|||
|
|
user_model_list = QuerySet(model=User).filter(id__in=member_id_list)
|
|||
|
|
if user_model_list is not None:
|
|||
|
|
return {
|
|||
|
|
"name": f'[{",".join([user.username for user in user_model_list])}]',
|
|||
|
|
"user_list": [{'name': user.username} for user in user_model_list]
|
|||
|
|
}
|
|||
|
|
return {}
|
|||
|
|
|
|||
|
|
|
|||
|
|
def encryption_str(_value):
|
|||
|
|
if isinstance(_value, str):
|
|||
|
|
return encryption(_value)
|
|||
|
|
return _value
|
|||
|
|
|
|||
|
|
|
|||
|
|
def encryption_credential(credential):
|
|||
|
|
if isinstance(credential, dict):
|
|||
|
|
return {key: encryption_str(credential.get(key)) for key in credential}
|
|||
|
|
return credential
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_edit_model_details(request):
|
|||
|
|
path = request.path
|
|||
|
|
body = request.data
|
|||
|
|
query = request.query_params
|
|||
|
|
credential = body.get('credential', {})
|
|||
|
|
credential_encryption_ed = encryption_credential(credential)
|
|||
|
|
return {
|
|||
|
|
'path': path,
|
|||
|
|
'body': {**body, 'credential': credential_encryption_ed},
|
|||
|
|
'query': query
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
def get_email_details(request):
|
|||
|
|
path = request.path
|
|||
|
|
body = request.data
|
|||
|
|
query = request.query_params
|
|||
|
|
email_host_password = body.get('email_host_password', '')
|
|||
|
|
return {
|
|||
|
|
'path': path,
|
|||
|
|
'body': {**body, 'email_host_password': encryption_str(email_host_password)},
|
|||
|
|
'query': query
|
|||
|
|
}
|