feat: ASW-7 新增 Package 相关接口

This commit is contained in:
shizhendong
2024-07-12 14:27:31 +08:00
parent 9e5709d1f1
commit 5a4c15b00a
36 changed files with 700 additions and 96 deletions

View File

@@ -135,30 +135,26 @@ CREATE TABLE `sys_file_content` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
* 新增 job
* 新增 runner
*/
DROP TABLE IF EXISTS `job`;
CREATE TABLE `job` (
DROP TABLE IF EXISTS `runner`;
CREATE TABLE `runner` (
`id` varchar(64) NOT NULL COMMENT '主键',
`playbook_id` varchar(64) NOT NULL COMMENT 'Playbook ID',
`package_id` varchar(64) NOT NULL COMMENT 'Package ID',
`runner_id` varchar(64) NOT NULL COMMENT 'Runner ID',
`schedule_id` varchar(64) NOT NULL COMMENT '定时器ID',
`signature_ids` text NOT NULL COMMENT '特征ID,多个逗号分隔',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签; 默认:"";多个用逗号分隔;例kz,vpn,android',
`start_timestamp` bigint(20) NOT NULL COMMENT '开始时间戳',
`end_timestamp` bigint(20) NOT NULL COMMENT '结束时间戳',
`status` varchar(64) NOT NULL COMMENT '状态; 可选值: created,pending,running,passed,failed,cancel',
`pcap_id` varchar(64) NOT NULL COMMENT 'PCAP ID',
`log_path` varchar(256) NOT NULL COMMENT '日志文件路径',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '名称',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签,多个逗号分隔',
`support_platforms` varchar(256) NOT NULL DEFAULT '' COMMENT '支持的平台; 可选值android,ios,windows; 多个逗号分隔; 例android,ios',
`share_flag` int(1) NOT NULL DEFAULT 1 COMMENT '共享标识; 1共享 0不共享仅创建人可用',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`status` varchar(64) NOT NULL DEFAULT 'online' COMMENT '状态可选值online,offline',
`last_heartbeat_timestamp` bigint(20) NOT NULL DEFAULT (UNIX_TIMESTAMP(NOW()) * 1000) COMMENT '最后心跳时间戳',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_playbook_id` (`playbook_id`) USING BTREE,
KEY `idx_package_id` (`package_id`) USING BTREE,
KEY `idx_runner_id` (`runner_id`) USING BTREE
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
@@ -167,19 +163,50 @@ CREATE TABLE `job` (
DROP TABLE IF EXISTS `playbook`;
CREATE TABLE `playbook` (
`id` varchar(64) NOT NULL COMMENT '主键',
`name` varchar(256) NOT NULL COMMENT '名称',
`app_id` varchar(64) NOT NULL COMMENT '应用程序 ID',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '名称',
`app_id` varchar(64) NOT NULL DEFAULT '' COMMENT '应用程序 ID',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签',
`script` text NOT NULL COMMENT '脚本内容',
`op_version` bigint(20) NOT NULL COMMENT '更新版本号, 默认1;每次更新递增',
`script` text NOT NULL DEFAULT '' COMMENT '脚本内容',
`op_version` bigint(20) NOT NULL DEFAULT 1 COMMENT '更新版本号, 默认1;每次更新递增',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_app_id` (`app_id`) USING BTREE,
KEY `idx_op_version` (`op_version`) USING BTREE
KEY `idx_op_version` (`op_version`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
* 新增 job 表
*/
DROP TABLE IF EXISTS `job`;
CREATE TABLE `job` (
`id` varchar(64) NOT NULL COMMENT '主键',
`playbook_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'Playbook ID',
`package_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'Package ID',
`runner_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'Runner ID',
`schedule_id` varchar(64) NOT NULL DEFAULT '' COMMENT '定时器ID',
`signature_ids` text NOT NULL DEFAULT '' COMMENT '特征ID,多个逗号分隔',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签; 默认:"";多个用逗号分隔;例kz,vpn,android',
`start_timestamp` bigint(20) NOT NULL DEFAULT (UNIX_TIMESTAMP(NOW()) * 1000) COMMENT '开始时间戳',
`end_timestamp` bigint(20) NOT NULL DEFAULT (UNIX_TIMESTAMP(NOW()) * 1000) COMMENT '结束时间戳',
`status` varchar(64) NOT NULL DEFAULT '' COMMENT '状态; 可选值: created,pending,running,passed,failed,cancel',
`pcap_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'PCAP ID',
`log_path` varchar(256) NOT NULL DEFAULT '' COMMENT '日志文件路径',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_playbook_id` (`playbook_id`) USING BTREE,
KEY `idx_package_id` (`package_id`) USING BTREE,
KEY `idx_runner_id` (`runner_id`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
@@ -188,13 +215,42 @@ CREATE TABLE `playbook` (
DROP TABLE IF EXISTS `pcap`;
CREATE TABLE `pcap` (
`id` varchar(64) NOT NULL COMMENT '主键',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '文件名称',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签',
`description` text NOT NULL COMMENT '描述信息',
`path` varchar(64) NOT NULL COMMENT 'PCAP文件路径',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`path` varchar(64) NOT NULL DEFAULT '' COMMENT 'PCAP文件路径',
`size` bigint(20) NOT NULL DEFAULT 0 COMMENT '文件大小',
`connections` bigint(20) NOT NULL DEFAULT 0 COMMENT '连接数量',
`hosts` bigint(20) NOT NULL DEFAULT 0 COMMENT 'IP数量',
`md5` varchar(64) NOT NULL DEFAULT '' COMMENT '摘要值,根据文件md5值判断是否已上存在存在则响应当前id',
`connection_time_first` bigint(20) NOT NULL DEFAULT (UNIX_TIMESTAMP(NOW()) * 1000) COMMENT '连接开始时间',
`connection_time_last` bigint(20) NOT NULL DEFAULT (UNIX_TIMESTAMP(NOW()) * 1000) COMMENT '连接结束时间',
`protocols` varchar(64) NOT NULL DEFAULT '' COMMENT '包含的协议,多个逗号分隔',
`status` varchar(64) NOT NULL DEFAULT '' COMMENT '状态,可选值 UploadedAnalyzingCompleted',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tags` (`tags`) USING BTREE
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_md5` (`md5`) USING BTREE,
KEY `idx_tags` (`tags`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
* 新增 decode_record 表
*/
DROP TABLE IF EXISTS `decode_record`;
CREATE TABLE `decode_record` (
`id` varchar(64) NOT NULL COMMENT '主键',
`pcap_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'PCAP文件ID',
`stream_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '流ID',
`stream_attributes` text NOT NULL DEFAULT '' COMMENT '流属性',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_pcap_id` (`pcap_id`) USING BTREE,
KEY `idx_stream_id` (`stream_id`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
@@ -204,18 +260,20 @@ CREATE TABLE `pcap` (
DROP TABLE IF EXISTS `application`;
CREATE TABLE `application` (
`id` varchar(64) NOT NULL COMMENT '主键',
`name` varchar(256) NOT NULL COMMENT '应用名称',
`long_name` varchar(256) NOT NULL COMMENT '应用全称',
`properties` text NOT NULL COMMENT '应用数据',
`description` text NOT NULL COMMENT '描述信息',
`surrogates` text NOT NULL COMMENT '',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '应用名称',
`long_name` varchar(256) NOT NULL DEFAULT '' COMMENT '应用全称',
`properties` text NOT NULL DEFAULT '' COMMENT '应用数据',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`surrogates` text NOT NULL DEFAULT '' COMMENT '',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_long_name` (`long_name`) USING BTREE
KEY `idx_long_name` (`long_name`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
@@ -224,57 +282,67 @@ CREATE TABLE `application` (
DROP TABLE IF EXISTS `package`;
CREATE TABLE `package` (
`id` varchar(64) NOT NULL COMMENT '主键',
`logo` varchar(512) NOT NULL COMMENT '图标,图标文件 url 地址',
`description` text NOT NULL COMMENT '描述信息',
`platform` varchar(256) NOT NULL COMMENT '操作系统; 可选值android,ios,windows,linux',
`version` varchar(256) NOT NULL COMMENT '安装包版本',
`identifier` varchar(256) NOT NULL COMMENT '唯一标识;androidpackage name,iosbundle id',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '名称',
`logo` varchar(512) NOT NULL DEFAULT '' COMMENT '图标,图标文件 url 地址',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`platform` varchar(256) NOT NULL DEFAULT '' COMMENT '操作系统; 可选值android,ios,windows,linux',
`version` varchar(256) NOT NULL DEFAULT '' COMMENT '安装包版本',
`identifier` varchar(256) NOT NULL DEFAULT '' COMMENT '唯一标识;androidpackage name,iosbundle id',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_version` (`version`) USING BTREE
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_version` (`version`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
* 新增 runner
* 新增 signature
*/
DROP TABLE IF EXISTS `runner`;
CREATE TABLE `runner` (
DROP TABLE IF EXISTS `signature`;
CREATE TABLE `signature` (
`id` varchar(64) NOT NULL COMMENT '主键',
`name` varchar(256) NOT NULL COMMENT '名称',
`app_id` varchar(64) NOT NULL DEFAULT '' COMMENT '应用ID',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '名称',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签,多个逗号分隔',
`support_platforms` varchar(256) NOT NULL COMMENT '支持的平台; 可选值android,ios,windows; 多个逗号分隔; 例android,ios',
`share_flag` int(1) NOT NULL COMMENT '共享标识; 1共享 0共享,仅创建人可用',
`description` text NOT NULL COMMENT '描述信息',
`status` varchar(64) NOT NULL COMMENT '状态可选值online,offline',
`last_heartbeat_timestamp` bigint(20) NOT NULL COMMENT '最后心跳时间戳',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`display_flag` int(1) NOT NULL DEFAULT 1 COMMENT '是否显示; 1显示 0显示',
`conditions` text NOT NULL DEFAULT '' COMMENT '条件',
`op_version` bigint(20) NOT NULL DEFAULT 1 COMMENT '更新版本号, 默认1;每次更新递增',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_name` (`name`) USING BTREE
KEY `idx_app_id` (`app_id`) USING BTREE,
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_op_version` (`op_version`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
* 新增 workbookworkbook_memberworkbook_resource 表
*/
DROP TABLE IF EXISTS `workbook`;
CREATE TABLE `workbook` (
`id` varchar(64) NOT NULL COMMENT '主键',
`name` varchar(256) NOT NULL COMMENT '名称',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '名称',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签,多个逗号分隔',
`visibility` varchar(16) NOT NULL DEFAULT 'private' COMMENT '可见程度,可选值privatepublic 默认private',
`description` text NOT NULL COMMENT '描述信息',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
`workspace_id` varchar(64) NOT NULL DEFAULT '' COMMENT '工作空间ID',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_name` (`name`) USING BTREE
KEY `idx_name` (`name`) USING BTREE,
KEY `idx_workspace_id` (`workspace_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DROP TABLE IF EXISTS `workbook_member`;
@@ -294,3 +362,34 @@ CREATE TABLE `workbook_resource` (
`resource_id` varchar(64) NOT NULL COMMENT '资源id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/**
* 新增 workspace, workspace_member 表
*/
DROP TABLE IF EXISTS `workspace`;
CREATE TABLE `workspace` (
`id` varchar(64) NOT NULL COMMENT '主键',
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '名称',
`tags` varchar(256) NOT NULL DEFAULT '' COMMENT '标签,多个逗号分隔',
`visibility` varchar(16) NOT NULL DEFAULT 'private' COMMENT '可见程度,可选值privatepublic 默认private',
`description` text NOT NULL DEFAULT '' COMMENT '描述信息',
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`update_timestamp` bigint(20) NOT NULL COMMENT '更新时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
`update_user_id` varchar(64) NOT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_name` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DROP TABLE IF EXISTS `workspace_member`;
CREATE TABLE `workspace_member` (
`workspace_id` varchar(64) NOT NULL,
`user_id` varchar(64) NOT NULL,
`role_id` varchar(64) NOT NULL,
`create_timestamp` bigint(20) NOT NULL COMMENT '创建时间戳',
`create_user_id` varchar(64) NOT NULL COMMENT '创建人',
KEY `idx_workspace_id` (`workspace_id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_role_id` (`role_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;