All checks were successful
continuous-integration/drone/push Build is passing
- 新增 platform_scheduled_tasks, platform_task_logs, platform_script_vars, platform_secrets 数据库表 - 实现 ScriptSDK 提供 AI/通知/DB/HTTP/变量存储/参数获取等功能 - 实现安全的脚本执行器,支持沙箱环境和禁止危险操作 - 实现 APScheduler 调度服务,支持简单时间点和 CRON 表达式 - 新增定时任务 API 路由,包含 CRUD、执行、日志、密钥管理 - 新增定时任务前端页面,支持脚本编辑、测试运行、日志查看
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
"""应用定义模型"""
|
||
from datetime import datetime
|
||
from sqlalchemy import Column, Integer, String, Text, SmallInteger, TIMESTAMP
|
||
from ..database import Base
|
||
|
||
|
||
class App(Base):
|
||
"""应用定义表 - 定义可供租户使用的应用"""
|
||
__tablename__ = "platform_apps"
|
||
|
||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||
app_code = Column(String(50), nullable=False, unique=True) # 唯一标识,如 tools
|
||
app_name = Column(String(100), nullable=False) # 显示名称
|
||
base_url = Column(String(500)) # 基础URL,如 https://tools.test.ai.ireborn.com.cn
|
||
description = Column(Text) # 应用描述
|
||
|
||
# 应用下的工具/功能列表(JSON 数组)
|
||
# [{"code": "brainstorm", "name": "头脑风暴", "path": "/brainstorm"}, ...]
|
||
tools = Column(Text)
|
||
|
||
# 是否需要企微JS-SDK
|
||
require_jssdk = Column(SmallInteger, default=0) # 0-不需要 1-需要
|
||
|
||
status = Column(SmallInteger, default=1) # 0-禁用 1-启用
|
||
created_at = Column(TIMESTAMP, default=datetime.now)
|
||
updated_at = Column(TIMESTAMP, default=datetime.now, onupdate=datetime.now)
|