from fastapi import FastAPI

PLUGIN_META = {
    "name": "xero_import",
    "display_name": "Xero 数据同步",
    "description": "从 Xero 自动同步客户、商品和库存到本地系统。",
    "version": "1.0.0",
    "category": "财务 / 库存",
    "icon": "X",
    "has_config": True,
    "config_fields": [
        {"key": "client_id", "label": "Xero Client ID", "type": "text", "required": True},
        {"key": "client_secret", "label": "Xero Client Secret", "type": "password", "required": True},
        {"key": "redirect_uri", "label": "Redirect URI", "type": "text", "default": "https://8.138.234.47/api/admin/xero-import/callback"},
        {"key": "sync_contacts", "label": "自动同步客户", "type": "boolean", "default": "true"},
        {"key": "sync_items", "label": "自动同步商品和库存", "type": "boolean", "default": "true"},
        {"key": "sync_price", "label": "同步价格", "type": "boolean", "default": "false"},
        {"key": "auto_delist_zero_stock", "label": "库存为0自动下架", "type": "boolean", "default": "true"},
        {"key": "contacts_interval_minutes", "label": "客户同步间隔（分钟）", "type": "number", "default": 30},
        {"key": "items_interval_minutes", "label": "商品/库存同步间隔（分钟）", "type": "number", "default": 10},
    ],
}


def init_plugin(app: FastAPI) -> None:
    from app.plugins.xero_import.router import router
    from app.plugins.xero_import.scheduler import register_scheduler

    app.include_router(router, prefix="/api/admin")
    register_scheduler(app)
