Compare commits
3 Commits
applicatio
...
dev-worksp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62ea5f5542 | ||
|
|
357ee0be62 | ||
|
|
2945c51b0f |
@@ -1,5 +1,6 @@
|
||||
package net.geedge.asw.module.app.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import net.geedge.asw.common.util.ASWException;
|
||||
@@ -18,7 +19,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/application")
|
||||
@RequestMapping("/api/v1/{workspaceId}/application")
|
||||
public class ApplicationController {
|
||||
|
||||
@Autowired
|
||||
@@ -28,8 +29,11 @@ public class ApplicationController {
|
||||
private ISysUserService userService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable String id) {
|
||||
ApplicationEntity entity = applicationService.getById(id);
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable String id) {
|
||||
ApplicationEntity entity = applicationService.getOne(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.eq(ApplicationEntity::getId, id)
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
if (T.ObjectUtil.isNull(entity)) {
|
||||
throw new ASWException(RCode.APP_NOT_EXIST);
|
||||
}
|
||||
@@ -41,12 +45,10 @@ public class ApplicationController {
|
||||
}
|
||||
|
||||
@GetMapping("/{id}/{version}")
|
||||
public R detail(@PathVariable String id,
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable String id,
|
||||
@PathVariable(required = false) String version) {
|
||||
ApplicationEntity entity = applicationService.getById(id);
|
||||
if (T.StrUtil.isNotEmpty(version)){
|
||||
entity = applicationService.queryByApplicationAndLog(id, version);
|
||||
}
|
||||
ApplicationEntity entity = applicationService.queryByApplicationAndLog(id, version, workspaceId);
|
||||
if (T.ObjectUtil.isNull(entity)) {
|
||||
throw new ASWException(RCode.APP_NOT_EXIST);
|
||||
}
|
||||
@@ -59,29 +61,34 @@ public class ApplicationController {
|
||||
|
||||
|
||||
@GetMapping
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
public R list(@PathVariable String workspaceId,
|
||||
@RequestParam Map<String, Object> params) {
|
||||
T.VerifyUtil.is(params).notNull()
|
||||
.and(T.MapUtil.getStr(params, "workspaceId")).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
params.put("workspaceId", workspaceId);
|
||||
Page page = applicationService.queryList(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public R add(@RequestBody ApplicationEntity entity) {
|
||||
public R add(@PathVariable String workspaceId,
|
||||
@RequestBody ApplicationEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getName()).notEmpty(RCode.APP_NAME_CANNOT_EMPTY)
|
||||
//.and(entity.getLongName()).notEmpty(RCode.APP_LONGNAME_CANNOT_EMPTY)
|
||||
//.and(entity.getProperties()).notEmpty(RCode.APP_PROPERTIES_CANNOT_EMPTY)
|
||||
//.and(entity.getSurrogates()).notEmpty(RCode.APP_SURROGATES_CANNOT_EMPTY)
|
||||
//.and(entity.getDescription()).notEmpty(RCode.APP_DESCRIPTION_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
ApplicationEntity applicationEntity = applicationService.saveApplication(entity);
|
||||
return R.ok().putData("id", applicationEntity.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public R update(@RequestBody ApplicationEntity entity) {
|
||||
public R update(@PathVariable String workspaceId,
|
||||
@RequestBody ApplicationEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getId()).notEmpty(RCode.ID_CANNOT_EMPTY)
|
||||
.and(entity.getName()).notEmpty(RCode.NAME_CANNOT_EMPTY)
|
||||
@@ -89,44 +96,48 @@ public class ApplicationController {
|
||||
//.and(entity.getProperties()).notEmpty(RCode.APP_PROPERTIES_CANNOT_EMPTY)
|
||||
//.and(entity.getSurrogates()).notEmpty(RCode.APP_SURROGATES_CANNOT_EMPTY)
|
||||
//.and(entity.getDescription()).notEmpty(RCode.APP_DESCRIPTION_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
ApplicationEntity applicationEntity = applicationService.updateApplication(entity);
|
||||
return R.ok().putData("id", applicationEntity.getId());
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
public R delete(String[] ids) {
|
||||
public R delete(@PathVariable String workspaceId,
|
||||
String[] ids) {
|
||||
T.VerifyUtil.is(ids).notEmpty();
|
||||
applicationService.removeApplication(T.ListUtil.of(ids));
|
||||
applicationService.removeApplication(T.ListUtil.of(ids), workspaceId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/{id}/log")
|
||||
public R queryLogList(@PathVariable("id") String id) {
|
||||
List<ApplicationEntity> applicationEntityList = applicationService.queryLogList(id);
|
||||
public R queryLogList(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id) {
|
||||
List<ApplicationEntity> applicationEntityList = applicationService.queryLogList(id, workspaceId);
|
||||
return R.ok().putData("record", applicationEntityList);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/{id}/{oldVersion}/{newVersion}")
|
||||
public R applicationCompare(@PathVariable("id") String id,
|
||||
public R applicationCompare(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id,
|
||||
@PathVariable("oldVersion") String oldVersion,
|
||||
@PathVariable("newVersion") String newVersion) {
|
||||
List<ApplicationEntity> list = applicationService.compare(id, oldVersion, newVersion);
|
||||
List<ApplicationEntity> list = applicationService.compare(id, oldVersion, newVersion,workspaceId);
|
||||
return R.ok().putData("record", list);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/{id}/{version}/restore")
|
||||
public R restore(@PathVariable("id") String id,
|
||||
public R restore(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id,
|
||||
@PathVariable("version") String version) {
|
||||
applicationService.restore(id, version);
|
||||
applicationService.restore(id, version, workspaceId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/analyze")
|
||||
public void analyze(@RequestParam String workspaceId,
|
||||
public void analyze(@PathVariable String workspaceId,
|
||||
@RequestParam String pcapIds,
|
||||
HttpServletResponse response) throws IOException {
|
||||
applicationService.redirectDiscoverPage(workspaceId, pcapIds, response);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package net.geedge.asw.module.app.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.geedge.asw.common.util.R;
|
||||
import net.geedge.asw.common.util.RCode;
|
||||
@@ -12,53 +13,63 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/package")
|
||||
@RequestMapping("/api/v1/{workspaceId}/package")
|
||||
public class PackageController {
|
||||
|
||||
@Autowired
|
||||
private IPackageService packageService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable("id") String id) {
|
||||
PackageEntity entity = packageService.getById(id);
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id) {
|
||||
PackageEntity entity = packageService.getOne(new LambdaQueryWrapper<PackageEntity>()
|
||||
.eq(PackageEntity::getId, id)
|
||||
.eq(PackageEntity::getWorkspaceId, workspaceId));
|
||||
return R.ok().putData("record", entity);
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
public R list(@PathVariable String workspaceId,
|
||||
@RequestParam Map<String, Object> params) {
|
||||
T.VerifyUtil.is(params).notNull()
|
||||
.and(T.MapUtil.getStr(params, "workspaceId")).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
params.put("workspaceId", workspaceId);
|
||||
Page page = packageService.queryList(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public R add(@RequestBody PackageEntity entity) {
|
||||
public R add(@PathVariable String workspaceId,
|
||||
@RequestBody PackageEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getName()).notEmpty(RCode.NAME_CANNOT_EMPTY)
|
||||
.and(entity.getDescription()).notEmpty(RCode.PACKAGE_DESCRIPTION_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
PackageEntity pkgEntity = packageService.savePackage(entity);
|
||||
return R.ok().putData("id", pkgEntity.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public R update(@RequestBody PackageEntity entity) {
|
||||
public R update(@PathVariable String workspaceId,
|
||||
@RequestBody PackageEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getId()).notEmpty(RCode.ID_CANNOT_EMPTY)
|
||||
.and(entity.getName()).notEmpty(RCode.NAME_CANNOT_EMPTY)
|
||||
.and(entity.getDescription()).notEmpty(RCode.PACKAGE_DESCRIPTION_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
PackageEntity pkgEntity = packageService.updatePackage(entity);
|
||||
return R.ok().putData("id", pkgEntity.getId());
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
public R delete(String[] ids) {
|
||||
public R delete(@PathVariable String workspaceId,
|
||||
String[] ids) {
|
||||
T.VerifyUtil.is(ids).notEmpty();
|
||||
packageService.removePackage(T.ListUtil.of(ids));
|
||||
packageService.removePackage(T.ListUtil.of(ids), workspaceId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@ public interface ApplicationDao extends BaseMapper<ApplicationEntity>{
|
||||
|
||||
List<ApplicationEntity> queryList(Page page, Map<String, Object> params);
|
||||
|
||||
@Select("select * from ( select * from application union select * from application_log ) app where app.id = #{id} and app.op_version = #{version}")
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version);
|
||||
@Select("select * from ( select * from application union select * from application_log ) app where app.id = #{id} and app.op_version = #{version} and app.workspace_id = #{workspaceId}")
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> queryLogList(String id);
|
||||
List<ApplicationEntity> queryLogList(String id, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> compare(@Param("params") Map<String, Object> params);
|
||||
|
||||
|
||||
@@ -17,15 +17,15 @@ public interface IApplicationService extends IService<ApplicationEntity>{
|
||||
|
||||
ApplicationEntity updateApplication(ApplicationEntity entity);
|
||||
|
||||
void removeApplication(List<String> ids);
|
||||
void removeApplication(List<String> ids, String workspaceId);
|
||||
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version);
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> compare(String id, String oldVersion, String newVersion);
|
||||
List<ApplicationEntity> compare(String id, String oldVersion, String newVersion, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> queryLogList(String id);
|
||||
List<ApplicationEntity> queryLogList(String id, String workspaceId);
|
||||
|
||||
void restore(String id, String version);
|
||||
void restore(String id, String version, String workspaceId);
|
||||
|
||||
void redirectDiscoverPage(String workspaceId, String pcapIds, HttpServletResponse response) throws IOException;
|
||||
|
||||
|
||||
@@ -15,5 +15,5 @@ public interface IPackageService extends IService<PackageEntity>{
|
||||
|
||||
PackageEntity updatePackage(PackageEntity entity);
|
||||
|
||||
void removePackage(List<String> ids);
|
||||
void removePackage(List<String> ids, String workspaceId);
|
||||
}
|
||||
|
||||
@@ -56,8 +56,8 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, Applicat
|
||||
private KibanaClient kibanaClient;
|
||||
|
||||
@Override
|
||||
public ApplicationEntity queryByApplicationAndLog(String id, String version) {
|
||||
ApplicationEntity entity = this.baseMapper.queryByApplicationAndLog(id, version);
|
||||
public ApplicationEntity queryByApplicationAndLog(String id, String version, String workspaceId) {
|
||||
ApplicationEntity entity = this.baseMapper.queryByApplicationAndLog(id, version, workspaceId);
|
||||
return entity;
|
||||
}
|
||||
|
||||
@@ -122,21 +122,25 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, Applicat
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeApplication(List<String> ids) {
|
||||
public void removeApplication(List<String> ids, String workspaceId) {
|
||||
// remove
|
||||
this.removeBatchByIds(ids);
|
||||
applicationLogService.removeBatchByIds(ids);
|
||||
this.remove(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.in(ApplicationEntity::getId, ids)
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
applicationLogService.remove(new LambdaQueryWrapper<ApplicationLogEntity>()
|
||||
.in(ApplicationLogEntity::getId, ids)
|
||||
.eq(ApplicationLogEntity::getWorkspaceId, workspaceId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApplicationEntity> queryLogList(String id) {
|
||||
List<ApplicationEntity> packageList = this.getBaseMapper().queryLogList(id);
|
||||
public List<ApplicationEntity> queryLogList(String id, String workspaceId) {
|
||||
List<ApplicationEntity> packageList = this.getBaseMapper().queryLogList(id, workspaceId);
|
||||
return packageList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApplicationEntity> compare(String id, String oldVersion, String newVersion) {
|
||||
Map<String, Object> params = Map.of("id", id, "versions", Arrays.asList(oldVersion, newVersion));
|
||||
public List<ApplicationEntity> compare(String id, String oldVersion, String newVersion, String workspaceId) {
|
||||
Map<String, Object> params = Map.of("id", id, "versions", Arrays.asList(oldVersion, newVersion),"workspaceId",workspaceId);
|
||||
List<ApplicationEntity> packageList = this.getBaseMapper().compare(params);
|
||||
return packageList;
|
||||
}
|
||||
@@ -144,13 +148,16 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, Applicat
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void restore(String id, String version) {
|
||||
public void restore(String id, String version, String workspaceId) {
|
||||
// save current to log
|
||||
ApplicationEntity curApplication = this.getById(id);
|
||||
ApplicationEntity curApplication = this.getOne(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.eq(ApplicationEntity::getId, id)
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
this.saveApplcationToLog(curApplication);
|
||||
// restore
|
||||
ApplicationLogEntity oldApplication = applicationLogService.getOne(new LambdaQueryWrapper<ApplicationLogEntity>()
|
||||
.eq(ApplicationLogEntity::getId, id)
|
||||
.eq(ApplicationLogEntity::getWorkspaceId, workspaceId)
|
||||
.eq(ApplicationLogEntity::getOpVersion, version));
|
||||
|
||||
oldApplication.setUpdateTimestamp(System.currentTimeMillis());
|
||||
|
||||
@@ -80,9 +80,11 @@ public class PackageServiceImpl extends ServiceImpl<PackageDao, PackageEntity> i
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removePackage(List<String> ids) {
|
||||
public void removePackage(List<String> ids, String workspaceId) {
|
||||
// remove
|
||||
this.removeBatchByIds(ids);
|
||||
this.remove(new LambdaQueryWrapper<PackageEntity>()
|
||||
.eq(PackageEntity::getWorkspaceId, workspaceId)
|
||||
.in(PackageEntity::getId, ids));
|
||||
// workbook resource
|
||||
workbookResourceService.removeResource(ids, WorkbookConstant.ResourceType.PACKAGE.getValue());
|
||||
}
|
||||
|
||||
@@ -13,33 +13,38 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/job")
|
||||
@RequestMapping("/api/v1/{workspaceId}/job")
|
||||
public class JobController {
|
||||
|
||||
@Autowired
|
||||
private IJobService jobService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable("id") String id) {
|
||||
JobEntity jobEntity = jobService.queryInfo(id);
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id) {
|
||||
JobEntity jobEntity = jobService.queryInfo(id, workspaceId);
|
||||
return R.ok().putData("record", jobEntity);
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
public R list(@PathVariable String workspaceId,
|
||||
@RequestParam Map<String, Object> params) {
|
||||
T.VerifyUtil.is(params).notNull()
|
||||
.and(T.MapUtil.getStr(params, "workspaceId")).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
params.put("workspaceId", workspaceId);
|
||||
Page page = jobService.queryList(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public R add(@RequestBody JobEntity entity) {
|
||||
public R add(@PathVariable String workspaceId,
|
||||
@RequestBody JobEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getRunnerId()).notEmpty(RCode.RUNNER_ID_CANNOT_EMPTY)
|
||||
.and(entity.getPackageId()).notEmpty(RCode.PACKAGE_ID_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
JobEntity jobEntity = jobService.saveJob(entity);
|
||||
return R.ok().putData("id", jobEntity.getId());
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/pcap")
|
||||
@RequestMapping("/api/v1/{workspaceId}/pcap")
|
||||
public class PcapController {
|
||||
|
||||
private static final Log log = Log.get();
|
||||
@@ -31,16 +31,19 @@ public class PcapController {
|
||||
private IPcapService pcapService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable("id") String id) {
|
||||
PcapEntity pcapEntity = pcapService.queryInfo(id);
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id) {
|
||||
PcapEntity pcapEntity = pcapService.queryInfo(id,workspaceId);
|
||||
return R.ok().putData("record", pcapEntity);
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
public R list(@PathVariable String workspaceId,
|
||||
@RequestParam Map<String, Object> params) {
|
||||
T.VerifyUtil.is(params).notNull()
|
||||
.and(T.MapUtil.getStr(params, "workspaceId")).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
params.put("workspaceId",workspaceId);
|
||||
Page page = pcapService.queryList(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.geedge.asw.module.runner.controller;
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import cn.hutool.core.lang.Opt;
|
||||
import cn.hutool.log.Log;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
@@ -23,7 +24,7 @@ import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/runner")
|
||||
@RequestMapping("/api/v1/{workspaceId}/runner")
|
||||
public class RunnerController {
|
||||
|
||||
private static final Log log = Log.get();
|
||||
@@ -35,35 +36,44 @@ public class RunnerController {
|
||||
private IRunnerService runnerService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable("id") String id) {
|
||||
RunnerEntity runnerEntity = runnerService.getById(id);
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id) {
|
||||
RunnerEntity runnerEntity = runnerService.getOne(new LambdaQueryWrapper<RunnerEntity>()
|
||||
.eq(RunnerEntity::getId, id)
|
||||
.eq(RunnerEntity::getWorkspaceId, workspaceId));
|
||||
return R.ok().putData("record", runnerEntity);
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
public R list(@PathVariable String workspaceId,
|
||||
@RequestParam Map<String, Object> params) {
|
||||
T.VerifyUtil.is(params).notNull()
|
||||
.and(T.MapUtil.getStr(params, "workspaceId")).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
params.put("workspaceId", workspaceId);
|
||||
Page page = runnerService.queryList(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public R add(@RequestBody RunnerEntity entity) {
|
||||
public R add(@PathVariable String workspaceId,
|
||||
@RequestBody RunnerEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
RunnerEntity runner = runnerService.saveRunner(entity);
|
||||
return R.ok().putData("record", runner);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public R update(@RequestBody RunnerEntity entity) {
|
||||
public R update(@PathVariable String workspaceId,
|
||||
@RequestBody RunnerEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getId()).notEmpty(RCode.ID_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
RunnerEntity runner = runnerService.updateRunner(entity);
|
||||
return R.ok().putData("record", runner);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Map;
|
||||
|
||||
public interface IJobService extends IService<JobEntity>{
|
||||
|
||||
JobEntity queryInfo(String id);
|
||||
JobEntity queryInfo(String id, String workspaceId);
|
||||
|
||||
Page queryList(Map<String, Object> params);
|
||||
|
||||
|
||||
@@ -5,11 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import net.geedge.asw.module.runner.entity.PcapEntity;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface IPcapService extends IService<PcapEntity>{
|
||||
|
||||
PcapEntity queryInfo(String id);
|
||||
PcapEntity queryInfo(String id, String workspaceId);
|
||||
|
||||
Page queryList(Map<String, Object> params);
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.geedge.asw.module.runner.service.impl;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.log.Log;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -67,21 +68,31 @@ public class JobServiceImpl extends ServiceImpl<JobDao, JobEntity> implements IJ
|
||||
}
|
||||
|
||||
@Override
|
||||
public JobEntity queryInfo(String id) {
|
||||
JobEntity job = this.getById(id);
|
||||
public JobEntity queryInfo(String id, String workspaceId) {
|
||||
JobEntity job = this.getOne(new LambdaQueryWrapper<JobEntity>()
|
||||
.eq(JobEntity::getId, id)
|
||||
.eq(JobEntity::getWorkspaceId, workspaceId));
|
||||
T.VerifyUtil.is(job).notNull(RCode.SYS_RECORD_NOT_FOUND);
|
||||
|
||||
RunnerEntity runner = runnerService.getById(job.getRunnerId());
|
||||
RunnerEntity runner = runnerService.getOne(new LambdaQueryWrapper<RunnerEntity>()
|
||||
.eq(RunnerEntity::getId, job.getRunnerId())
|
||||
.eq(RunnerEntity::getWorkspaceId, workspaceId));
|
||||
job.setRunner(runner);
|
||||
|
||||
PlaybookEntity playbook = playbookService.getById(job.getPlaybookId());
|
||||
PlaybookEntity playbook = playbookService.getOne(new LambdaQueryWrapper<PlaybookEntity>()
|
||||
.eq(PlaybookEntity::getId, job.getPlaybookId())
|
||||
.eq(PlaybookEntity::getWorkspaceId, workspaceId));
|
||||
job.setPlaybook(playbook);
|
||||
|
||||
PackageEntity pkg = packageService.getById(job.getPackageId());
|
||||
PackageEntity pkg = packageService.getOne(new LambdaQueryWrapper<PackageEntity>()
|
||||
.eq(PackageEntity::getId, job.getPackageId())
|
||||
.eq(PackageEntity::getWorkspaceId, workspaceId));
|
||||
job.setPkg(pkg);
|
||||
|
||||
if (T.ObjectUtil.isNotNull(playbook)) {
|
||||
ApplicationEntity application = applicationService.getById(playbook.getAppId());
|
||||
ApplicationEntity application = applicationService.getOne(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.eq(ApplicationEntity::getId, playbook.getAppId())
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
job.setApplication(application);
|
||||
}
|
||||
return job;
|
||||
@@ -106,9 +117,10 @@ public class JobServiceImpl extends ServiceImpl<JobDao, JobEntity> implements IJ
|
||||
// save
|
||||
this.save(entity);
|
||||
|
||||
if (T.StrUtil.isEmpty(entity.getWorkbookId())){
|
||||
// workbook resource
|
||||
workbookResourceService.saveResource(entity.getWorkbookId(), entity.getId(), WorkbookConstant.ResourceType.JOB.getValue());
|
||||
|
||||
}
|
||||
// trace log file path
|
||||
File traceLogFile = T.FileUtil.file(this.getJobResultPath(entity.getId()), "trace.log");
|
||||
this.update(new LambdaUpdateWrapper<JobEntity>()
|
||||
|
||||
@@ -70,8 +70,8 @@ public class PcapServiceImpl extends ServiceImpl<PcapDao, PcapEntity> implements
|
||||
private IWorkspaceService workspaceService;
|
||||
|
||||
@Override
|
||||
public PcapEntity queryInfo(String id) {
|
||||
PcapEntity pcap = this.getById(id);
|
||||
public PcapEntity queryInfo(String id, String workspaceId) {
|
||||
PcapEntity pcap = this.getOne(new LambdaQueryWrapper<PcapEntity>().eq(PcapEntity::getId, id).eq(PcapEntity::getWorkspaceId, workspaceId));
|
||||
T.VerifyUtil.is(pcap).notNull(RCode.SYS_RECORD_NOT_FOUND);
|
||||
|
||||
JobEntity job = jobService.getOne(new LambdaQueryWrapper<JobEntity>().eq(JobEntity::getPcapId, pcap.getId()));
|
||||
|
||||
@@ -76,6 +76,9 @@
|
||||
<if test="id != null and id != ''">
|
||||
AND app.id = #{id}
|
||||
</if>
|
||||
<if test="workspaceId != null and workspaceId != ''">
|
||||
AND app.workspace_id = #{workspaceId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY app.op_version DESC
|
||||
</select>
|
||||
@@ -101,6 +104,9 @@
|
||||
<if test="params.id != null and params.id != ''">
|
||||
AND app.id = #{params.id}
|
||||
</if>
|
||||
<if test="params.workspaceId != null and params.workspaceId != ''">
|
||||
AND app.workspace_id = #{params.workspaceId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user