refactor(系统设置): 去除resourceId

This commit is contained in:
wxg0103 2023-11-21 18:01:52 +08:00 committed by Craftsman
parent 14b5b94968
commit 93518ad555
7 changed files with 29 additions and 31 deletions

View File

@ -37,9 +37,10 @@ public class DefaultRepositoryDir {
* 接口用例相关文件的存储目录
* project/{projectId}/apiCase/{apiCaseId}
*/
private static final String PROJECT_API_CASE_DIR = PROJECT_DIR + "/apiCase/%s";
private static final String PROJECT_FUNCTIONAL_CASE_DIR = PROJECT_DIR + "/functionalCase/%s";
private static final String PROJECT_FILE_MANAGEMENT_DIR = PROJECT_DIR + "/fileManagement";
private static final String PROJECT_API_CASE_DIR = PROJECT_DIR + "/api-case/%s";
private static final String PROJECT_ENV_SSL_DIR = PROJECT_DIR + "/environment/%s";
private static final String PROJECT_FUNCTIONAL_CASE_DIR = PROJECT_DIR + "/functional-case/%s";
private static final String PROJECT_FILE_MANAGEMENT_DIR = PROJECT_DIR + "/file-management";
private static final String PROJECT_BUG_DIR = PROJECT_DIR + "/bug/%s";
/*------ end: 项目下资源目录 --------*/
@ -49,10 +50,18 @@ public class DefaultRepositoryDir {
return String.format(PROJECT_API_CASE_DIR, projectId, apiCaseId);
}
public static String getEnvSslDir(String projectId, String envId) {
return String.format(PROJECT_ENV_SSL_DIR, projectId, envId);
}
public static String getPluginDir() {
return SYSTEM_PLUGIN_DIR;
}
public static String getSystemRootDir() {
return SYSTEM_ROOT_DIR;
}
public static String getFunctionalCaseDir(String projectId, String functionalCaseId) {
return String.format(PROJECT_FUNCTIONAL_CASE_DIR, projectId, functionalCaseId);
}

View File

@ -7,6 +7,7 @@ import io.metersphere.api.mapper.*;
import io.metersphere.api.util.ApiDataUtils;
import io.metersphere.plugin.api.spi.AbstractMsTestElement;
import io.metersphere.sdk.constants.ApplicationNumScope;
import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.constants.PermissionConstants;
import io.metersphere.sdk.constants.SessionConstants;
import io.metersphere.sdk.domain.Environment;
@ -608,8 +609,7 @@ public class ApiTestCaseControllerTests extends BaseTest {
Assertions.assertTrue(CollectionUtils.isEmpty(followers));
//校验minio文件为空
FileRequest request = new FileRequest();
request.setFolder("/meterSphere/" + DEFAULT_PROJECT_ID + "/apiCase/");
request.setResourceId(apiTestCase.getId());
request.setFolder(DefaultRepositoryDir.getApiCaseDir(DEFAULT_PROJECT_ID, apiTestCase.getId()));
MinioRepository minioRepository = CommonBeanFactory.getBean(MinioRepository.class);
assert minioRepository != null;
List<String> fileNames = minioRepository.getFolderFileNames(request);

View File

@ -9,6 +9,7 @@ import io.metersphere.project.dto.environment.EnvironmentRequest;
import io.metersphere.project.dto.environment.datasource.DataSource;
import io.metersphere.project.mapper.ExtEnvironmentMapper;
import io.metersphere.project.mapper.ProjectMapper;
import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.constants.HttpMethodConstants;
import io.metersphere.sdk.domain.Environment;
import io.metersphere.sdk.domain.EnvironmentBlob;
@ -68,9 +69,6 @@ public class EnvironmentService {
private static final String PATH = "/project/environment/import";
private static final String MOCK_EVN_SOCKET = "/api/mock/";
private static final String MAIN_FOLDER_PROJECT = "project";
private static final String APP_NAME_ENVIRONMENT = "environment";
public List<OptionDTO> getDriverOptions(String organizationId) {
return jdbcDriverPluginService.getJdbcDriverOption(organizationId);
}
@ -97,8 +95,7 @@ public class EnvironmentService {
}
//删除环境的ssl文件
FileRequest fileRequest = new FileRequest();
fileRequest.setFolder(minioEnvPath(environment.getProjectId()));
fileRequest.setResourceId(id);
fileRequest.setFolder(DefaultRepositoryDir.getEnvSslDir(environment.getProjectId(), environment.getId()));
try {
minioRepository.deleteFolder(fileRequest);
} catch (Exception e) {
@ -138,9 +135,8 @@ public class EnvironmentService {
if (CollectionUtils.isNotEmpty(sslFiles)) {
sslFiles.forEach(sslFile -> {
FileRequest fileRequest = new FileRequest();
fileRequest.setFolder(minioEnvPath(environment.getProjectId()));
fileRequest.setFileName(sslFile.getName());
fileRequest.setResourceId(environment.getId());
fileRequest.setFolder(DefaultRepositoryDir.getEnvSslDir(environment.getProjectId(), environment.getId()));
try {
minioRepository.saveFile(sslFile, fileRequest);
} catch (Exception e) {
@ -306,8 +302,4 @@ public class EnvironmentService {
return request;
}
private String minioEnvPath(String projectId) {
return StringUtils.join(MAIN_FOLDER_PROJECT, "/", projectId, "/", APP_NAME_ENVIRONMENT);
}
}

View File

@ -18,6 +18,7 @@ import io.metersphere.project.dto.environment.ssl.KeyStoreConfig;
import io.metersphere.project.dto.environment.ssl.KeyStoreEntry;
import io.metersphere.project.dto.environment.ssl.KeyStoreFile;
import io.metersphere.project.dto.environment.variables.CommonVariables;
import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.constants.PermissionConstants;
import io.metersphere.sdk.constants.SessionConstants;
import io.metersphere.sdk.domain.Environment;
@ -909,8 +910,7 @@ public class EnvironmentControllerTests extends BaseTest {
this.requestGet(delete + id);
//查询文件
FileRequest fileRequest = new FileRequest();
fileRequest.setFolder("/meterSphere/" + DEFAULT_PROJECT_ID + "/" + "environment");
fileRequest.setResourceId(id);
fileRequest.setFolder(DefaultRepositoryDir.getEnvSslDir(DEFAULT_PROJECT_ID, id));
MinioRepository minioRepository = CommonBeanFactory.getBean(MinioRepository.class);
assert minioRepository != null;
List<String> fileNames = minioRepository.getFolderFileNames(fileRequest);

View File

@ -1,12 +1,12 @@
package io.metersphere.system.config;
import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.util.RsaKey;
import io.metersphere.sdk.util.RsaUtils;
import io.metersphere.system.file.FileCenter;
import io.metersphere.system.file.FileRepository;
import io.metersphere.system.file.FileRequest;
import io.metersphere.system.log.constants.OperationLogModule;
import io.metersphere.sdk.util.RsaKey;
import io.metersphere.sdk.util.RsaUtils;
import org.apache.commons.lang3.SerializationUtils;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
@ -19,8 +19,7 @@ public class RsaConfig implements ApplicationRunner {
public void run(ApplicationArguments args) throws Exception {
FileRequest request = new FileRequest();
request.setFileName("rsa.key");
request.setProjectId("system");
request.setResourceId(OperationLogModule.SYSTEM_PARAMETER_SETTING);
request.setFolder(DefaultRepositoryDir.getSystemRootDir());
FileRepository fileRepository = FileCenter.getDefaultRepository();
try {

View File

@ -1,10 +1,10 @@
package io.metersphere.system.service;
import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.exception.MSException;
import io.metersphere.system.domain.SystemParameter;
import io.metersphere.system.file.FileRequest;
import io.metersphere.system.file.MinioRepository;
import io.metersphere.system.log.constants.OperationLogModule;
import io.metersphere.system.domain.SystemParameter;
import io.metersphere.system.mapper.SystemParameterMapper;
import jakarta.annotation.Resource;
import org.apache.commons.io.IOUtils;
@ -34,8 +34,7 @@ public class BaseDisplayService {
if (systemParameter != null) {
FileRequest request = new FileRequest();
request.setFileName(systemParameter.getParamValue());
request.setProjectId("system");
request.setResourceId(OperationLogModule.SYSTEM_PARAMETER_SETTING);
request.setFolder(DefaultRepositoryDir.getSystemRootDir());
try {
bytes = repository.getFile(request);
} catch (Exception e) {

View File

@ -1,10 +1,10 @@
package io.metersphere.system.controller;
import io.metersphere.system.base.BaseTest;
import io.metersphere.sdk.constants.DefaultRepositoryDir;
import io.metersphere.sdk.constants.SessionConstants;
import io.metersphere.system.base.BaseTest;
import io.metersphere.system.file.FileRequest;
import io.metersphere.system.file.MinioRepository;
import io.metersphere.system.log.constants.OperationLogModule;
import jakarta.annotation.Resource;
import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.MethodOrderer;
@ -78,8 +78,7 @@ public class BaseDisplayControllerTests extends BaseTest {
MockMultipartFile mockFile = new MockMultipartFile(name, originalFileName, "application/octet-stream", bytes);
FileRequest request = new FileRequest();
request.setFileName(fileName);
request.setProjectId("system");
request.setResourceId(OperationLogModule.SYSTEM_PARAMETER_SETTING);
request.setFolder(DefaultRepositoryDir.getSystemRootDir());
repository.saveFile(mockFile, request);
}