diff --git a/modules/pipeline-ci-commons/src/main/java/cd/casic/pipeline/commons/constant/OpsHeader.java b/modules/pipeline-ci-commons/src/main/java/cd/casic/pipeline/commons/constant/OpsHeader.java index f133887..d1f30ac 100644 --- a/modules/pipeline-ci-commons/src/main/java/cd/casic/pipeline/commons/constant/OpsHeader.java +++ b/modules/pipeline-ci-commons/src/main/java/cd/casic/pipeline/commons/constant/OpsHeader.java @@ -1,6 +1,7 @@ package cd.casic.pipeline.commons.constant; import lombok.NoArgsConstructor; +import lombok.val; /** * @author by mianbin @@ -44,9 +45,9 @@ public final class OpsHeader { public static final String AUTH_HEADER_DEVOPS_REAL_IP = "X-DEVOPS-REAL-IP"; public static final String AUTH_HEADER_DEVOPS_AGENT_ID = "X-DEVOPS-AGENT-ID"; public static final String AUTH_HEADER_DEVOPS_AGENT_SECRET_KEY = "X-DEVOPS-AGENT-SECRET-KEY"; - public static final String AUTH_HEADER_DEVOPS_BK_TOKEN = "X-DEVOPS-BK-TOKEN"; + public static final String AUTH_HEADER_DEVOPS_OPS_TOKEN = "X-DEVOPS-OPS-TOKEN"; public static final String AUTH_HEADER_DEVOPS_ACCESS_TOKEN = "X-DEVOPS-ACCESS-TOKEN"; - public static final String AUTH_HEADER_DEVOPS_BK_TICKET = "X-DEVOPS-BK-TOKEN"; + public static final String AUTH_HEADER_DEVOPS_OPS_TICKET = "X-DEVOPS-OPS-TOKEN"; public static final String AUTH_HEADER_DEVOPS_USER_CHINESE_NAME = "X-DEVOPS-CHINESE-NAME"; public static final String AUTH_HEADER_DEVOPS_USER_PAAS_ID = "X-DEVOPS-PAAS-USER-ID"; public static final String AUTH_HEADER_DEVOPS_ORIGINAL_HOST = "X-DEVOPS-ORIGINAL-HOST"; @@ -62,9 +63,25 @@ public final class OpsHeader { public static final String SING_HEADER_SIGNATURE = "X-DEVOPS-SIGNATURE"; public static final String AUTH_HEADER_GITHUB_TOKEN = "X-GITHUB-TOKEN"; public static final String AUTH_HEADER_GIT_TYPE = "X-DEVOPS-STREAM-GIT-TYPE"; - public static final String AUTH_HEADER_BK_CI_LOGIN_TOKEN = "X-DEVOPS-CI-LOGIN-TOKEN"; + public static final String AUTH_HEADER_OPS_CI_LOGIN_TOKEN = "X-DEVOPS-CI-LOGIN-TOKEN"; public static final String AUTH_HEADER_DEVOPS_SERVICE_NAME = "X-DEVOPS-SERVICE-NAME"; public static final String AUTH_HEADER_CODECC_OPENAPI_TOKEN = "X-CODECC-OPENAPI-TOKEN"; + public static final String AUTH_HEADER_OAUTH2_CLIENT_ID = "X-DEVOPS-OAUTH2-CLIENT-ID"; + public static final String AUTH_HEADER_OAUTH2_CLIENT_SECRET = "X-DEVOPS-OAUTH2-CLIENT-SECRET"; + public static final String AUTH_HEADER_OAUTH2_AUTHORIZATION = "X-DEVOPS-OAUTH2-AUTHORIZATION"; + public static final String REFERER = "referer"; // 来源 + public static final String DEVX_HEADER_GW_TOKEN = "X-DEVOPS-DEVX-GW-TOKEN"; + public static final String DEVX_HEADER_NGGW_CLIENT_ADDRESS = "X-OPS-NGGW-CLIENT-ADDRESS"; + public static final String DEVX_HEADER_CDS_TOKEN = "X-OPS-CDS-TOKEN"; + + public static final String AUTH_HEADER_DEVOPS_SHA_CONTENT = "X-DEVOPS-SHA-CONTENT"; + public static final String AUTH_HEADER_DEVOPS_OS_NAME = "X-DEVOPS-OS-NAME"; + public static final String AUTH_HEADER_DEVOPS_OS_ARCH = "X-DEVOPS-OS-ARCH"; + public static final String AUTH_HEADER_DEVOPS_STORE_CODE = "X-DEVOPS-STORE-CODE"; + public static final String AUTH_HEADER_DEVOPS_STORE_TYPE = "X-DEVOPS-STORE-TYPE"; + public static final String AUTH_HEADER_DEVOPS_STORE_VERSION = "X-DEVOPS-STORE-VERSION"; + public static final String AUTH_HEADER_DEVOPS_SIGN_FILE_NAME = "X-DEVOPS-SIGN-FILE-NAME"; + public static final String AUTH_HEADER_DEVOPS_ENV = "X-DEVOPS-ENV"; } diff --git a/modules/pipeline-ci-log/src/main/java/cd/casic/pipeline/api/AppLogResource.java b/modules/pipeline-ci-log/src/main/java/cd/casic/pipeline/api/AppLogResource.java index 45d02aa..04104e7 100644 --- a/modules/pipeline-ci-log/src/main/java/cd/casic/pipeline/api/AppLogResource.java +++ b/modules/pipeline-ci-log/src/main/java/cd/casic/pipeline/api/AppLogResource.java @@ -24,40 +24,40 @@ public interface AppLogResource { CommonResult getInitLogs( @Parameter(description = "用户ID", required = true, example = AUTH_HEADER_USER_ID_DEFAULT_VALUE) @RequestHeader(AUTH_HEADER_USER_ID) - String userId, + String userId, @Parameter(description = "项目ID", required = true) @PathVariable("projectId") - String projectId, + String projectId, @Parameter(description = "流水线ID", required = true) @PathVariable("pipelineId") - String pipelineId, + String pipelineId, @Parameter(description = "构建ID", required = true) @PathVariable("buildId") - String buildId, + String buildId, @Parameter(description = "是否包含调试日志", required = false) @RequestParam(value = "debug", defaultValue = "false") - boolean debug, + boolean debug, @Parameter(description = "过滤日志级别", required = false) @RequestParam(value = "logType", defaultValue = "null") LogType logType, @Parameter(description = "对应elementId", required = false) @RequestParam(value = "tag") - String tag, + String tag, @Parameter(description = "指定subTag", required = false) @RequestParam("subTag") - String subTag, + String subTag, @Parameter(description = "对应jobId", required = false) @RequestParam(value = "jobId") - String jobId, + String jobId, @Parameter(description = "执行次数", required = false) @RequestParam(value = "executeCount") - int executeCount, + int executeCount, @Parameter(description = "第几页", required = false) @RequestParam("page") - int page, + int page, @Parameter(description = "每页条数", required = false) @RequestParam("pageSize") - int pageSize + int pageSize ); @Operation(summary = "获取更多日志") @@ -65,46 +65,46 @@ public interface AppLogResource { CommonResult getMoreLogs( @Parameter(description = "用户ID", required = true, example = AUTH_HEADER_USER_ID_DEFAULT_VALUE) @RequestHeader(AUTH_HEADER_USER_ID) - String userId, + String userId, @Parameter(description = "项目ID", required = true) @PathVariable("projectId") - String projectId, + String projectId, @Parameter(description = "流水线ID", required = true) @PathVariable("pipelineId") - String pipelineId, + String pipelineId, @Parameter(description = "构建ID", required = true) @PathVariable("buildId") - String buildId, + String buildId, @Parameter(description = "是否包含调试日志", required = false) @RequestParam(value = "debug", defaultValue = "false") - boolean debug, + boolean debug, @Parameter(description = "过滤日志级别", required = false) @RequestParam(value = "logType", defaultValue = "null") - LogType logType, + LogType logType, @Parameter(description = "日志行数", required = false) @RequestParam(value = "num", defaultValue = "100") - int num, + int num, @Parameter(description = "是否正序输出", required = false) @RequestParam(value = "fromStart", defaultValue = "true") - boolean fromStart, + boolean fromStart, @Parameter(description = "起始行号", required = true) @RequestParam(value = "start") - long start, + long start, @Parameter(description = "结尾行号", required = true) @RequestParam(value = "end") - long end, + long end, @Parameter(description = "对应elementId", required = false) @RequestParam(value = "tag") - String tag, + String tag, @Parameter(description = "指定subTag", required = false) @RequestParam("subTag") - String subTag, + String subTag, @Parameter(description = "对应jobId", required = false) @RequestParam(value = "jobId") - String jobId, + String jobId, @Parameter(description = "执行次数", required = false) @RequestParam(value = "executeCount") - int executeCount + int executeCount ); @Operation(summary = "获取某行后的日志") @@ -112,37 +112,37 @@ public interface AppLogResource { CommonResult getAfterLogs( @Parameter(description = "用户ID", required = true, example = AUTH_HEADER_USER_ID_DEFAULT_VALUE) @RequestHeader(AUTH_HEADER_USER_ID) - String userId, + String userId, @Parameter(description = "项目ID", required = true) @PathVariable("projectId") - String projectId, + String projectId, @Parameter(description = "流水线ID", required = true) @PathVariable("pipelineId") - String pipelineId, + String pipelineId, @Parameter(description = "构建ID", required = true) @PathVariable("buildId") - String buildId, + String buildId, @Parameter(description = "起始行号", required = true) @RequestParam("start") - long start, + long start, @Parameter(description = "是否包含调试日志", required = false) - @RequestParam(value = "debug",defaultValue = "false") - boolean debug, + @RequestParam(value = "debug", defaultValue = "false") + boolean debug, @Parameter(description = "过滤日志级别", required = false) - @RequestParam(value = "logType",defaultValue = "null") - LogType logType, + @RequestParam(value = "logType", defaultValue = "null") + LogType logType, @Parameter(description = "对应elementId", required = false) @RequestParam("tag") - String tag, + String tag, @Parameter(description = "指定subTag", required = false) @RequestParam("subTag") - String subTag, + String subTag, @Parameter(description = "对应jobId", required = false) @RequestParam("jobId") - String jobId, + String jobId, @Parameter(description = "执行次数", required = false) @RequestParam("executeCount") - int executeCount + int executeCount ); @Operation(summary = "获取某行前指定行数的日志") @@ -164,10 +164,10 @@ public interface AppLogResource { @RequestParam("end") long end, @Parameter(description = "是否包含调试日志", required = false) - @RequestParam(value = "debug",defaultValue = "false") + @RequestParam(value = "debug", defaultValue = "false") boolean debug, @Parameter(description = "过滤日志级别", required = false) - @RequestParam(value = "logType",defaultValue = "null") + @RequestParam(value = "logType", defaultValue = "null") LogType logType, @Parameter(description = "返回日志条数", required = false) @RequestParam("size") @@ -190,7 +190,7 @@ public interface AppLogResource { @GetMapping("/{projectId}/{pipelineId}/{buildId}/end") CommonResult getEndLogsPage( @Parameter(description = "用户ID", required = true, example = AUTH_HEADER_USER_ID_DEFAULT_VALUE) - @RequestHeader(value = AUTH_HEADER_USER_ID,defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE) + @RequestHeader(value = AUTH_HEADER_USER_ID, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE) String userId, @Parameter(description = "项目ID", required = true) @PathVariable("projectId") @@ -205,10 +205,10 @@ public interface AppLogResource { @RequestParam("size") int size, @Parameter(description = "是否包含调试日志", required = false) - @RequestParam(value = "debug",defaultValue = "false") + @RequestParam(value = "debug", defaultValue = "false") boolean debug, @Parameter(description = "过滤日志级别", required = false) - @RequestParam(value = "logType",defaultValue = "null") + @RequestParam(value = "logType", defaultValue = "null") LogType logType, @Parameter(description = "对应elementId", required = false) @RequestParam("tag") @@ -228,51 +228,51 @@ public interface AppLogResource { @GetMapping("/{projectId}/{pipelineId}/{buildId}/bottom") CommonResult getBottomLogs( @Parameter(description = "用户ID", required = true, example = AUTH_HEADER_USER_ID_DEFAULT_VALUE) - @RequestHeader(value = AUTH_HEADER_USER_ID,defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE) - String userId, + @RequestHeader(value = AUTH_HEADER_USER_ID, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE) + String userId, @Parameter(description = "项目ID", required = true) @PathVariable("projectId") - String projectId, + String projectId, @Parameter(description = "流水线ID", required = true) @PathVariable("pipelineId") - String pipelineId, + String pipelineId, @Parameter(description = "构建ID", required = true) @PathVariable("buildId") - String buildId, + String buildId, @Parameter(description = "是否包含调试日志", required = false) - @RequestParam(value = "debug",defaultValue = "false") - boolean debug, + @RequestParam(value = "debug", defaultValue = "false") + boolean debug, @Parameter(description = "过滤日志级别", required = false) - @RequestParam(value = "logType",defaultValue = "null") - LogType logType, + @RequestParam(value = "logType", defaultValue = "null") + LogType logType, @Parameter(description = "返回日志条数", required = false) @RequestParam("size") - int size, + int size, @Parameter(description = "对应elementId", required = false) @RequestParam("tag") - String tag, + String tag, @Parameter(description = "指定subTag", required = false) @RequestParam("subTag") - String subTag, + String subTag, @Parameter(description = "对应jobId", required = false) @RequestParam("jobId") - String jobId, + String jobId, @Parameter(description = "执行次数", required = false) @RequestParam("executeCount") - int executeCount + int executeCount ); @Operation(summary = "测试接口") @GetMapping("test") CommonResult test( - @Parameter(description = "构建的buildId", required = true,example = "1") + @Parameter(description = "构建的buildId", required = true, example = "1") @RequestParam("buildId") - String buildId, - @Parameter(description = "标签名称", required = true,example = "java") + String buildId, + @Parameter(description = "标签名称", required = true, example = "java") @RequestParam("tagName") - String tagName, - @Parameter(description = "要添加子标签", required = true,example = "spring") + String tagName, + @Parameter(description = "要添加子标签", required = true, example = "spring") @RequestParam("subTag") - String subTag + String subTag ); } diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/BuildCredentialApi.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/BuildCredentialApi.java new file mode 100644 index 0000000..0b8abd0 --- /dev/null +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/BuildCredentialApi.java @@ -0,0 +1,121 @@ +package cd.casic.pipeline.api; + +import cd.casic.framework.commons.pojo.CommonResult; +import cd.casic.pipeline.dal.pojo.CredentialCreate; +import cd.casic.pipeline.dal.pojo.CredentialInfo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +import static cd.casic.pipeline.commons.constant.OpsHeader.*; + +/** + * @Author:mianbin + * @Package:cd.casic.pipeline.api + * @Project:ops-pro + * @name:BuildCredentialResource + * @Date:2025/03/22 15:49 + * @Filename:BuildCredentialResource + */ +@RestController +@Tag(name = "BUILD_CREDENTIAL", description = "构建-凭据资源") +@RequestMapping("/build/credentials") +public interface BuildCredentialApi { + @Operation(summary = "构建机获取凭据") + @GetMapping("/{credentialId}/") + CommonResult get( + @Parameter(description = "项目ID", required = true) + @RequestHeader(AUTH_HEADER_DEVOPS_PROJECT_ID) + String projectId, + @Parameter(description = "构建ID", required = true) + @RequestHeader(AUTH_HEADER_DEVOPS_BUILD_ID) + String buildId, + @Parameter(description = "构建环境ID", required = true) + @RequestHeader(AUTH_HEADER_DEVOPS_VM_SEQ_ID) + String vmSeqId, + @Parameter(description = "构建机名称", required = true) + @RequestHeader(AUTH_HEADER_DEVOPS_VM_NAME) + String vmName, + @Parameter(description = "凭据ID", required = true) + @PathVariable("credentialId") + String credentialId, + @Parameter(description = "Base64编码的加密公钥", required = true) + @RequestParam("publicKey") + String publicKey, + @Parameter(description = "插件ID", required = true) + @RequestHeader("X-DEVOPS-CI-TASK-ID") + String taskId, + @Parameter(description = "插件ID(旧版本的,为了兼容旧版本插件不用更新sdk来使用)", required = true) + @RequestHeader("X-DEVOPS-TASK-ID") + String oldTaskId + ); + + @Operation(summary = "构建机获取跨项目凭据") + @GetMapping("/{credentialId}/across/") + CommonResult getAcrossProject( + @Parameter(description = "项目ID", required = true) + @RequestHeader("X-DEVOPS-PROJECT-ID") + String projectId, + @Parameter(description = "构建ID", required = true) + @RequestHeader("X-DEVOPS-BUILD-ID") + String buildId, + @Parameter(description = "构建环境ID", required = true) + @RequestHeader("X-DEVOPS-VM-SEQ-ID") + String vmSeqId, + @Parameter(description = "构建机名称", required = true) + @RequestHeader("X-DEVOPS-VM-NAME") + String vmName, + @Parameter(description = "凭据ID", required = true) + @PathVariable("credentialId") + String credentialId, + @Parameter(description = "项目ID", required = true) + @RequestParam("targetProjectId") + String targetProjectId, + @Parameter(description = "Base64编码的加密公钥", required = true) + @RequestParam("publicKey") + String publicKey + ); + + @Operation(summary = "插件获取凭据") + @GetMapping("/{credentialId}/detail") + CommonResult> getDetail( + @Parameter(description = "项目ID", required = true) + @RequestHeader("X-DEVOPS-PROJECT-ID") + String projectId, + @Parameter(description = "构建ID", required = true) + @RequestHeader("X-DEVOPS-BUILD-ID") + String buildId, + @Parameter(description = "构建环境ID", required = true) + @RequestHeader("X-DEVOPS-VM-SEQ-ID") + String vmSeqId, + @Parameter(description = "构建机名称", required = true) + @RequestHeader("X-DEVOPS-VM-NAME") + String vmName, + @Parameter(description = "插件ID", required = true) + @RequestHeader("X-DEVOPS-CI-TASK-ID") + String taskId, + @Parameter(description = "插件ID(旧版本的,为了兼容旧版本插件不用更新sdk来使用)", required = true) + @RequestHeader("X-DEVOPS-TASK-ID") + String oldTaskId, + @Parameter(description = "凭据ID", required = true) + @PathVariable("credentialId") + String credentialId + ); + + @Operation(summary = "新增凭据") + @PostMapping("/{projectId}/") + CommonResult create( + @Parameter(description = "用户ID", required = true, example = "admin") + @RequestHeader("X-DEVOPS-USER-ID") + String userId, + @Parameter(description = "项目ID", required = true) + @PathVariable("projectId") + String projectId, + @Parameter(description = "凭据", required = true) + CredentialCreate credential + ); + +} diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/OpCredentialApi.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/OpCredentialApi.java new file mode 100644 index 0000000..3a7eb73 --- /dev/null +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/OpCredentialApi.java @@ -0,0 +1,47 @@ +package cd.casic.pipeline.api; + +import cd.casic.framework.commons.pojo.CommonResult; +import cd.casic.framework.commons.pojo.PageResult; +import cd.casic.pipeline.dal.pojo.CredentialWithPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.*; + +import static cd.casic.pipeline.commons.constant.OpsHeader.AUTH_HEADER_USER_ID; + +/** + * @Author:mianbin + * @Package:cd.casic.pipeline.api + * @Project:ops-pro + * @name:OpCredentialResource + * @Date:2025/03/22 16:05 + * @Filename:OpCredentialResource + */ +@Tag(name = "OP_CREDENTIAL", description = "OP-凭据资源") +@RestController +@RequestMapping("/op/credentials") +public interface OpCredentialApi { + @Operation(summary = "获取凭据列表") + @GetMapping("/projects/{projectId}/") + CommonResult> list( + @Parameter(description = "用户ID", required = true, example = "admin") + @RequestHeader(AUTH_HEADER_USER_ID) + String userId, + @Parameter(description = "项目ID", required = true) + @PathVariable("projectId") + String projectId, + @Parameter(description = "凭证类型列表,用逗号分隔", required = false, example = "") + @RequestParam("credentialTypes") + String credentialTypesString, + @Parameter(description = "第几页", required = false, example = "1") + @RequestParam("page") + Integer page, + @Parameter(description = "每页多少条", required = false, example = "20") + @RequestParam("pageSize") + Integer pageSize, + @Parameter(description = "关键字", required = false) + @RequestParam("keyword") + String keyword + ); +} diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/ServiceCredentialResource.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/ServiceCredentialApi.java similarity index 96% rename from modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/ServiceCredentialResource.java rename to modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/ServiceCredentialApi.java index 2906665..ef0945f 100644 --- a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/ServiceCredentialResource.java +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/ServiceCredentialApi.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.*; @RestController @Tag(name = "服务-凭据资源") @RequestMapping("/service/credentials") -public interface ServiceCredentialResource { +public interface ServiceCredentialApi { @Operation(summary = "其他服务获取凭据") @GetMapping("/{projectId}/{credentialId}") diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/impl/ServiceCredentialResourceImpl.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/impl/ServiceCredentialApiImpl.java similarity index 87% rename from modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/impl/ServiceCredentialResourceImpl.java rename to modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/impl/ServiceCredentialApiImpl.java index e606e47..1e8d3a0 100644 --- a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/impl/ServiceCredentialResourceImpl.java +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/api/impl/ServiceCredentialApiImpl.java @@ -3,7 +3,7 @@ package cd.casic.pipeline.api.impl; import cd.casic.framework.commons.exception.ServiceException; import cd.casic.framework.commons.pojo.CommonResult; -import cd.casic.pipeline.api.ServiceCredentialResource; +import cd.casic.pipeline.api.ServiceCredentialApi; import cd.casic.pipeline.dal.pojo.CredentialInfo; import cd.casic.pipeline.service.CredentialService; import jakarta.annotation.Resource; @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController -public class ServiceCredentialResourceImpl implements ServiceCredentialResource { +public class ServiceCredentialApiImpl implements ServiceCredentialApi { @Resource private CredentialService credentialService; diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialCreate.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialCreate.java new file mode 100644 index 0000000..73fb54c --- /dev/null +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialCreate.java @@ -0,0 +1,38 @@ +package cd.casic.pipeline.dal.pojo; + +import cd.casic.pipeline.dal.enums.CredentialType; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:mianbin + * @Package:cd.casic.pipeline.dal.pojo + * @Project:ops-pro + * @name:CredentialCreate + * @Date:2025/03/22 15:19 + * @Filename:CredentialCreate + */ +@Data +@Schema(title = "凭据-创建时内容") +@AllArgsConstructor +@NoArgsConstructor +public class CredentialCreate { + @Schema(title = "凭据ID", required = true) + private String credentialId; + @Schema(title = "凭据名称", required = true) + private String credentialName; + @Schema(title = "凭据类型", required = true) + private CredentialType credentialType; + @Schema(title = "凭据描述", required = false) + private String credentialRemark; + @Schema(title = "凭据内容", required = true) + private String v1; + @Schema(title = "凭据内容", required = true) + private String v2; + @Schema(title = "凭据内容", required = true) + private String v3; + @Schema(title = "凭据内容", required = true) + private String v4; +} diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialPermissions.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialPermissions.java new file mode 100644 index 0000000..3c3cc09 --- /dev/null +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialPermissions.java @@ -0,0 +1,29 @@ +package cd.casic.pipeline.dal.pojo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:mianbin + * @Package:cd.casic.pipeline.dal.pojo + * @Project:ops-pro + * @name:CredentialPermissions + * @Date:2025/03/22 15:25 + * @Filename:CredentialPermissions + */ +@Data +@Schema(title = "凭证-凭证权限") +@AllArgsConstructor +@NoArgsConstructor +public class CredentialPermissions { + @Schema(title = "删除权限", required = true) + private boolean delete; + @Schema(title = "查看权限", required = true) + private boolean view; + @Schema(title = "编辑权限", required = true) + private boolean edit; + @Schema(title = "使用权限", required = true) + private Boolean use; +} diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialUpdate.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialUpdate.java new file mode 100644 index 0000000..43ec12d --- /dev/null +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialUpdate.java @@ -0,0 +1,37 @@ +package cd.casic.pipeline.dal.pojo; + +import cd.casic.pipeline.dal.enums.CredentialType; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:mianbin + * @Package:cd.casic.pipeline.dal.pojo + * @Project:ops-pro + * @name:CredentialUpdate + * @Date:2025/03/22 15:24 + * @Filename:CredentialUpdate + * @description:Todo + */ +@Data +@Schema(title = "凭据-更新时内容") +@AllArgsConstructor +@NoArgsConstructor +public class CredentialUpdate { + @Schema(title = "凭据名称", required = true) + private String credentialName; + @Schema(title = "凭据类型", required = true) + private CredentialType credentialType; + @Schema(title = "凭据描述", required = false) + private String credentialRemark; + @Schema(title = "凭据内容", required = true) + private String v1; + @Schema(title = "凭据内容", required = true) + private String v2; + @Schema(title = "凭据内容", required = true) + private String v3; + @Schema(title = "凭据内容", required = true) + private String v4; +} diff --git a/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialWithPermission.java b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialWithPermission.java new file mode 100644 index 0000000..3a275c4 --- /dev/null +++ b/modules/pipeline-ci-ticket/src/main/java/cd/casic/pipeline/dal/pojo/CredentialWithPermission.java @@ -0,0 +1,52 @@ +package cd.casic.pipeline.dal.pojo; + +import cd.casic.pipeline.dal.enums.CredentialType; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author:mianbin + * @Package:cd.casic.pipeline.dal.pojo + * @Project:ops-pro + * @name:CredentialWithPermission + * @Date:2025/03/22 16:07 + * @Filename:CredentialWithPermission + * @description:Todo + */ + +@Data +@Schema(title = "凭据-凭据内容和权限") +@AllArgsConstructor +@NoArgsConstructor +public class CredentialWithPermission { + @Schema(title = "凭据ID", required = true) + private String credentialId; + @Schema(title = "凭据名称", required = true) + private String credentialName; + @Schema(title = "凭据类型", required = true) + private CredentialType credentialType; + @Schema(title = "凭据描述", required = false) + private String credentialRemark; + @Schema(title = "最后更新时间", required = true) + private long updatedTime; + @Schema(title = "凭据内容", required = true) + private String v1; + @Schema(title = "凭据内容", required = true) + private String v2; + @Schema(title = "凭据内容", required = true) + private String v3; + @Schema(title = "凭据内容", required = true) + private String v4; + @Schema(title = "权限", required = true) + private CredentialPermissions permissions; + @Schema(title = "最后更新者", required = true) + private String updateUser; + @Schema(title = "当前凭证是否允许跨项目使用", required = false) + private boolean allowAcrossProject; + @Schema(title = "凭证创建者", required = true) + private String createUser; + @Schema(title = "凭证创建时间", required = true) + private long createTime; +}