Skip to content

Commit

Permalink
feat: appmanager support appVersion
Browse files Browse the repository at this point in the history
  • Loading branch information
Twwy committed May 17, 2023
1 parent c95f127 commit dcd2457
Show file tree
Hide file tree
Showing 43 changed files with 811 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
alter table am_app_package_task
add namespace_id varchar(64) default 'default' null comment '隔离 Namespace ID';

alter table am_app_package_task
add stage_id varchar(64) default 'pre' null comment '隔离 Stage ID';

create index idx_namespace_stage
on am_app_package_task (namespace_id, stage_id);

alter table am_app_package
add namespace_id varchar(64) default 'default' null comment '隔离 Namespace ID';

alter table am_app_package
add stage_id varchar(64) default 'pre' null comment '隔离 Stage ID';

create index idx_namespace_stage
on am_app_package (namespace_id, stage_id);

alter table am_component_package
add namespace_id varchar(64) default 'default' null comment '隔离 Namespace ID';

alter table am_component_package
add stage_id varchar(64) default 'pre' null comment '隔离 Stage ID';

create index idx_namespace_stage
on am_component_package (namespace_id, stage_id);
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,10 @@ public static BizAppContainer valueOf(String headerBizApp) {
}

if (StringUtils.isEmpty(headerBizApp)) {
return BizAppContainer.builder().namespaceId("").stageId("").build();
return BizAppContainer.builder()
.namespaceId(EnvUtil.defaultNamespaceId())
.stageId(EnvUtil.defaultStageId())
.build();
}
String[] array = headerBizApp.split(",", 3);
if (array.length <= 1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,16 @@ public class AppPackageDTO implements Serializable {
*/
private String swapp;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;

/**
* Tag 列表
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,16 @@ public class AppPackageTaskDTO {
*/
private String envId;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;

/**
* 默认应用部署 YAML
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,16 @@ public class ComponentPackageDTO implements Serializable {
*/
private String packageMd5;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;

/**
* 包 Addon 描述信息
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,14 @@ public class ComponentPackageTaskDTO {
* 环境 ID
*/
private String envId;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,8 @@ public class AppPackageCreateByStreamReq {
private boolean force;

private boolean resetVersion;

private String namespaceId;

private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,14 @@ public class AppPackageCreateReq {
* 当前 AppPackage 引用的 components 列表
*/
private List<Long> componentPackageIdList;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,14 @@ public class AppPackageImportReq implements Serializable {
* 重置版本
*/
private Boolean resetVersion;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ public class AppPackageQueryReq extends BaseRequest {
*/
private String packageCreator;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;

/**
* tag列表
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,14 @@ public class AppPackageTaskQueryReq extends BaseRequest {
* 应用打包的任务ID
*/
private Long appPackageTaskId;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,14 @@ public class ComponentPackageCreateByLocalFileReq {
* 是否重置版本
*/
private boolean resetVersion;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,14 @@ public class ComponentPackageQueryReq extends BaseRequest {
* 排序规则
*/
private String orderBy;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,14 @@ public class ComponentPackageTaskListQueryReq extends BaseRequest {
* component package 任务 ID 列表
*/
private List<Long> componentPackageTaskIdList;

/**
* 隔离 Namespace ID
*/
private String namespaceId;

/**
* 隔离 Stage ID
*/
private String stageId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.alibaba.tesla.appmanager.api.provider.ComponentPackageProvider;
import com.alibaba.tesla.appmanager.auth.controller.AppManagerBaseController;
import com.alibaba.tesla.appmanager.domain.container.BizAppContainer;
import com.alibaba.tesla.appmanager.domain.req.componentpackage.ComponentPackageLatestVersionListReq;
import com.alibaba.tesla.appmanager.domain.req.componentpackage.ComponentPackageQueryReq;
import com.alibaba.tesla.common.base.TeslaBaseResult;
Expand Down Expand Up @@ -40,8 +41,14 @@ public class AppComponentPackageController extends AppManagerBaseController {
public TeslaBaseResult list(
@PathVariable String appId,
@ParameterObject @ModelAttribute ComponentPackageQueryReq request,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
request.setAppId(appId);
request.setNamespaceId(namespaceId);
request.setStageId(stageId);
return buildSucceedResult(componentPackageProvider.list(request, getOperator(auth)));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,13 @@ public class AppComponentPackageTaskController extends AppManagerBaseController
public TeslaBaseResult list(
@PathVariable String appId,
@ParameterObject @ModelAttribute ComponentPackageTaskListQueryReq request,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
request.setNamespaceId(namespaceId);
request.setStageId(stageId);
return buildSucceedResult(componentPackageProvider.listTask(request, getOperator(auth)));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,14 @@ public class AppPackageController extends AppManagerBaseController {
public TeslaBaseResult list(
@PathVariable String appId,
@ParameterObject @ModelAttribute AppPackageQueryReq request,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
request.setAppId(appId);
request.setNamespaceId(namespaceId);
request.setStageId(stageId);
return buildSucceedResult(appPackageProvider.list(request, getOperator(auth)));
}

Expand All @@ -91,8 +97,14 @@ public TeslaBaseResult list(
@ResponseBody
public TeslaBaseResult create(
@PathVariable String appId, @RequestBody AppPackageCreateReq request,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
request.setAppId(appId);
request.setNamespaceId(namespaceId);
request.setStageId(stageId);
AppPackageDTO appPackageDTO = appPackageProvider.create(request, getOperator(auth));
return buildSucceedResult(appPackageDTO);
}
Expand Down Expand Up @@ -161,8 +173,12 @@ public TeslaBaseResult launchYaml(
public TeslaBaseResult importPackage(
@PathVariable String appId,
@ParameterObject @Valid @ModelAttribute AppPackageImportReq request,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
RequestEntity<InputStream> entity,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
request.setAppId(appId.replace("..", ""));
request.setPackageCreator(getOperator(auth));
if (request.getForce() == null) {
Expand All @@ -171,6 +187,8 @@ public TeslaBaseResult importPackage(
if (request.getResetVersion() == null) {
request.setResetVersion(false);
}
request.setNamespaceId(namespaceId);
request.setStageId(stageId);
AppPackageDTO appPackageDTO = appPackageProvider.importPackage(request, entity.getBody(), getOperator(auth));
return buildSucceedResult(appPackageDTO);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,17 @@ public TeslaBaseResult create(
*/
@GetMapping("/apps/{appId}/app-package-tasks")
@ResponseBody
public TeslaBaseResult list(@PathVariable String appId, OAuth2Authentication auth) {
public TeslaBaseResult list(
@PathVariable String appId,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
AppPackageTaskQueryReq request = AppPackageTaskQueryReq.builder()
.appId(appId)
.namespaceId(namespaceId)
.stageId(stageId)
.build();
return buildSucceedResult(appPackageTaskProvider.list(request, getOperator(auth), true));
}
Expand All @@ -114,9 +122,18 @@ public TeslaBaseResult list(@PathVariable String appId, OAuth2Authentication aut
@GetMapping("/app-package-tasks")
@ResponseBody
public TeslaBaseResult listCompatible(
@ParameterObject @ModelAttribute AppPackageTaskQueryReq request, OAuth2Authentication auth) {
@ParameterObject @ModelAttribute AppPackageTaskQueryReq request,
@RequestHeader(value = "X-Biz-App", required = false) String headerBizApp,
OAuth2Authentication auth) {
BizAppContainer container = BizAppContainer.valueOf(headerBizApp);
String namespaceId = container.getNamespaceId();
String stageId = container.getStageId();
return buildSucceedResult(appPackageTaskProvider.list(
AppPackageTaskQueryReq.builder().appId(request.getAppId()).build(),
AppPackageTaskQueryReq.builder()
.appId(request.getAppId())
.namespaceId(namespaceId)
.stageId(stageId)
.build(),
getOperator(auth), true));
}

Expand All @@ -137,11 +154,11 @@ public TeslaBaseResult get(
.appPackageTaskId(taskId)
.withBlobs(true)
.build();
Pagination<AppPackageTaskDTO> tasks = appPackageTaskProvider.list(request, getOperator(auth), true);
if (!tasks.isEmpty()) {
return buildSucceedResult(tasks.getItems().get(0));
AppPackageTaskDTO task = appPackageTaskProvider.get(request, getOperator(auth));
if (task == null) {
return buildClientErrorResult(AppErrorCode.INVALID_USER_ARGS.getDescription());
}
return buildClientErrorResult(AppErrorCode.INVALID_USER_ARGS.getDescription());
return buildSucceedResult(task);
}

@PostMapping("/apps/{appId}/app-package-tasks/quick-create")
Expand Down
Loading

0 comments on commit dcd2457

Please sign in to comment.