import * as Sequelize from 'sequelize';
import * as fs from 'fs';
import * as path from 'path';
const config = global['app_config'].ydn;
const basename = path.basename(module.filename);
const db: any = {};

const sequelize = new Sequelize(config.mysql_info_db.database, config.mysql_info_db.username
    , config.mysql_info_db.password, config.mysql_info_db);

fs.readdirSync(__dirname)
    .filter(function (file) {
        return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
    })
    .forEach(function (file) {
        var model = sequelize['import'](path.join(__dirname, file));
        db[model.name] = model;
    });

Object.keys(db).forEach(function (modelName) {
    if (db[modelName].associate) {
        db[modelName].associate(db);
    }
});

db.sequelize = sequelize;
db.Sequelize = Sequelize;
db.db = sequelize;

const Lottery = sequelize.import("core_lottery")
const Match = sequelize.import("core_match")
const Issue = sequelize.import("core_issue")
const News = sequelize.import("core_news")
const Goal = sequelize.import("T_Goal")
const Odds100 = sequelize.import("T_Odds100")
const NBAOdds100 = sequelize.import("T_NBAOdds100")
const Team = sequelize.import("T_Team")
const NBATeam = sequelize.import("T_NBATeam")
const MatchJson = sequelize.import("T_MatchJson")
const MatchType = sequelize.import("T_MatchType")
const NBAMatchType = sequelize.import("T_NBAMatchType")
const ms_schedule = sequelize.import("ms_schedule")
const core_match = sequelize.import("core_match")
const core_issue = sequelize.import("core_issue")
const core_issue_temp = sequelize.import("core_issue_temp")
const core_lottery = sequelize.import("core_lottery")
const core_news = sequelize.import("core_news")
const ms_user = sequelize.import("ms_user")
const ms_user_log = sequelize.import("ms_user_log")
const ms_user_operation = sequelize.import("ms_user_operation")
const ms_user_attention = sequelize.import("ms_user_attention")
const ms_soccer_game = sequelize.import("ms_soccer_game")
const ms_soccer_hdaodds_814 = sequelize.import("ms_soccer_hdaodds_814")
const sporttery_match_lineup = sequelize.import("sporttery_match_lineup")
const sporttery_match = sequelize.import("sporttery_match")
const ms_soccer_player = sequelize.import("ms_soccer_player")
const ms_soccer_player_rank = sequelize.import("ms_soccer_player_rank")
const ms_soccer_coach_rank = sequelize.import("ms_soccer_coach_rank")
const ms_soccer_nation_rank = sequelize.import("ms_soccer_nation_rank")
const ms_soccer_club_rank = sequelize.import("ms_soccer_club_rank")
const ms_soccer_competition = sequelize.import("ms_soccer_competition")
const ms_soccer_team = sequelize.import("ms_soccer_team")
const ms_message = sequelize.import("ms_message")
const ms_message_stat = sequelize.import("ms_message_stat")
const ms_order = sequelize.import("ms_order")
const ms_trend_stat = sequelize.import("ms_trend_stat")
const ms_article = sequelize.import("ms_article")
const ms_pay_type = sequelize.import("ms_pay_type")
const ms_recharge_channels = sequelize.import("ms_recharge_channels")
const ms_user_charge = sequelize.import("ms_user_charge")
const ms_unscramble_order = sequelize.import("ms_unscramble_order")
const ms_appversion = sequelize.import("ms_appversion")
const ms_basketball_game = sequelize.import("ms_basketball_game")
const prediction_dictionary = sequelize.import("prediction_dictionary")
const ms_basketball_competition = sequelize.import("ms_basketball_competition")
const prediction_template = sequelize.import("prediction_template")
const prediction_result = sequelize.import("prediction_result")
const prediction_expert = sequelize.import("prediction_expert")
const ms_vedio_room = sequelize.import("ms_vedio_room")
const ms_basketball_team = sequelize.import("ms_basketball_team")
const ms_basketball_player = sequelize.import("ms_basketball_player")
const ms_app_log = sequelize.import("ms_app_log")
const ms_admin_role = sequelize.import("ms_admin_role")
const ms_admin_menu = sequelize.import('ms_admin_menu')
const sporttery_lineups = sequelize.import('sporttery_lineups')
const transfer_teams = sequelize.import('transfer_teams')
const transfer_competitions = sequelize.import('transfer_competitions')
const transfer_players = sequelize.import('transfer_players')
const transfer_national = sequelize.import('transfer_national')
const transfer_players_history_transfer = sequelize.import('transfer_players_history_transfer')
const ms_soccer_base_surface = sequelize.import('ms_soccer_base_surface')

const ms_soccer_competition_history = sequelize.import("ms_soccer_competition_history")
const ms_soccer_game_odds = sequelize.import("ms_soccer_game_odds")
const ms_soccer_game_event = sequelize.import('ms_soccer_game_event')
const ms_soccer_game_lineup = sequelize.import('ms_soccer_game_lineup')
const ms_soccer_result_trend = sequelize.import('ms_soccer_result_trend')
const stat_simple_predict = sequelize.import('stat_simple_predict')
const core_issue_sub = sequelize.import('core_issue_sub')
const ms_xcx_message = sequelize.import('ms_xcx_message')

const lottery_store_module = sequelize.import('lottery_store_module')
const lottery_store_sub_module = sequelize.import('lottery_store_sub_module')
const lottery_store_template = sequelize.import('lottery_store_template')
const lottery_shop_info = sequelize.import('lottery_shop_info')
const lottery_shop_relation = sequelize.import('lottery_shop_relation')
const eshop_recommend_template = sequelize.import('eshop_recommend_template')
const eshop_recommend_template_list=sequelize.import('eshop_recommend_template_list')
const lottery_store_template_collect=sequelize.import('lottery_store_template_collect')
const cps_user=sequelize.import('cps_user')
const cps_expert=sequelize.import('cps_expert')

const tools_plan_collect = sequelize.import("tools_plan_collect")
const tools_jht = sequelize.import("tools_jht")
const tools_ledger = sequelize.import("tools_ledger")
const tools_sxjx = sequelize.import("tools_sxjx")

const nami_hot_data = sequelize.import("nami_hot_data")
const nami_match_live = sequelize.import("nami_match_live")
const message_push = sequelize.import("message_push")

const ms_wx_user = sequelize.import("ms_wx_user")

const stat_inner_prediction_3_pre = sequelize.import("stat_inner_prediction_3_pre")
const stat_inner_prediction_5_pre = sequelize.import("stat_inner_prediction_5_pre")
const stat_inner_prediction_6_pre = sequelize.import("stat_inner_prediction_6_pre")
const stat_inner_prediction_8_pre = sequelize.import("stat_inner_prediction_8_pre")
const stat_inner_prediction_13_pre = sequelize.import("stat_inner_prediction_13_pre")
const stat_inner_prediction_39_pre = sequelize.import("stat_inner_prediction_39_pre")
const stat_inner_prediction_63_pre = sequelize.import("stat_inner_prediction_63_pre")
const stat_inner_prediction_64_pre = sequelize.import("stat_inner_prediction_64_pre")
const stat_inner_prediction_72_pre = sequelize.import("stat_inner_prediction_72_pre")

const ms_chart_field = sequelize.import('ms_chart_field');
const ms_chart_router = sequelize.import('ms_chart_router');

// sporttery_pool
const sporttery_pool = sequelize.import('sporttery_pool');

const ms_coupons = sequelize.import('ms_coupons');

const sportdt_fifa_ranking = sequelize.import('sportdt_fifa_ranking');

const ms_order_middle = sequelize.import('ms_order_middle');
const tools_leitai = sequelize.import('tools_leitai');



export {
    ms_soccer_competition_history,
    ms_soccer_game_odds,
    ms_soccer_game_event,
    ms_soccer_game_lineup,
    ms_soccer_result_trend,
    stat_simple_predict,
    db,
    sequelize,
    Sequelize,
    Lottery,
    Match,
    Issue, News, Goal, Odds100, NBAOdds100, Team, NBATeam, MatchJson, MatchType, NBAMatchType, ms_schedule,
    core_match,
    core_issue,
    core_issue_temp,
    core_lottery,
    core_news,
    ms_user,
    ms_user_log,
    ms_user_operation,
    ms_user_attention,
    ms_soccer_game,
    ms_soccer_hdaodds_814,
    sporttery_match_lineup,
    sporttery_match,
    ms_soccer_player,
    ms_soccer_player_rank,
    ms_soccer_coach_rank,
    ms_soccer_nation_rank,
    ms_soccer_club_rank,
    ms_soccer_competition,
    ms_soccer_team,
    ms_message,
    ms_message_stat,
    ms_order,
    ms_trend_stat,
    ms_article,
    ms_pay_type,
    ms_recharge_channels,
    ms_user_charge,
    ms_unscramble_order,
    ms_appversion,
    ms_basketball_game,
    ms_basketball_competition,
    prediction_template,
    prediction_dictionary,
    prediction_result,
    prediction_expert,
    ms_vedio_room,
    ms_basketball_team,
    ms_basketball_player,
    ms_app_log,
    ms_admin_role,
    ms_admin_menu,
    sporttery_lineups,
    transfer_teams,
    transfer_competitions,
    transfer_players,
    transfer_national,
    transfer_players_history_transfer,
    ms_soccer_base_surface,
    core_issue_sub,
    ms_xcx_message,

    
    lottery_store_sub_module,
    lottery_store_module,
    lottery_store_template,
    lottery_shop_info,
    lottery_shop_relation,
    eshop_recommend_template,
    eshop_recommend_template_list,
    lottery_store_template_collect,

    tools_plan_collect,
    tools_jht,
    tools_ledger,
    tools_sxjx,

    nami_hot_data,
    nami_match_live,
    message_push,
    
    cps_user,
    cps_expert,

    stat_inner_prediction_3_pre,
    stat_inner_prediction_5_pre,
    stat_inner_prediction_6_pre,
    stat_inner_prediction_8_pre,
    stat_inner_prediction_13_pre,
    stat_inner_prediction_39_pre,
    stat_inner_prediction_63_pre,
    stat_inner_prediction_64_pre,
    stat_inner_prediction_72_pre,

    ms_chart_field,
    ms_chart_router,

    sporttery_pool,

    ms_wx_user,

    ms_coupons,

    sportdt_fifa_ranking,

    ms_order_middle,
    tools_leitai
}