mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-08-01 06:16:04 +08:00
Error modifying environment
This commit is contained in:
@ -7,6 +7,7 @@ import ai.chat2db.spi.model.KeyValue;
|
|||||||
import ai.chat2db.spi.model.SSHInfo;
|
import ai.chat2db.spi.model.SSHInfo;
|
||||||
import ai.chat2db.spi.model.SSLInfo;
|
import ai.chat2db.spi.model.SSLInfo;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -101,4 +102,10 @@ public class DataSourceCreateParam {
|
|||||||
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
|
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
|
||||||
*/
|
*/
|
||||||
private String kind;
|
private String kind;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境id
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private Long environmentId;
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ public interface DataSourceService {
|
|||||||
* @return
|
* @return
|
||||||
* @throws ai.chat2db.server.tools.common.exception.DataNotFoundException
|
* @throws ai.chat2db.server.tools.common.exception.DataNotFoundException
|
||||||
*/
|
*/
|
||||||
DataResult<DataSource> queryExistent(@NotNull Long id);
|
DataResult<DataSource> queryExistent(@NotNull Long id, DataSourceSelector selector);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 克隆连接
|
* 克隆连接
|
||||||
|
@ -45,6 +45,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@ -117,7 +118,7 @@ public class DataSourceServiceImpl implements DataSourceService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataResult<Long> updateWithPermission(DataSourceUpdateParam param) {
|
public DataResult<Long> updateWithPermission(DataSourceUpdateParam param) {
|
||||||
DataSource dataSource = queryExistent(param.getId()).getData();
|
DataSource dataSource = queryExistent(param.getId(), null).getData();
|
||||||
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
||||||
|
|
||||||
DataSourceDO dataSourceDO = dataSourceConverter.param2do(param);
|
DataSourceDO dataSourceDO = dataSourceConverter.param2do(param);
|
||||||
@ -129,7 +130,7 @@ public class DataSourceServiceImpl implements DataSourceService {
|
|||||||
@Override
|
@Override
|
||||||
public ActionResult deleteWithPermission(Long id) {
|
public ActionResult deleteWithPermission(Long id) {
|
||||||
|
|
||||||
DataSource dataSource = queryExistent(id).getData();
|
DataSource dataSource = queryExistent(id, null).getData();
|
||||||
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
||||||
|
|
||||||
dataSourceMapper.deleteById(id);
|
dataSourceMapper.deleteById(id);
|
||||||
@ -143,17 +144,20 @@ public class DataSourceServiceImpl implements DataSourceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataResult<DataSource> queryExistent(Long id) {
|
public DataResult<DataSource> queryExistent(Long id, DataSourceSelector selector) {
|
||||||
DataResult<DataSource> dataResult = queryById(id);
|
DataResult<DataSource> dataResult = queryById(id);
|
||||||
if (dataResult.getData() == null) {
|
if (dataResult.getData() == null) {
|
||||||
throw new DataNotFoundException();
|
throw new DataNotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fillData(Lists.newArrayList(dataResult.getData()), selector);
|
||||||
|
|
||||||
return dataResult;
|
return dataResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataResult<Long> copyByIdWithPermission(Long id) {
|
public DataResult<Long> copyByIdWithPermission(Long id) {
|
||||||
DataSource dataSource = queryExistent(id).getData();
|
DataSource dataSource = queryExistent(id, null).getData();
|
||||||
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
PermissionUtils.checkOperationPermission(dataSource.getUserId());
|
||||||
|
|
||||||
DataSourceDO dataSourceDO = dataSourceMapper.selectById(id);
|
DataSourceDO dataSourceDO = dataSourceMapper.selectById(id);
|
||||||
@ -191,7 +195,7 @@ public class DataSourceServiceImpl implements DataSourceService {
|
|||||||
|
|
||||||
IPage<DataSourceDO> iPage = dataSourceCustomMapper.selectPageWithPermission(
|
IPage<DataSourceDO> iPage = dataSourceCustomMapper.selectPageWithPermission(
|
||||||
new Page<>(param.getPageNo(), param.getPageSize()),
|
new Page<>(param.getPageNo(), param.getPageSize()),
|
||||||
BooleanUtils.isTrue(loginUser.getAdmin()), loginUser.getId(), param.getSearchKey(),param.getKind(),
|
BooleanUtils.isTrue(loginUser.getAdmin()), loginUser.getId(), param.getSearchKey(), param.getKind(),
|
||||||
EasySqlUtils.orderBy(param.getOrderByList()));
|
EasySqlUtils.orderBy(param.getOrderByList()));
|
||||||
|
|
||||||
List<DataSource> dataSources = dataSourceConverter.do2dto(iPage.getRecords());
|
List<DataSource> dataSources = dataSourceConverter.do2dto(iPage.getRecords());
|
||||||
|
@ -63,7 +63,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class DataSourceController {
|
public class DataSourceController {
|
||||||
|
|
||||||
private static final DataSourceSelector DATA_SOURCE_SELECTOR= DataSourceSelector.builder()
|
private static final DataSourceSelector DATA_SOURCE_SELECTOR = DataSourceSelector.builder()
|
||||||
.environment(Boolean.TRUE)
|
.environment(Boolean.TRUE)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ public class DataSourceController {
|
|||||||
session = SSHManager.getSSHSession(sshWebConverter.toInfo(request));
|
session = SSHManager.getSSHSession(sshWebConverter.toInfo(request));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("sshConnect error", e);
|
log.error("sshConnect error", e);
|
||||||
throw new ConnectionException("connection.ssh.error",null,e);
|
throw new ConnectionException("connection.ssh.error", null, e);
|
||||||
} finally {
|
} finally {
|
||||||
if (session != null) {
|
if (session != null) {
|
||||||
session.disconnect();
|
session.disconnect();
|
||||||
@ -184,11 +184,11 @@ public class DataSourceController {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/datasource/{id}")
|
@GetMapping("/datasource/{id}")
|
||||||
public DataResult<DataSourceVO> queryById(@PathVariable("id") Long id) {
|
public DataResult<DataSourceVO> queryById(@PathVariable("id") Long id) {
|
||||||
DataResult<DataSource> dataResult = dataSourceService.queryById(id);
|
DataResult<DataSource> dataResult = dataSourceService.queryExistent(id, DATA_SOURCE_SELECTOR);
|
||||||
DataSourceVO dataSourceVO = dataSourceWebConverter.dto2vo(dataResult.getData());
|
DataSourceVO dataSourceVO = dataSourceWebConverter.dto2vo(dataResult.getData());
|
||||||
if(StringUtils.isNotBlank(dataSourceVO.getUser())){
|
if (StringUtils.isNotBlank(dataSourceVO.getUser())) {
|
||||||
dataSourceVO.setAuthenticationType("1");
|
dataSourceVO.setAuthenticationType("1");
|
||||||
}else {
|
} else {
|
||||||
dataSourceVO.setAuthenticationType("2");
|
dataSourceVO.setAuthenticationType("2");
|
||||||
}
|
}
|
||||||
return DataResult.of(dataSourceVO);
|
return DataResult.of(dataSourceVO);
|
||||||
@ -212,7 +212,7 @@ public class DataSourceController {
|
|||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/datasource/update",method = {RequestMethod.POST, RequestMethod.PUT})
|
@RequestMapping(value = "/datasource/update", method = {RequestMethod.POST, RequestMethod.PUT})
|
||||||
public DataResult<Long> update(@RequestBody DataSourceUpdateRequest request) {
|
public DataResult<Long> update(@RequestBody DataSourceUpdateRequest request) {
|
||||||
DataSourceUpdateParam param = dataSourceWebConverter.updateReq2param(request);
|
DataSourceUpdateParam param = dataSourceWebConverter.updateReq2param(request);
|
||||||
return dataSourceService.updateWithPermission(param);
|
return dataSourceService.updateWithPermission(param);
|
||||||
|
@ -101,6 +101,11 @@ public class DataSourceVO {
|
|||||||
*/
|
*/
|
||||||
private DriverConfig driverConfig;
|
private DriverConfig driverConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境id
|
||||||
|
*/
|
||||||
|
private Long environmentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 环境
|
* 环境
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user