#!/usr/bin/env python
# -*- coding: utf_8 -*-
import os
import json
import logging
from app import signalManager
from .user_manager import userManager
from .login_manager import loginManager
from .annex_manager import annexManager
from .upload_manager import uploadManager
from .apps_manager import appsManager
from .download_manager import downloadManager
from .framework_manager import frameworkManager
from .build_logs_manager import buildLogsManager

logger = logging.getLogger("controller")

def initConnect():
    # 系统模块
    signalManager.actionUploadFile.connect(uploadManager.upload)

    # 登录模块
    signalManager.actionLogin.connect(loginManager.login)
    signalManager.actionLogout.connect(loginManager.logout)
    signalManager.actionRegister.connect(loginManager.register)

    # 应用管理
    signalManager.actionAddApp.connect(appsManager.add)
    signalManager.actionDeleteApp.connect(appsManager.delete)
    signalManager.actionGetApp.connect(appsManager.get)
    signalManager.actionGetAppList.connect(appsManager.getList)
    signalManager.actionUpdateApp.connect(appsManager.update)

    # 打包记录
    signalManager.actionAddBuildLog.connect(buildLogsManager.add)
    signalManager.actionDeleteBuildLog.connect(buildLogsManager.delete)
    signalManager.actionGetBuildLog.connect(buildLogsManager.get)
    signalManager.actionGetBuildLogList.connect(buildLogsManager.getList)
    signalManager.actionUpdateBuildLog.connect(buildLogsManager.update)

    # 用户模块
    signalManager.actionAddUser.connect(userManager.add)
    signalManager.actionDeleteUser.connect(userManager.delete)
    signalManager.actionGetUser.connect(userManager.get)
    signalManager.actionGetUserList.connect(userManager.getList)
    signalManager.actionUpdateUser.connect(userManager.update)

    # 文件附件模块
    signalManager.actionAddAnnex.connect(annexManager.add)
    signalManager.actionDeleteAnnex.connect(annexManager.delete)
    signalManager.actionGetAnnex.connect(annexManager.get)
    signalManager.actionGetAnnexList.connect(annexManager.getList)
    signalManager.actionUpdateAnnex.connect(annexManager.update)

    # 系统框架模块
    signalManager.actionAddFramework.connect(frameworkManager.add)
    signalManager.actionDeleteFramework.connect(frameworkManager.delete)
    signalManager.actionGetFramework.connect(frameworkManager.get)
    signalManager.actionGetFrameworkList.connect(frameworkManager.getList)
    signalManager.actionUpdateFramework.connect(frameworkManager.update)

    # 应用下载统计模块
    signalManager.actionAddDownload.connect(downloadManager.add)
    signalManager.actionDeleteDownload.connect(downloadManager.delete)
    signalManager.actionGetDownload.connect(downloadManager.get)
    signalManager.actionGetDownloadList.connect(downloadManager.getList)
    signalManager.actionUpdateDownload.connect(downloadManager.update)

initConnect()