mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-26 06:19:04 +00:00
feat(代码生成器): 重构代码生成模板并增强安全性
重构代码生成模板结构,将模板文件移动到标准目录 添加文件覆盖控制和安全路径检查,防止生成到项目外 优化生成逻辑,支持跳过已存在文件并返回统计信息 完善模板内容,增加分页查询和更多功能实现细节
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from typing import Optional
|
||||
from fastapi import Query
|
||||
|
||||
from app.core.validator import DateTimeStr
|
||||
|
||||
class {{ table_name|snake_to_pascal_case }}QueryParam:
|
||||
"""{{ function_name }}查询参数"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
{% for column in columns %}
|
||||
{% if column.query_type == 'LIKE' %}
|
||||
{{ column.column_name }}: Optional[{{ column.python_type }}] = Query(None, description="{{ column.column_comment }}"),
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for column in columns %}
|
||||
{% if column.column_name == 'status' %}
|
||||
status: Optional[bool] = Query(None, description="是否启用"),
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
creator: Optional[int] = Query(None, description="创建人"),
|
||||
start_time: Optional[DateTimeStr] = Query(None, description="开始时间", example="2025-01-01 00:00:00"),
|
||||
end_time: Optional[DateTimeStr] = Query(None, description="结束时间", example="2025-12-31 23:59:59"),
|
||||
) -> None:
|
||||
|
||||
# 模糊查询字段
|
||||
{% for column in columns %}
|
||||
{% if column.query_type == 'LIKE' %}
|
||||
self.{{ column.column_name }} = ("like", {{ column.column_name }})
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
# 精确查询字段
|
||||
self.creator_id = creator
|
||||
{% for column in columns %}
|
||||
{% if column.column_name == 'status' %}
|
||||
self.status = status
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
# 时间范围查询
|
||||
if start_time and end_time:
|
||||
self.created_at = ("between", (start_time, end_time))
|
||||
Reference in New Issue
Block a user