添加sqlalchemy_utils
This commit is contained in:
parent
e01cc54b8a
commit
d78642b413
|
@ -12,6 +12,15 @@ from Utils.VerifyCodeUtils import EmailCodeVerify, ImageCaptchaVerify, PhoneVeri
|
|||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
# 权限验证工具类
|
||||
|
||||
# 日志
|
||||
uvicorn_log = getLogger('uvicorn')
|
||||
|
||||
# 配置数据
|
||||
conf = ConfigParser()
|
||||
conf.read("Config/common.ini", encoding='utf-8-sig')
|
||||
|
||||
|
||||
class CompanyUserTokenDataModel(BaseModel):
|
||||
id: Optional[str]
|
||||
|
@ -33,12 +42,20 @@ class AdminUserTokenDataModel(BaseModel):
|
|||
phone: Optional[str]
|
||||
|
||||
|
||||
# 日志
|
||||
uvicorn_log = getLogger('uvicorn')
|
||||
auth_util = AuthUtil[TokenDataModel](secret_key=conf['auth']['jwt_key'], tokenDataModel=TokenDataModel)
|
||||
# 管理端用户权限
|
||||
admin_user_auth_util = AuthUtil[AdminUserTokenDataModel](secret_key=conf['auth']['admin_user_jwt_key'],
|
||||
tokenDataModel=AdminUserTokenDataModel)
|
||||
# 企业用户权限
|
||||
company_user_auth_util = AuthUtil[CompanyUserTokenDataModel](secret_key=conf['auth']['company_user_jwt_key'],
|
||||
tokenDataModel=CompanyUserTokenDataModel)
|
||||
# 协会用户权限
|
||||
institution_user_auth_util = AuthUtil[InstitutionUserTokenDataModel](
|
||||
secret_key=conf['auth']['institution_user_jwt_key'],
|
||||
tokenDataModel=InstitutionUserTokenDataModel)
|
||||
|
||||
##############################################################
|
||||
|
||||
# 配置数据
|
||||
conf = ConfigParser()
|
||||
conf.read("Config/common.ini", encoding='utf-8-sig')
|
||||
|
||||
# redis连接池
|
||||
redis_pool = RedisPool(host=conf['redis']['host'], port=int(conf['redis']['port']))
|
||||
|
@ -51,8 +68,6 @@ common_db = SqlalchemyConnect(common_db_base, host=conf['mysql']['host'],
|
|||
password=conf['mysql']['password'],
|
||||
db=conf['mysql']['db'])
|
||||
|
||||
# mongo db
|
||||
# mg_db = MongoConnect(conf["mongo"]["host"], int(conf["mongo"]["port"]), conf["mongo"]["db"])
|
||||
# mongo db
|
||||
mg_db = MongoConnect(conf["mongo"]["host"], int(conf["mongo"]["port"]),
|
||||
conf["mongo"]["db"],
|
||||
|
@ -64,15 +79,7 @@ email_code_verify = EmailCodeVerify(redis_pool, conf['email']['api'], conf['emai
|
|||
# 图片验证码工具类
|
||||
image_captcha_verify = ImageCaptchaVerify(redis_pool)
|
||||
|
||||
# 权限验证工具类
|
||||
auth_util = AuthUtil[TokenDataModel](secret_key=conf['auth']['jwt_key'], tokenDataModel=TokenDataModel)
|
||||
admin_user_auth_util = AuthUtil[AdminUserTokenDataModel](secret_key=conf['auth']['admin_user_jwt_key'], tokenDataModel=AdminUserTokenDataModel)
|
||||
company_user_auth_util = AuthUtil[CompanyUserTokenDataModel](secret_key=conf['auth']['company_user_jwt_key'],
|
||||
tokenDataModel=CompanyUserTokenDataModel)
|
||||
institution_user_auth_util = AuthUtil[InstitutionUserTokenDataModel](
|
||||
secret_key=conf['auth']['institution_user_jwt_key'],
|
||||
tokenDataModel=InstitutionUserTokenDataModel)
|
||||
|
||||
# 短信发送工具
|
||||
phone_msg_send = PhoneMsgSend(conf['hw_msg']['url'],
|
||||
conf['hw_msg']['app_key'],
|
||||
conf['hw_msg']['app_secret'],
|
||||
|
@ -80,8 +87,11 @@ phone_msg_send = PhoneMsgSend(conf['hw_msg']['url'],
|
|||
conf['hw_msg']['template_id'],
|
||||
conf['hw_msg']['signature']
|
||||
)
|
||||
# 天眼查接口
|
||||
tianyancha_api = TianyanchaApi(conf['tianyancha']['token'], mongo_connect=mg_db)
|
||||
|
||||
# 短信验证码工具
|
||||
phone_verify_code = PhoneVerifyCode(redis_pool, phone_msg_send)
|
||||
|
||||
# 天眼查接口
|
||||
tianyancha_api = TianyanchaApi(conf['tianyancha']['token'], mongo_connect=mg_db)
|
||||
|
||||
# 全局配置
|
||||
|
|
|
@ -39,7 +39,6 @@ class TianyanchaApi:
|
|||
"""
|
||||
天眼查接口
|
||||
"""
|
||||
|
||||
def __init__(self, token: str,
|
||||
mongo_connect: MongoConnect = None,
|
||||
list_max_count=500,
|
||||
|
|
|
@ -5,7 +5,7 @@ from sqlalchemy import create_engine, Column, and_, asc, desc, func
|
|||
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import sessionmaker, Session, Query
|
||||
from sqlalchemy_utils import database_exists, create_database
|
||||
from sqlalchemy_utils import database_exists, create_database, get_columns, get_column_key
|
||||
|
||||
|
||||
class SqlalchemyConnect:
|
||||
|
@ -68,6 +68,10 @@ class SqlalchemyConnect:
|
|||
yield db
|
||||
|
||||
|
||||
def get_model_column_keys(model):
|
||||
return [get_column_key(model, item) for item in get_columns(model)]
|
||||
|
||||
|
||||
# 通用查询接口
|
||||
|
||||
QueryType = Literal['=', '==', '>', '>=', '<', '<=', 'in', 'like', 'range', "find_in_set"]
|
||||
|
@ -87,6 +91,7 @@ class OrderParam(BaseModel):
|
|||
class QueryParams(BaseModel):
|
||||
param_list: Optional[List[QueryParam]]
|
||||
order: Optional[OrderParam]
|
||||
ex_include: Optional[List[str]]
|
||||
page: int
|
||||
page_size: int
|
||||
|
||||
|
|
Loading…
Reference in New Issue