添加模型

This commit is contained in:
mian-bin@hotmail.com 2025-03-22 17:19:38 +08:00
parent ee727490b1
commit bcbac7897d
10 changed files with 410 additions and 69 deletions

View File

@ -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";
}

View File

@ -24,40 +24,40 @@ public interface AppLogResource {
CommonResult<PageQueryLogs> 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<QueryLogs> 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<QueryLogs> 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<EndPageQueryLogs> 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<QueryLogs> 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<String> 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
);
}

View File

@ -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.*;
/**
* @Authormianbin
* @Packagecd.casic.pipeline.api
* @Projectops-pro
* @nameBuildCredentialResource
* @Date2025/03/22 15:49
* @FilenameBuildCredentialResource
*/
@RestController
@Tag(name = "BUILD_CREDENTIAL", description = "构建-凭据资源")
@RequestMapping("/build/credentials")
public interface BuildCredentialApi {
@Operation(summary = "构建机获取凭据")
@GetMapping("/{credentialId}/")
CommonResult<CredentialInfo> 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<CredentialInfo> 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<Map<String, String>> 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<Boolean> 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
);
}

View File

@ -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;
/**
* @Authormianbin
* @Packagecd.casic.pipeline.api
* @Projectops-pro
* @nameOpCredentialResource
* @Date2025/03/22 16:05
* @FilenameOpCredentialResource
*/
@Tag(name = "OP_CREDENTIAL", description = "OP-凭据资源")
@RestController
@RequestMapping("/op/credentials")
public interface OpCredentialApi {
@Operation(summary = "获取凭据列表")
@GetMapping("/projects/{projectId}/")
CommonResult<PageResult<CredentialWithPermission>> 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
);
}

View File

@ -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}")

View File

@ -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;

View File

@ -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;
/**
* @Authormianbin
* @Packagecd.casic.pipeline.dal.pojo
* @Projectops-pro
* @nameCredentialCreate
* @Date2025/03/22 15:19
* @FilenameCredentialCreate
*/
@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;
}

View File

@ -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;
/**
* @Authormianbin
* @Packagecd.casic.pipeline.dal.pojo
* @Projectops-pro
* @nameCredentialPermissions
* @Date2025/03/22 15:25
* @FilenameCredentialPermissions
*/
@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;
}

View File

@ -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;
/**
* @Authormianbin
* @Packagecd.casic.pipeline.dal.pojo
* @Projectops-pro
* @nameCredentialUpdate
* @Date2025/03/22 15:24
* @FilenameCredentialUpdate
* @descriptionTodo
*/
@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;
}

View File

@ -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;
/**
* @Authormianbin
* @Packagecd.casic.pipeline.dal.pojo
* @Projectops-pro
* @nameCredentialWithPermission
* @Date2025/03/22 16:07
* @FilenameCredentialWithPermission
* @descriptionTodo
*/
@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;
}