package com.emoon.tongue;

import com.emoon.tongue.controller.ForwardController;
import com.emoon.tongue.controller.ForwardRobotController;
import com.emoon.tongue.controller.ModelRelayController;
import com.emoon.tongue.service.ForwardRobotService;
import com.emoon.tongue.service.ForwardService;
import com.emoon.tongue.service.modelRelayService;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Import;

/**
 * 公网转发专用启动配置：
 * 仅注册转发相关接口，避免启动时依赖数据库、MyBatis、Redis 等业务基础设施。
 */
@SpringBootConfiguration
@EnableAutoConfiguration(excludeName = {
    "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration",
    "org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration",
    "org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration",
    "org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration",
    "org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration",
    "org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration",
    "com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration",
    "com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration",
    "org.redisson.spring.starter.RedissonAutoConfigurationV2",
    "com.baomidou.lock.spring.boot.autoconfigure.LockAutoConfiguration",
    "com.baomidou.lock.spring.boot.autoconfigure.RedissonLockAutoConfiguration",
    "com.emoon.common.redis.config.RedisConfig",
    "com.emoon.common.redis.config.CacheConfig"
})
@Import({
    ForwardController.class,
    ForwardService.class,
    ForwardRobotController.class,
    ForwardRobotService.class,
    ModelRelayController.class,
    modelRelayService.class
})
public class TongueRelayOnlyApplication {
}
