#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
数据模型包
导入所有模型以便应用程序使用
"""

from data.models.base import BaseModel
from data.models.taskdef import VWEDTaskDef
from data.models.taskrecord import VWEDTaskRecord
from data.models.tasklog import VWEDTaskLog
from data.models.blockrecord import VWEDBlockRecord
from data.models.tasktemplate import VWEDTaskTemplate
from data.models.datacache import VWEDDataCache
from data.models.datacachesplit import VWEDDataCacheSplit
from data.models.modbusconfig import VWEDModbusConfig
from data.models.calldevice import VWEDCallDevice, VWEDCallDeviceButton
from data.models.interfacedef import InterfaceDefHistory
from data.models.storage_area import StorageArea, StorageAreaType
from data.models.operate_point import OperatePoint
from data.models.operate_point_layer import OperatePointLayer
from data.models.extended_property import ExtendedProperty, ExtendedPropertyTypeEnum
from data.models.storage_location_log import StorageLocationLog
from data.models.external_task_record import VWEDExternalTaskRecord, ExternalTaskTypeEnum, ExternalTaskStatusEnum

# 脚本引擎相关模型
from data.models.script_project import VWEDScriptProject
from data.models.script_file import VWEDScriptFile
from data.models.script_execution_log import VWEDScriptExecutionLog
from data.models.script_api_registration import VWEDScriptAPIRegistration
from data.models.script_function_registration import VWEDScriptFunctionRegistration
from data.models.script_registry import VWEDScriptRegistry

# 导出所有模型供应用程序使用
__all__ = [
    'BaseModel', 'VWEDTaskDef', 'VWEDTaskRecord', 'VWEDTaskLog', 
    'VWEDBlockRecord', 'VWEDTaskTemplate', 'VWEDDataCache', 'VWEDDataCacheSplit', 'VWEDModbusConfig',
    'VWEDCallDevice', 'VWEDCallDeviceButton', 'InterfaceDefHistory',
    'StorageArea', 'StorageAreaType', 'OperatePoint', 'OperatePointLayer',
    'ExtendedProperty', 'ExtendedPropertyTypeEnum', 'StorageLocationLog',
    'VWEDExternalTaskRecord', 'ExternalTaskTypeEnum', 'ExternalTaskStatusEnum',
    # 脚本引擎模型
    'VWEDScriptProject', 'VWEDScriptFile', 'VWEDScriptExecutionLog',
    'VWEDScriptAPIRegistration', 'VWEDScriptFunctionRegistration', 'VWEDScriptRegistry'
]
