Search in sources :

Example 1 with Post

use of org.noear.solon.annotation.Post in project solon by noear.

the class AuthorizationController method authorizePost.

@Post
@Mapping("authorize")
public void authorizePost(Context ctx, HttpServletRequest request) throws IOException {
    // agree
    IdsResponse<String, String> idsResponse = this.authorizationEndpoint.agree(new JakartaRequestAdapter(request));
    ctx.redirect(idsResponse.getData());
}
Also used : JakartaRequestAdapter(com.fujieid.jap.http.adapter.jakarta.JakartaRequestAdapter) Post(org.noear.solon.annotation.Post) Mapping(org.noear.solon.annotation.Mapping)

Example 2 with Post

use of org.noear.solon.annotation.Post in project solon by noear.

the class LoginController method loginPost.

@Post
@Mapping("login")
public void loginPost(Context ctx, HttpServletRequest request, HttpServletResponse response) {
    IdsResponse<String, String> idsResponse = this.loginEndpoint.signin(new JakartaRequestAdapter(request), new JakartaResponseAdapter(response));
    ctx.redirect(idsResponse.getData());
}
Also used : JakartaRequestAdapter(com.fujieid.jap.http.adapter.jakarta.JakartaRequestAdapter) JakartaResponseAdapter(com.fujieid.jap.http.adapter.jakarta.JakartaResponseAdapter) Post(org.noear.solon.annotation.Post) Mapping(org.noear.solon.annotation.Mapping)

Example 3 with Post

use of org.noear.solon.annotation.Post in project Water by noear.

the class Init2WaterRedisController method ajax_init_redis.

@Post
@Mapping("/ajax/init/redis")
public Result ajax_init_redis(String config) {
    if (Config.water == null) {
        return Result.failure("未连接数据库,刷新再试...");
    }
    Properties props;
    try {
        props = Utils.buildProperties(config);
        RedisClient redisClient = new RedisClient(props, 0);
        redisClient.open(s -> {
            s.key("test").get();
        });
    } catch (Exception e) {
        EventBus.push(e);
        return Result.failure("出错,连接失败");
    }
    Properties waterPro = Config.getCfg(WW.water, WW.water).getProp();
    String cacheCfg = "driverType=redis\n" + config + "\ndb=9";
    StringBuilder bcfCfg = new StringBuilder();
    bcfCfg.append("grit.cache.driverType=").append("redis").append("\n");
    bcfCfg.append("grit.cache.server=").append(props.getProperty("server")).append("\n");
    bcfCfg.append("grit.cache.password=").append(props.getProperty("password")).append("\n");
    bcfCfg.append("grit.cache.db=").append("9").append("\n");
    bcfCfg.append("\n");
    bcfCfg.append("grit.db.schema=").append(waterPro.getProperty("schema")).append("\n");
    bcfCfg.append("grit.db.url=").append(waterPro.getProperty("url")).append("\n");
    bcfCfg.append("grit.db.password=").append(waterPro.getProperty("password")).append("\n");
    bcfCfg.append("grit.db.username=").append(waterPro.getProperty("username")).append("\n");
    bcfCfg.append("\n");
    bcfCfg.append("server.session.state.domain=").append("water.noear.org").append("\n");
    bcfCfg.append("server.session.timeout=").append("7200").append("\n");
    bcfCfg.append("\n");
    bcfCfg.append("grit.token=").append("DLAWrz90wAc2MIqHZ9o8b3RaPWiHebez").append("\n");
    // 更新配置
    try {
        DbWaterCfgApi.updConfig(WW.water, WW.water_redis, config);
        DbWaterCfgApi.updConfig(WW.water, WW.water_cache, cacheCfg);
        DbWaterCfgApi.updConfig("grit", "grit.yml", bcfCfg.toString());
        DbWaterCfgApi.updConfig(WW.water, Config.water_setup_step, "2");
    } catch (Exception e) {
        return Result.failure("出错," + e.getLocalizedMessage());
    }
    // 2.
    return Result.succeed(null, "配置成功");
}
Also used : RedisClient(org.noear.redisx.RedisClient) Properties(java.util.Properties) Post(org.noear.solon.annotation.Post) Mapping(org.noear.solon.annotation.Mapping)

Example 4 with Post

use of org.noear.solon.annotation.Post in project Water by noear.

the class Init4LogStoreController method ajax_connect.

@Post
@Mapping("/ajax/init/water_log")
public Result ajax_connect(String config) {
    if (Config.water == null) {
        return Result.failure("未连接数据库,刷新再试...");
    }
    if (Utils.isEmpty(config)) {
        return Result.failure("出错,配置不能为空");
    }
    ProtocolHub.config = Config::getCfg;
    ConfigM logCfg = new ConfigM("water_log_store", config, 0);
    ProtocolHub.logSourceFactory = new LogSourceFactoryImpl(logCfg, DbWaterCfgApi::getLogger);
    List<LoggerModel> loggerList = DbWaterCfgApi.getLoggerList();
    try {
        for (LoggerModel logger : loggerList) {
            if (Utils.isEmpty(logger.source)) {
                ProtocolHub.logSourceFactory.getSource(logger.logger).create(logger.logger, 15);
            }
        }
        // 更新配置
        DbWaterCfgApi.updConfig(WW.water, WW.water_log_store, config);
        DbWaterCfgApi.updConfig(WW.water, Config.water_setup_step, "4");
    } catch (Exception e) {
        EventBus.push(e);
        return Result.failure("出错," + e.getLocalizedMessage());
    }
    // 2.
    return Result.succeed(null, "配置成功");
}
Also used : ConfigM(org.noear.water.model.ConfigM) LoggerModel(xwater.models.view.water_cfg.LoggerModel) Config(xwater.Config) LogSourceFactoryImpl(org.noear.water.protocol.solution.LogSourceFactoryImpl) Post(org.noear.solon.annotation.Post) Mapping(org.noear.solon.annotation.Mapping)

Example 5 with Post

use of org.noear.solon.annotation.Post in project Water by noear.

the class ConnectController method ajax_connect.

@Post
@Mapping("/ajax/connect")
public Result ajax_connect(Context ctx, String config) throws Exception {
    if (Utils.isEmpty(config)) {
        return Result.failure("配置不能为空");
    }
    Properties props = Config.getProp(config);
    if (props.size() > 3) {
        Config.water = Config.getDb(props, true);
        if (Config.water != null) {
            // 连接成功
            String token = Base64Utils.encode(config);
            ctx.cookieSet("XWATER_TOKEN", token);
        }
    } else {
        return Result.failure("配置有问题...");
    }
    if (Config.water == null) {
        return Result.failure("连接失败");
    }
    // 0.
    return Result.succeed(null, "连接成功");
}
Also used : Properties(java.util.Properties) Post(org.noear.solon.annotation.Post) Mapping(org.noear.solon.annotation.Mapping)

Aggregations

Mapping (org.noear.solon.annotation.Mapping)9 Post (org.noear.solon.annotation.Post)9 JakartaRequestAdapter (com.fujieid.jap.http.adapter.jakarta.JakartaRequestAdapter)3 Properties (java.util.Properties)3 JakartaResponseAdapter (com.fujieid.jap.http.adapter.jakarta.JakartaResponseAdapter)2 ConfigM (org.noear.water.model.ConfigM)2 Config (xwater.Config)2 JapResponse (com.fujieid.jap.core.result.JapResponse)1 HttpServletRequestWrapperImpl (com.fujieid.jap.solon.HttpServletRequestWrapperImpl)1 Resource (org.noear.grit.model.domain.Resource)1 Subject (org.noear.grit.model.domain.Subject)1 RedisClient (org.noear.redisx.RedisClient)1 LogSourceFactoryImpl (org.noear.water.protocol.solution.LogSourceFactoryImpl)1 MsgBrokerFactoryImpl (org.noear.water.protocol.solution.MsgBrokerFactoryImpl)1 BrokerModel (xwater.models.view.water_cfg.BrokerModel)1 LoggerModel (xwater.models.view.water_cfg.LoggerModel)1