包结构调整

This commit is contained in:
mxd 2022-01-15 00:46:54 +08:00
parent 4c12753247
commit edf8ae8ec4
175 changed files with 623 additions and 848 deletions

View File

@ -1,22 +0,0 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `magic_api_info` ADD COLUMN `api_group_prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组前缀' AFTER `api_group_name`;
ALTER TABLE `magic_api_info` ADD COLUMN `api_output` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输出结果' AFTER `api_group_prefix`;
-- ----------------------------
-- Table structure for magic_api_info_his
-- ----------------------------
CREATE TABLE `magic_api_info_his` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'api_id',
`api_method` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法',
`api_path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求路径',
`api_script` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口脚本',
`api_parameter` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口参数',
`api_option` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口选项',
`api_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口名称',
`api_group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口分组',
`api_group_prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组前缀',
`api_output` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输出结果',
`api_create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
`api_update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'MagicAPI接口历史记录' ROW_FORMAT = Dynamic;

View File

@ -1,29 +0,0 @@
-- 创建分组表
CREATE TABLE `magic_group` (
`id` varchar(32) NOT NULL,
`group_name` varchar(64) NULL COMMENT '组名',
`group_type` varchar(1) NULL COMMENT '组类型1接口分组2函数分组',
`group_path` varchar(64) NULL COMMENT '分组路径',
`parent_id` varchar(32) NULL COMMENT '父级ID',
`deleted` char(1) NULL DEFAULT 0 COMMENT '是否被删除10',
PRIMARY KEY (`id`)
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'MagicAPI分组信息表' ROW_FORMAT = Dynamic;
-- 插入分组数据
insert into magic_group select md5(uuid()),api_group_name,'1',api_group_prefix,'0','0' from magic_api_info group by api_group_name,api_group_prefix;
-- 修改字段
ALTER TABLE `magic_api_info` ADD COLUMN `api_group_id` varchar(32) NULL COMMENT '分组ID' AFTER `api_name`;
ALTER TABLE `magic_api_info` CHANGE COLUMN `api_output` `api_response_body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输出结果' AFTER `api_group_id`;
ALTER TABLE `magic_api_info` ADD COLUMN `api_description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口描述' AFTER `api_response_body`;
ALTER TABLE `magic_api_info` ADD COLUMN `api_request_body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求体' AFTER `api_group_id`, ADD COLUMN `api_request_header` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求Header' AFTER `api_request_body`;
ALTER TABLE `magic_api_info_his` ADD COLUMN `api_group_id` varchar(32) NULL COMMENT '分组ID' AFTER `api_name`;
ALTER TABLE `magic_api_info_his` CHANGE COLUMN `api_output` `api_response_body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输出结果' AFTER `api_group_id`;
ALTER TABLE `magic_api_info_his` ADD COLUMN `api_description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口描述' AFTER `api_response_body`;
ALTER TABLE `magic_api_info_his` ADD COLUMN `api_request_body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求体' AFTER `api_group_id`, ADD COLUMN `api_request_header` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求Header' AFTER `api_request_body`;
-- 赋值api_group_id字段
UPDATE magic_api_info mai JOIN magic_group mg ON mg.group_name = mai.api_group_name AND mg.group_path = mai.api_group_prefix SET mai.api_group_id = mg.id;
-- 对关联不上的,归根节点
UPDATE magic_api_info SET api_group_id = '0' where api_group_id IS NULL;
-- 删除字段
ALTER TABLE `magic_api_info` DROP COLUMN `api_group_name`,DROP COLUMN `api_group_prefix`;
ALTER TABLE `magic_api_info_his` DROP COLUMN `api_group_name`,DROP COLUMN `api_group_prefix`;

View File

@ -1,34 +0,0 @@
CREATE TABLE `magic_function`
(
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`function_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数名称',
`function_path` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数路径',
`function_parameter` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数列表',
`function_return_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回值类型',
`function_script` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '脚本',
`function_group_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属分组',
`function_description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数描述',
`function_create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
`function_update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = 'MagicAPI 函数表'
ROW_FORMAT = Dynamic;
CREATE TABLE `magic_function_his`
(
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'function_id',
`function_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数名称',
`function_path` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数路径',
`function_parameter` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数列表',
`function_return_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回值类型',
`function_script` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '脚本',
`function_group_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属分组',
`function_description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数描述',
`function_create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
`function_update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间'
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = 'MagicAPI 函数历史记录'
ROW_FORMAT = Dynamic;

View File

@ -1,49 +0,0 @@
import 'org.ssssssss.magicapi.adapter.Resource' as root;
import 'org.ssssssss.magicapi.provider.GroupServiceProvider';
import 'org.ssssssss.magicapi.provider.ApiServiceProvider';
import 'org.ssssssss.magicapi.provider.FunctionServiceProvider';
import 'org.ssssssss.magicapi.utils.IoUtils' as IoUtils
import 'org.ssssssss.magicapi.utils.JsonUtils' as JsonUtils
import 'java.io.File' as File;
var ds = db.camel(); //如果之前保存在其他库这里可以修改为db.xxx.camel();
var apiSql = """ select * from magic_api_info """;
var groupSql = """ select * from magic_group where deleted = '0' """;
var functionSql = """ select * from magic_function """;
// 替换key去除前缀将首字母小写。
var replaceKey = (it,src) => it.replaceKey(src,'').replaceKey(it => it.substring(0,1).toLowerCase() + it.substring(1));
// list转tree
var toTree = (list,parentId)=>list.filter(it => it.parentId == parentId).each(it => it.children = toTree(list,it.id))
// 查询分组列表
var groupList = ds.select(groupSql).map(it => replaceKey(it,"group"));
// 将接口分组转为tree
var apiTree = toTree(groupList.filter(it => it.type == '1'),'0');
// 将函数分组转为tree
var functionTree = toTree(groupList.filter(it => it.type == '2'),'0');
// 记录分组所在路径
var groups = {};
// 处理分组
var processGroup = (parent,list)=>{
if(!parent.exists()){
parent.mkdir();
}
list.each(it => {
var resource = parent.getResource(it.name);
resource.mkdir();
groups[it.id] = resource;
// 防止序列化children
var children = it.remove('children');
resource.getResource('group.json').write(JsonUtils.toJsonString(it))
if(children){
processGroup(resource,children);
}
});
}
// 处理接口分组
processGroup(root.getResource("api"),apiTree);
// 处理函数分组
processGroup(root.getResource("function"),functionTree);
// 处理接口
ds.select(apiSql).map(it => replaceKey(it,'api')).each(it => groups[it.groupId].getResource(it.name + '.ms').write(ApiServiceProvider.serialize(it)));
// 处理函数
ds.select(functionSql).map(it => replaceKey(it,'function')).each(it => groups[it.groupId].getResource(it.name + '.ms').write(FunctionServiceProvider.serialize(it)));
return 'ok';

View File

@ -75,5 +75,57 @@
<artifactId>spring-boot-configuration-processor</artifactId> <artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -36,29 +36,57 @@ import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistration; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistration;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
import org.ssssssss.magicapi.adapter.ColumnMapperAdapter; import org.ssssssss.magicapi.backup.service.MagicBackupService;
import org.ssssssss.magicapi.adapter.DialectAdapter; import org.ssssssss.magicapi.backup.service.MagicDatabaseBackupService;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.backup.web.MagicBackupController;
import org.ssssssss.magicapi.adapter.ResourceAdapter; import org.ssssssss.magicapi.core.handler.MagicCoordinationHandler;
import org.ssssssss.magicapi.adapter.resource.DatabaseResource; import org.ssssssss.magicapi.core.handler.MagicDebugHandler;
import org.ssssssss.magicapi.cache.DefaultSqlCache; import org.ssssssss.magicapi.core.handler.MagicWebSocketDispatcher;
import org.ssssssss.magicapi.cache.SqlCache; import org.ssssssss.magicapi.core.handler.MagicWorkbenchHandler;
import org.ssssssss.magicapi.config.*; import org.ssssssss.magicapi.core.interceptor.*;
import org.ssssssss.magicapi.controller.*; import org.ssssssss.magicapi.core.service.*;
import org.ssssssss.magicapi.dialect.Dialect; import org.ssssssss.magicapi.core.web.MagicResourceController;
import org.ssssssss.magicapi.exception.MagicAPIException; import org.ssssssss.magicapi.core.web.MagicWorkbenchController;
import org.ssssssss.magicapi.interceptor.*; import org.ssssssss.magicapi.core.web.RequestHandler;
import org.ssssssss.magicapi.logging.LoggerManager; import org.ssssssss.magicapi.datasource.model.MagicDynamicDataSource;
import org.ssssssss.magicapi.model.Constants; import org.ssssssss.magicapi.datasource.service.DataSourceEncryptProvider;
import org.ssssssss.magicapi.model.DataType; import org.ssssssss.magicapi.datasource.service.DataSourceInfoMagicResourceStorage;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.datasource.service.DataSourceMagicDynamicRegistry;
import org.ssssssss.magicapi.model.Options; import org.ssssssss.magicapi.datasource.web.MagicDataSourceController;
import org.ssssssss.magicapi.modules.*; import org.ssssssss.magicapi.jsr223.JSR223LanguageProvider;
import org.ssssssss.magicapi.provider.*; import org.ssssssss.magicapi.jsr223.LanguageProvider;
import org.ssssssss.magicapi.provider.impl.*; import org.ssssssss.magicapi.modules.db.ColumnMapperAdapter;
import org.ssssssss.magicapi.service.MagicDynamicRegistry; import org.ssssssss.magicapi.modules.db.dialect.DialectAdapter;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.service.impl.*; import org.ssssssss.magicapi.core.resource.ResourceAdapter;
import org.ssssssss.magicapi.core.resource.DatabaseResource;
import org.ssssssss.magicapi.function.service.FunctionInfoMagicResourceStorage;
import org.ssssssss.magicapi.function.service.FunctionMagicDynamicRegistry;
import org.ssssssss.magicapi.modules.db.inteceptor.DefaultSqlInterceptor;
import org.ssssssss.magicapi.modules.db.inteceptor.NamedTableInterceptor;
import org.ssssssss.magicapi.modules.db.inteceptor.SQLInterceptor;
import org.ssssssss.magicapi.modules.db.SQLModule;
import org.ssssssss.magicapi.modules.db.cache.DefaultSqlCache;
import org.ssssssss.magicapi.modules.db.cache.SqlCache;
import org.ssssssss.magicapi.core.config.*;
import org.ssssssss.magicapi.modules.db.dialect.Dialect;
import org.ssssssss.magicapi.core.exception.MagicAPIException;
import org.ssssssss.magicapi.core.logging.LoggerManager;
import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.core.model.DataType;
import org.ssssssss.magicapi.core.model.MagicEntity;
import org.ssssssss.magicapi.core.model.Options;
import org.ssssssss.magicapi.modules.db.provider.ColumnMapperProvider;
import org.ssssssss.magicapi.modules.db.provider.DefaultPageProvider;
import org.ssssssss.magicapi.modules.db.provider.PageProvider;
import org.ssssssss.magicapi.modules.http.HttpModule;
import org.ssssssss.magicapi.modules.servlet.RequestModule;
import org.ssssssss.magicapi.modules.servlet.ResponseModule;
import org.ssssssss.magicapi.modules.spring.EnvModule;
import org.ssssssss.magicapi.core.service.impl.*;
import org.ssssssss.magicapi.task.service.TaskInfoMagicResourceStorage;
import org.ssssssss.magicapi.task.service.TaskMagicDynamicRegistry;
import org.ssssssss.magicapi.task.web.MagicTaskController;
import org.ssssssss.magicapi.utils.ClassScanner; import org.ssssssss.magicapi.utils.ClassScanner;
import org.ssssssss.magicapi.utils.Mapping; import org.ssssssss.magicapi.utils.Mapping;
import org.ssssssss.script.MagicResourceLoader; import org.ssssssss.script.MagicResourceLoader;

View File

@ -3,7 +3,7 @@ package org.ssssssss.magicapi.spring.boot.starter;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty; import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.ssssssss.magicapi.controller.RequestHandler; import org.ssssssss.magicapi.core.web.RequestHandler;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;

View File

@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.ssssssss.magicapi.modules.ElasticSearchModule; import org.ssssssss.magicapi.modules.elasticsearch.ElasticSearchModule;
@Configuration @Configuration
@ConditionalOnMissingBean(ElasticSearchModule.class) @ConditionalOnMissingBean(ElasticSearchModule.class)

View File

@ -7,9 +7,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.ssssssss.magicapi.modules.MongoCollectionExtension; import org.ssssssss.magicapi.modules.mongo.MongoCollectionExtension;
import org.ssssssss.magicapi.modules.MongoFindIterableExtension; import org.ssssssss.magicapi.modules.mongo.MongoFindIterableExtension;
import org.ssssssss.magicapi.modules.MongoModule; import org.ssssssss.magicapi.modules.mongo.MongoModule;
import org.ssssssss.script.reflection.JavaReflection; import org.ssssssss.script.reflection.JavaReflection;
/** /**

View File

@ -13,13 +13,13 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.listener.ChannelTopic; import org.springframework.data.redis.listener.ChannelTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.adapter.resource.RedisResource; import org.ssssssss.magicapi.core.resource.RedisResource;
import org.ssssssss.magicapi.model.MagicNotify; import org.ssssssss.magicapi.core.model.MagicNotify;
import org.ssssssss.magicapi.modules.RedisModule; import org.ssssssss.magicapi.modules.redis.RedisModule;
import org.ssssssss.magicapi.provider.MagicAPIService; import org.ssssssss.magicapi.core.service.MagicAPIService;
import org.ssssssss.magicapi.provider.MagicNotifyService; import org.ssssssss.magicapi.core.service.MagicNotifyService;
import org.ssssssss.magicapi.service.MagicSynchronizationService; import org.ssssssss.magicapi.core.service.MagicSynchronizationService;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import java.util.Objects; import java.util.Objects;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.backup.model;
/** /**
* 备份记录 * 备份记录

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.provider; package org.ssssssss.magicapi.backup.service;
import org.ssssssss.magicapi.model.Backup; import org.ssssssss.magicapi.backup.model.Backup;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;

View File

@ -1,25 +1,22 @@
package org.ssssssss.magicapi.provider.impl; package org.ssssssss.magicapi.backup.service;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.ssssssss.magicapi.config.MagicConfiguration; import org.ssssssss.magicapi.core.config.MagicConfiguration;
import org.ssssssss.magicapi.event.FileEvent; import org.ssssssss.magicapi.core.event.FileEvent;
import org.ssssssss.magicapi.event.GroupEvent; import org.ssssssss.magicapi.core.event.GroupEvent;
import org.ssssssss.magicapi.model.Backup; import org.ssssssss.magicapi.backup.model.Backup;
import org.ssssssss.magicapi.model.Group; import org.ssssssss.magicapi.core.model.Group;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.MagicEntity;
import org.ssssssss.magicapi.provider.MagicBackupService;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import org.ssssssss.magicapi.utils.WebUtils; import org.ssssssss.magicapi.utils.WebUtils;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 数据库备份实现 * 数据库备份实现
@ -125,7 +122,7 @@ public class MagicDatabaseBackupService implements MagicBackupService {
} }
} }
@EventListener(condition = "#event.source != T(org.ssssssss.magicapi.model.Constants).EVENT_SOURCE_NOTIFY") @EventListener(condition = "#event.source != T(org.ssssssss.magicapi.core.config.Constants).EVENT_SOURCE_NOTIFY")
public void onFileEvent(FileEvent event) { public void onFileEvent(FileEvent event) {
switch (event.getAction()) { switch (event.getAction()) {
case SAVE: case SAVE:
@ -139,7 +136,7 @@ public class MagicDatabaseBackupService implements MagicBackupService {
doBackup(entity.getId(), JsonUtils.toJsonBytes(entity), entity.getName(), event.getType()); doBackup(entity.getId(), JsonUtils.toJsonBytes(entity), entity.getName(), event.getType());
} }
@EventListener(condition = "#event.source != T(org.ssssssss.magicapi.model.Constants).EVENT_SOURCE_NOTIFY") @EventListener(condition = "#event.source != T(org.ssssssss.magicapi.core.config.Constants).EVENT_SOURCE_NOTIFY")
public void onFolderEvent(GroupEvent event) { public void onFolderEvent(GroupEvent event) {
switch (event.getAction()) { switch (event.getAction()) {
case SAVE: case SAVE:

View File

@ -1,12 +1,16 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.backup.web;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.ssssssss.magicapi.config.MagicConfiguration; import org.ssssssss.magicapi.backup.model.Backup;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.provider.MagicBackupService; import org.ssssssss.magicapi.core.web.MagicController;
import org.ssssssss.magicapi.service.MagicDynamicRegistry; import org.ssssssss.magicapi.core.web.MagicExceptionHandler;
import org.ssssssss.magicapi.core.config.MagicConfiguration;
import org.ssssssss.magicapi.core.model.*;
import org.ssssssss.magicapi.backup.service.MagicBackupService;
import org.ssssssss.magicapi.core.service.MagicDynamicRegistry;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import org.ssssssss.magicapi.utils.WebUtils; import org.ssssssss.magicapi.utils.WebUtils;
@ -15,7 +19,7 @@ import java.io.IOException;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public class MagicBackupController extends MagicController implements MagicExceptionHandler{ public class MagicBackupController extends MagicController implements MagicExceptionHandler {
private final MagicBackupService service; private final MagicBackupService service;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.config;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;

View File

@ -1,7 +1,8 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.config;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.ssssssss.magicapi.exception.InvalidArgumentException; import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
import org.ssssssss.magicapi.core.model.JsonCode;
public interface JsonCodeConstants { public interface JsonCodeConstants {

View File

@ -1,17 +1,18 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.controller.RequestHandler; import org.ssssssss.magicapi.core.web.RequestHandler;
import org.ssssssss.magicapi.interceptor.AuthorizationInterceptor; import org.ssssssss.magicapi.core.model.MagicEntity;
import org.ssssssss.magicapi.interceptor.RequestInterceptor; import org.ssssssss.magicapi.core.service.MagicDynamicRegistry;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.service.MagicResourceService;
import org.ssssssss.magicapi.provider.MagicAPIService; import org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor;
import org.ssssssss.magicapi.provider.MagicBackupService; import org.ssssssss.magicapi.core.interceptor.RequestInterceptor;
import org.ssssssss.magicapi.provider.MagicNotifyService; import org.ssssssss.magicapi.core.service.MagicAPIService;
import org.ssssssss.magicapi.provider.ResultProvider; import org.ssssssss.magicapi.backup.service.MagicBackupService;
import org.ssssssss.magicapi.service.MagicDynamicRegistry; import org.ssssssss.magicapi.core.service.MagicNotifyService;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.core.interceptor.ResultProvider;
import org.ssssssss.magicapi.datasource.model.MagicDynamicDataSource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@ -1,8 +1,7 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.ssssssss.magicapi.model.Constants;
import javax.servlet.*; import javax.servlet.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
/** /**
* 函数主要用于脚本中直接可使用的函数 now(); * 函数主要用于脚本中直接可使用的函数 now();

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
import org.ssssssss.script.annotation.UnableCall; import org.ssssssss.script.annotation.UnableCall;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
/** /**
* 消息类型 * 消息类型

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
import org.ssssssss.magicapi.interceptor.Authorization; import org.ssssssss.magicapi.core.interceptor.Authorization;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@ -1,13 +1,13 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.config;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.TextMessage;
import org.ssssssss.magicapi.event.EventAction; import org.ssssssss.magicapi.core.event.EventAction;
import org.ssssssss.magicapi.model.MagicConsoleSession; import org.ssssssss.magicapi.core.context.MagicConsoleSession;
import org.ssssssss.magicapi.model.MagicNotify; import org.ssssssss.magicapi.core.model.MagicNotify;
import org.ssssssss.magicapi.model.Pair; import org.ssssssss.magicapi.core.model.Pair;
import org.ssssssss.magicapi.provider.MagicNotifyService; import org.ssssssss.magicapi.core.service.MagicNotifyService;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import org.ssssssss.script.MagicScriptDebugContext; import org.ssssssss.script.MagicScriptDebugContext;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.context; package org.ssssssss.magicapi.core.context;
import javax.servlet.http.Cookie; import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View File

@ -1,7 +1,8 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.context;
import org.springframework.web.socket.CloseStatus; import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.WebSocketSession;
import org.ssssssss.magicapi.core.config.Constants;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.interceptor; package org.ssssssss.magicapi.core.context;
/** /**
* magic 用户对象 * magic 用户对象

View File

@ -1,6 +1,4 @@
package org.ssssssss.magicapi.context; package org.ssssssss.magicapi.core.context;
import org.ssssssss.magicapi.model.RequestEntity;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;

View File

@ -1,5 +1,7 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.context;
import org.ssssssss.magicapi.core.model.ApiInfo;
import org.ssssssss.magicapi.core.model.DebugRequest;
import org.ssssssss.script.MagicScriptContext; import org.ssssssss.script.MagicScriptContext;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.context; package org.ssssssss.magicapi.core.context;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.util.HashMap; import java.util.HashMap;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.event; package org.ssssssss.magicapi.core.event;
public enum EventAction { public enum EventAction {

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.event; package org.ssssssss.magicapi.core.event;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.MagicEntity;
public class FileEvent extends MagicEvent { public class FileEvent extends MagicEvent {

View File

@ -1,7 +1,7 @@
package org.ssssssss.magicapi.event; package org.ssssssss.magicapi.core.event;
import org.ssssssss.magicapi.model.Group; import org.ssssssss.magicapi.core.model.Group;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.MagicEntity;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.event; package org.ssssssss.magicapi.core.event;
public class MagicEvent { public class MagicEvent {

View File

@ -1,7 +1,7 @@
package org.ssssssss.magicapi.event; package org.ssssssss.magicapi.core.event;
import org.ssssssss.magicapi.model.Constants; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.model.MagicNotify; import org.ssssssss.magicapi.core.model.MagicNotify;
public class NotifyEvent extends MagicEvent { public class NotifyEvent extends MagicEvent {

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.exception; package org.ssssssss.magicapi.core.exception;
import org.ssssssss.magicapi.model.JsonCode; import org.ssssssss.magicapi.core.model.JsonCode;
/** /**
* 参数错误异常 * 参数错误异常

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.exception; package org.ssssssss.magicapi.core.exception;
/** /**
* magic-api异常对象 * magic-api异常对象

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.exception; package org.ssssssss.magicapi.core.exception;
/** /**
* 登录异常对象 * 登录异常对象

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.exception; package org.ssssssss.magicapi.core.exception;
/** /**
* 资源未找到 * 资源未找到

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.exception; package org.ssssssss.magicapi.core.exception;
import org.ssssssss.magicapi.model.JsonCode; import org.ssssssss.magicapi.core.model.JsonCode;
/** /**
* 接口验证异常 * 接口验证异常

View File

@ -1,10 +1,10 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.handler;
import org.ssssssss.magicapi.config.Message; import org.ssssssss.magicapi.core.config.Message;
import org.ssssssss.magicapi.config.MessageType; import org.ssssssss.magicapi.core.config.MessageType;
import org.ssssssss.magicapi.config.WebSocketSessionManager; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.model.Constants; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.model.MagicConsoleSession; import org.ssssssss.magicapi.core.context.MagicConsoleSession;
public class MagicCoordinationHandler { public class MagicCoordinationHandler {

View File

@ -1,10 +1,10 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.handler;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.ssssssss.magicapi.config.Message; import org.ssssssss.magicapi.core.config.Message;
import org.ssssssss.magicapi.config.MessageType; import org.ssssssss.magicapi.core.config.MessageType;
import org.ssssssss.magicapi.config.WebSocketSessionManager; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.model.MagicConsoleSession; import org.ssssssss.magicapi.core.context.MagicConsoleSession;
import org.ssssssss.script.MagicScriptDebugContext; import org.ssssssss.script.MagicScriptDebugContext;
import java.util.Collections; import java.util.Collections;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.handler;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -6,24 +6,22 @@ import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler; import org.springframework.web.socket.handler.TextWebSocketHandler;
import org.ssssssss.magicapi.config.Message; import org.ssssssss.magicapi.core.config.Message;
import org.ssssssss.magicapi.config.MessageType; import org.ssssssss.magicapi.core.config.MessageType;
import org.ssssssss.magicapi.config.WebSocketSessionManager; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.event.EventAction; import org.ssssssss.magicapi.core.event.EventAction;
import org.ssssssss.magicapi.interceptor.MagicUser; import org.ssssssss.magicapi.core.context.MagicConsoleSession;
import org.ssssssss.magicapi.model.MagicConsoleSession; import org.ssssssss.magicapi.core.model.MagicNotify;
import org.ssssssss.magicapi.model.MagicNotify; import org.ssssssss.magicapi.core.service.MagicNotifyService;
import org.ssssssss.magicapi.provider.MagicNotifyService;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import org.ssssssss.script.reflection.MethodInvoker; import org.ssssssss.script.reflection.MethodInvoker;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Stream; import java.util.stream.Stream;
import static org.ssssssss.magicapi.model.Constants.EMPTY_OBJECT_ARRAY; import static org.ssssssss.magicapi.core.config.Constants.EMPTY_OBJECT_ARRAY;
/** /**
* WebSocket 分发器 * WebSocket 分发器

View File

@ -1,13 +1,13 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.handler;
import org.ssssssss.magicapi.config.Message; import org.ssssssss.magicapi.core.config.Message;
import org.ssssssss.magicapi.config.MessageType; import org.ssssssss.magicapi.core.config.MessageType;
import org.ssssssss.magicapi.config.WebSocketSessionManager; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.exception.MagicLoginException; import org.ssssssss.magicapi.core.exception.MagicLoginException;
import org.ssssssss.magicapi.interceptor.AuthorizationInterceptor; import org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor;
import org.ssssssss.magicapi.interceptor.MagicUser; import org.ssssssss.magicapi.core.context.MagicUser;
import org.ssssssss.magicapi.model.Constants; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.model.MagicConsoleSession; import org.ssssssss.magicapi.core.context.MagicConsoleSession;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.interceptor; package org.ssssssss.magicapi.core.interceptor;
/** /**
* 鉴权类型枚举 * 鉴权类型枚举

View File

@ -1,8 +1,9 @@
package org.ssssssss.magicapi.interceptor; package org.ssssssss.magicapi.core.interceptor;
import org.ssssssss.magicapi.exception.MagicLoginException; import org.ssssssss.magicapi.core.context.MagicUser;
import org.ssssssss.magicapi.model.Group; import org.ssssssss.magicapi.core.exception.MagicLoginException;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.Group;
import org.ssssssss.magicapi.core.model.MagicEntity;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View File

@ -1,6 +1,7 @@
package org.ssssssss.magicapi.interceptor; package org.ssssssss.magicapi.core.interceptor;
import org.ssssssss.magicapi.exception.MagicLoginException; import org.ssssssss.magicapi.core.context.MagicUser;
import org.ssssssss.magicapi.core.exception.MagicLoginException;
import org.ssssssss.magicapi.utils.MD5Utils; import org.ssssssss.magicapi.utils.MD5Utils;
import java.util.Objects; import java.util.Objects;

View File

@ -1,9 +1,8 @@
package org.ssssssss.magicapi.provider.impl; package org.ssssssss.magicapi.core.interceptor;
import org.ssssssss.magicapi.model.JsonBean; import org.ssssssss.magicapi.core.model.JsonBean;
import org.ssssssss.magicapi.model.RequestEntity; import org.ssssssss.magicapi.core.context.RequestEntity;
import org.ssssssss.magicapi.provider.ResultProvider; import org.ssssssss.magicapi.utils.ScriptManager;
import org.ssssssss.magicapi.script.ScriptManager;
import org.ssssssss.script.MagicScriptContext; import org.ssssssss.script.MagicScriptContext;
/** /**

View File

@ -1,11 +1,13 @@
package org.ssssssss.magicapi.config; package org.ssssssss.magicapi.core.interceptor;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import org.ssssssss.magicapi.controller.MagicController; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.exception.MagicLoginException; import org.ssssssss.magicapi.core.config.MagicCorsFilter;
import org.ssssssss.magicapi.interceptor.AuthorizationInterceptor; import org.ssssssss.magicapi.core.config.Valid;
import org.ssssssss.magicapi.model.Constants; import org.ssssssss.magicapi.core.web.MagicController;
import org.ssssssss.magicapi.core.exception.MagicLoginException;
import org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;

View File

@ -1,7 +1,7 @@
package org.ssssssss.magicapi.interceptor; package org.ssssssss.magicapi.core.interceptor;
import org.ssssssss.magicapi.model.ApiInfo; import org.ssssssss.magicapi.core.model.ApiInfo;
import org.ssssssss.magicapi.model.RequestEntity; import org.ssssssss.magicapi.core.context.RequestEntity;
import org.ssssssss.script.MagicScriptContext; import org.ssssssss.script.MagicScriptContext;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View File

@ -1,10 +1,10 @@
package org.ssssssss.magicapi.provider; package org.ssssssss.magicapi.core.interceptor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.ssssssss.magicapi.model.Page; import org.ssssssss.magicapi.modules.db.model.Page;
import org.ssssssss.magicapi.model.PageResult; import org.ssssssss.magicapi.modules.db.model.PageResult;
import org.ssssssss.magicapi.model.RequestEntity; import org.ssssssss.magicapi.core.context.RequestEntity;
import org.ssssssss.script.exception.MagicScriptAssertException; import org.ssssssss.script.exception.MagicScriptAssertException;
import org.ssssssss.script.exception.MagicScriptException; import org.ssssssss.script.exception.MagicScriptException;
import org.ssssssss.script.functions.ObjectConvertExtension; import org.ssssssss.script.functions.ObjectConvertExtension;
@ -14,7 +14,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import static org.ssssssss.magicapi.model.Constants.*; import static org.ssssssss.magicapi.core.config.Constants.*;
/** /**
* 结果构建接口 * 结果构建接口

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.logging; package org.ssssssss.magicapi.core.logging;
import ch.qos.logback.classic.ClassicConstants; import ch.qos.logback.classic.ClassicConstants;
import ch.qos.logback.core.CoreConstants; import ch.qos.logback.core.CoreConstants;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.logging; package org.ssssssss.magicapi.core.logging;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.Filter; import org.apache.logging.log4j.core.Filter;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.logging; package org.ssssssss.magicapi.core.logging;
import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.LogManager; import org.apache.log4j.LogManager;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.logging; package org.ssssssss.magicapi.core.logging;
import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.ILoggingEvent;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.logging; package org.ssssssss.magicapi.core.logging;
import org.slf4j.ILoggerFactory; import org.slf4j.ILoggerFactory;
import org.slf4j.Logger; import org.slf4j.Logger;

View File

@ -1,9 +1,6 @@
package org.ssssssss.magicapi.logging; package org.ssssssss.magicapi.core.logging;
import org.ssssssss.magicapi.config.MessageType; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.config.WebSocketSessionManager;
import java.util.Collections;
/** /**
* 日志上下文 * 日志上下文

View File

@ -1,8 +1,7 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode; import org.ssssssss.magicapi.core.config.MagicConfiguration;
import org.ssssssss.magicapi.config.MagicConfiguration;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import java.util.*; import java.util.*;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import org.ssssssss.script.annotation.UnableCall; import org.ssssssss.script.annotation.UnableCall;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Objects; import java.util.Objects;

View File

@ -1,7 +1,7 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.DateUtils;
import org.ssssssss.magicapi.modules.RequestModule; import org.ssssssss.magicapi.modules.servlet.RequestModule;
import org.ssssssss.script.reflection.JavaInvoker; import org.ssssssss.script.reflection.JavaInvoker;
import java.lang.reflect.Method; import java.lang.reflect.Method;

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import org.ssssssss.magicapi.config.WebSocketSessionManager; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import org.ssssssss.script.MagicScriptDebugContext; import org.ssssssss.script.MagicScriptDebugContext;
import org.ssssssss.script.functions.ObjectConvertExtension; import org.ssssssss.script.functions.ObjectConvertExtension;
@ -12,8 +12,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.ssssssss.magicapi.config.MessageType.BREAKPOINT; import static org.ssssssss.magicapi.core.config.MessageType.BREAKPOINT;
import static org.ssssssss.magicapi.model.Constants.*; import static org.ssssssss.magicapi.core.config.Constants.*;
public class DebugRequest { public class DebugRequest {

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* Header参数信息 * Header参数信息

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* 统一返回值对象 * 统一返回值对象

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* 统一返回值对象带body * 统一返回值对象带body

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* Json状态码信息 * Json状态码信息

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import java.util.Objects; import java.util.Objects;

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import org.ssssssss.magicapi.event.EventAction; import org.ssssssss.magicapi.core.event.EventAction;
/** /**
* 消息通知对象 * 消息通知对象

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
public class Option extends BaseDefinition { public class Option extends BaseDefinition {

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* 接口选项信息 * 接口选项信息

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import java.util.Objects; import java.util.Objects;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* 参数信息 * 参数信息

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* 路径变量信息 * 路径变量信息

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
public class PathMagicEntity extends MagicEntity { public class PathMagicEntity extends MagicEntity {

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
/** /**
* 选择的资源 * 选择的资源

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.model; package org.ssssssss.magicapi.core.model;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@ -1,10 +1,9 @@
package org.ssssssss.magicapi.adapter.resource; package org.ssssssss.magicapi.core.resource;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.jdbc.support.rowset.SqlRowSet;
import org.ssssssss.magicapi.adapter.Resource;
import org.ssssssss.magicapi.utils.Assert; import org.ssssssss.magicapi.utils.Assert;
import org.ssssssss.magicapi.utils.IoUtils; import org.ssssssss.magicapi.utils.IoUtils;

View File

@ -1,6 +1,5 @@
package org.ssssssss.magicapi.adapter.resource; package org.ssssssss.magicapi.core.resource;
import org.ssssssss.magicapi.adapter.Resource;
import org.ssssssss.magicapi.utils.IoUtils; import org.ssssssss.magicapi.utils.IoUtils;
import java.io.File; import java.io.File;

View File

@ -1,7 +1,5 @@
package org.ssssssss.magicapi.adapter.resource; package org.ssssssss.magicapi.core.resource;
import org.ssssssss.magicapi.adapter.Resource;
import org.ssssssss.magicapi.adapter.ResourceAdapter;
import org.ssssssss.magicapi.utils.IoUtils; import org.ssssssss.magicapi.utils.IoUtils;
import org.ssssssss.magicapi.utils.PathUtils; import org.ssssssss.magicapi.utils.PathUtils;

View File

@ -1,6 +1,4 @@
package org.ssssssss.magicapi.adapter.resource; package org.ssssssss.magicapi.core.resource;
import org.ssssssss.magicapi.adapter.Resource;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.adapter.resource; package org.ssssssss.magicapi.core.resource;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -6,7 +6,6 @@ import org.springframework.data.redis.core.Cursor;
import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.ScanOptions; import org.springframework.data.redis.core.ScanOptions;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.ssssssss.magicapi.adapter.Resource;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.adapter; package org.ssssssss.magicapi.core.resource;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;

View File

@ -1,9 +1,7 @@
package org.ssssssss.magicapi.adapter; package org.ssssssss.magicapi.core.resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.util.ResourceUtils; import org.springframework.util.ResourceUtils;
import org.ssssssss.magicapi.adapter.resource.FileResource;
import org.ssssssss.magicapi.adapter.resource.JarResource;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;

View File

@ -1,13 +1,15 @@
package org.ssssssss.magicapi.adapter.resource; package org.ssssssss.magicapi.core.resource;
import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.ssssssss.magicapi.adapter.Resource;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.*; import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**

View File

@ -1,13 +1,12 @@
package org.ssssssss.magicapi.service; package org.ssssssss.magicapi.core.service;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.ssssssss.magicapi.event.EventAction; import org.ssssssss.magicapi.core.event.EventAction;
import org.ssssssss.magicapi.event.FileEvent; import org.ssssssss.magicapi.core.event.FileEvent;
import org.ssssssss.magicapi.event.GroupEvent; import org.ssssssss.magicapi.core.event.GroupEvent;
import org.ssssssss.magicapi.event.MagicEvent; import org.ssssssss.magicapi.core.event.MagicEvent;
import org.ssssssss.magicapi.exception.MagicAPIException; import org.ssssssss.magicapi.core.exception.MagicAPIException;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.MagicEntity;
import org.ssssssss.magicapi.provider.MagicResourceStorage;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
@ -57,7 +56,7 @@ public abstract class AbstractMagicDynamicRegistry<T extends MagicEntity> implem
return false; return false;
} }
@EventListener(condition = "#event.action == T(org.ssssssss.magicapi.event.EventAction).CLEAR") @EventListener(condition = "#event.action == T(org.ssssssss.magicapi.core.event.EventAction).CLEAR")
public void clear(MagicEvent event) { public void clear(MagicEvent event) {
Iterator<Map.Entry<String, MappingNode<T>>> iterator = mappings.entrySet().iterator(); Iterator<Map.Entry<String, MappingNode<T>>> iterator = mappings.entrySet().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {

View File

@ -1,9 +1,7 @@
package org.ssssssss.magicapi.service.impl; package org.ssssssss.magicapi.core.service;
import org.ssssssss.magicapi.model.JsonCodeConstants; import org.ssssssss.magicapi.core.config.JsonCodeConstants;
import org.ssssssss.magicapi.model.PathMagicEntity; import org.ssssssss.magicapi.core.model.PathMagicEntity;
import org.ssssssss.magicapi.provider.MagicResourceStorage;
import org.ssssssss.magicapi.service.MagicResourceService;
import org.ssssssss.magicapi.utils.PathUtils; import org.ssssssss.magicapi.utils.PathUtils;
import java.util.Objects; import java.util.Objects;

View File

@ -1,7 +1,7 @@
package org.ssssssss.magicapi.provider; package org.ssssssss.magicapi.core.service;
import org.ssssssss.magicapi.config.MagicModule; import org.ssssssss.magicapi.core.config.MagicModule;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.model.*;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;

View File

@ -1,9 +1,6 @@
package org.ssssssss.magicapi.service; package org.ssssssss.magicapi.core.service;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.MagicEntity;
import org.ssssssss.magicapi.provider.MagicResourceStorage;
import java.util.List;
public interface MagicDynamicRegistry<T extends MagicEntity> { public interface MagicDynamicRegistry<T extends MagicEntity> {

View File

@ -1,6 +1,6 @@
package org.ssssssss.magicapi.provider; package org.ssssssss.magicapi.core.service;
import org.ssssssss.magicapi.model.MagicNotify; import org.ssssssss.magicapi.core.model.MagicNotify;
/** /**
* 接口通知发送处理接口 * 接口通知发送处理接口

View File

@ -1,7 +1,7 @@
package org.ssssssss.magicapi.service; package org.ssssssss.magicapi.core.service;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.model.*;
import org.ssssssss.magicapi.utils.PathUtils; import org.ssssssss.magicapi.utils.PathUtils;
import java.io.IOException; import java.io.IOException;

View File

@ -1,8 +1,8 @@
package org.ssssssss.magicapi.provider; package org.ssssssss.magicapi.core.service;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.model.MagicEntity; import org.ssssssss.magicapi.core.model.MagicEntity;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.core.service.MagicResourceService;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;

View File

@ -1,12 +1,9 @@
package org.ssssssss.magicapi.service; package org.ssssssss.magicapi.core.service;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.ssssssss.magicapi.event.FileEvent; import org.ssssssss.magicapi.core.event.*;
import org.ssssssss.magicapi.event.GroupEvent; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.event.MagicEvent; import org.ssssssss.magicapi.core.model.MagicNotify;
import org.ssssssss.magicapi.model.Constants;
import org.ssssssss.magicapi.model.MagicNotify;
import org.ssssssss.magicapi.provider.MagicNotifyService;
public class MagicSynchronizationService { public class MagicSynchronizationService {
@ -22,7 +19,7 @@ public class MagicSynchronizationService {
this.instanceId = instanceId; this.instanceId = instanceId;
} }
@EventListener(condition = "#event.source != T(org.ssssssss.magicapi.model.Constants).EVENT_SOURCE_NOTIFY") @EventListener(condition = "#event.source != T(org.ssssssss.magicapi.core.config.Constants).EVENT_SOURCE_NOTIFY")
public void onFolderEvent(GroupEvent event) { public void onFolderEvent(GroupEvent event) {
switch (event.getAction()) { switch (event.getAction()) {
case CREATE: case CREATE:
@ -34,7 +31,7 @@ public class MagicSynchronizationService {
} }
} }
@EventListener(condition = "#event.source != T(org.ssssssss.magicapi.model.Constants).EVENT_SOURCE_NOTIFY") @EventListener(condition = "#event.source != T(org.ssssssss.magicapi.core.config.Constants).EVENT_SOURCE_NOTIFY")
public void onFileEvent(FileEvent event) { public void onFileEvent(FileEvent event) {
if (Constants.EVENT_SOURCE_NOTIFY.equals(event.getSource())) { if (Constants.EVENT_SOURCE_NOTIFY.equals(event.getSource())) {
return; return;
@ -49,7 +46,7 @@ public class MagicSynchronizationService {
} }
} }
@EventListener(condition = "#event.action == T(org.ssssssss.magicapi.event.EventAction).CLEAR && #event.source != T(org.ssssssss.magicapi.model.Constants).EVENT_SOURCE_NOTIFY") @EventListener(condition = "#event.action == T(org.ssssssss.magicapi.core.event.EventAction).CLEAR && #event.source != T(org.ssssssss.magicapi.core.config.Constants).EVENT_SOURCE_NOTIFY")
public void onClearEvent(MagicEvent event){ public void onClearEvent(MagicEvent event){
magicNotifyService.sendNotify(new MagicNotify(instanceId, null, event.getAction(), null)); magicNotifyService.sendNotify(new MagicNotify(instanceId, null, event.getAction(), null));
} }

View File

@ -1,6 +1,7 @@
package org.ssssssss.magicapi.service.impl; package org.ssssssss.magicapi.core.service.impl;
import org.ssssssss.magicapi.model.ApiInfo; import org.ssssssss.magicapi.core.model.ApiInfo;
import org.ssssssss.magicapi.core.service.AbstractPathMagicResourceStorage;
public class ApiInfoMagicResourceStorage extends AbstractPathMagicResourceStorage<ApiInfo> { public class ApiInfoMagicResourceStorage extends AbstractPathMagicResourceStorage<ApiInfo> {

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.provider.impl; package org.ssssssss.magicapi.core.service.impl;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -10,19 +10,22 @@ import org.springframework.http.MediaType;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.ssssssss.magicapi.config.WebSocketSessionManager; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.controller.MagicWebSocketDispatcher; import org.ssssssss.magicapi.core.config.JsonCodeConstants;
import org.ssssssss.magicapi.event.EventAction; import org.ssssssss.magicapi.core.config.WebSocketSessionManager;
import org.ssssssss.magicapi.event.MagicEvent; import org.ssssssss.magicapi.core.context.RequestEntity;
import org.ssssssss.magicapi.exception.MagicAPIException; import org.ssssssss.magicapi.core.handler.MagicWebSocketDispatcher;
import org.ssssssss.magicapi.exception.MagicResourceNotFoundException; import org.ssssssss.magicapi.core.model.*;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.event.EventAction;
import org.ssssssss.magicapi.provider.MagicAPIService; import org.ssssssss.magicapi.core.event.MagicEvent;
import org.ssssssss.magicapi.provider.ResultProvider; import org.ssssssss.magicapi.core.exception.MagicAPIException;
import org.ssssssss.magicapi.script.ScriptManager; import org.ssssssss.magicapi.core.exception.MagicResourceNotFoundException;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.function.model.FunctionInfo;
import org.ssssssss.magicapi.service.impl.FunctionMagicDynamicRegistry; import org.ssssssss.magicapi.core.service.MagicAPIService;
import org.ssssssss.magicapi.service.impl.RequestMagicDynamicRegistry; import org.ssssssss.magicapi.core.interceptor.ResultProvider;
import org.ssssssss.magicapi.utils.ScriptManager;
import org.ssssssss.magicapi.core.service.MagicResourceService;
import org.ssssssss.magicapi.function.service.FunctionMagicDynamicRegistry;
import org.ssssssss.magicapi.utils.PathUtils; import org.ssssssss.magicapi.utils.PathUtils;
import org.ssssssss.magicapi.utils.SignUtils; import org.ssssssss.magicapi.utils.SignUtils;
import org.ssssssss.script.MagicScriptContext; import org.ssssssss.script.MagicScriptContext;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.service.impl; package org.ssssssss.magicapi.core.service.impl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -6,16 +6,19 @@ import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationStartedEvent; import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.adapter.resource.ZipResource; import org.ssssssss.magicapi.core.config.JsonCodeConstants;
import org.ssssssss.magicapi.event.EventAction; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.event.FileEvent; import org.ssssssss.magicapi.core.resource.ZipResource;
import org.ssssssss.magicapi.event.GroupEvent; import org.ssssssss.magicapi.core.event.EventAction;
import org.ssssssss.magicapi.event.MagicEvent; import org.ssssssss.magicapi.core.event.FileEvent;
import org.ssssssss.magicapi.exception.InvalidArgumentException; import org.ssssssss.magicapi.core.event.GroupEvent;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.event.MagicEvent;
import org.ssssssss.magicapi.provider.MagicResourceStorage; import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.core.model.*;
import org.ssssssss.magicapi.core.service.AbstractPathMagicResourceStorage;
import org.ssssssss.magicapi.core.service.MagicResourceService;
import org.ssssssss.magicapi.core.service.MagicResourceStorage;
import org.ssssssss.magicapi.utils.IoUtils; import org.ssssssss.magicapi.utils.IoUtils;
import org.ssssssss.magicapi.utils.JsonUtils; import org.ssssssss.magicapi.utils.JsonUtils;
import org.ssssssss.magicapi.utils.WebUtils; import org.ssssssss.magicapi.utils.WebUtils;

View File

@ -1,4 +1,4 @@
package org.ssssssss.magicapi.service.impl; package org.ssssssss.magicapi.core.service.impl;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -6,16 +6,16 @@ import org.springframework.context.event.EventListener;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.HandlerMapping; import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.ssssssss.magicapi.config.MagicConfiguration; import org.ssssssss.magicapi.core.web.RequestHandler;
import org.ssssssss.magicapi.controller.RequestHandler; import org.ssssssss.magicapi.core.config.MagicConfiguration;
import org.ssssssss.magicapi.event.FileEvent; import org.ssssssss.magicapi.core.event.FileEvent;
import org.ssssssss.magicapi.event.GroupEvent; import org.ssssssss.magicapi.core.event.GroupEvent;
import org.ssssssss.magicapi.exception.InvalidArgumentException; import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
import org.ssssssss.magicapi.model.ApiInfo; import org.ssssssss.magicapi.core.model.ApiInfo;
import org.ssssssss.magicapi.provider.MagicResourceStorage; import org.ssssssss.magicapi.core.service.AbstractMagicDynamicRegistry;
import org.ssssssss.magicapi.script.ScriptManager; import org.ssssssss.magicapi.core.service.MagicResourceStorage;
import org.ssssssss.magicapi.service.AbstractMagicDynamicRegistry;
import org.ssssssss.magicapi.utils.Mapping; import org.ssssssss.magicapi.utils.Mapping;
import org.ssssssss.magicapi.utils.ScriptManager;
import org.ssssssss.script.MagicResourceLoader; import org.ssssssss.script.MagicResourceLoader;
import org.ssssssss.script.MagicScriptContext; import org.ssssssss.script.MagicScriptContext;
import org.ssssssss.script.exception.MagicExitException; import org.ssssssss.script.exception.MagicExitException;
@ -29,7 +29,7 @@ import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import static org.ssssssss.magicapi.model.JsonCodeConstants.REQUEST_PATH_CONFLICT; import static org.ssssssss.magicapi.core.config.JsonCodeConstants.REQUEST_PATH_CONFLICT;
public class RequestMagicDynamicRegistry extends AbstractMagicDynamicRegistry<ApiInfo> { public class RequestMagicDynamicRegistry extends AbstractMagicDynamicRegistry<ApiInfo> {

View File

@ -1,17 +1,19 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.web;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.ssssssss.magicapi.config.MagicConfiguration; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.config.Valid; import org.ssssssss.magicapi.core.config.JsonCodeConstants;
import org.ssssssss.magicapi.exception.InvalidArgumentException; import org.ssssssss.magicapi.core.config.MagicConfiguration;
import org.ssssssss.magicapi.exception.MagicLoginException; import org.ssssssss.magicapi.core.config.Valid;
import org.ssssssss.magicapi.interceptor.Authorization; import org.ssssssss.magicapi.core.model.*;
import org.ssssssss.magicapi.interceptor.MagicUser; import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.exception.MagicLoginException;
import org.ssssssss.magicapi.provider.MagicAPIService; import org.ssssssss.magicapi.core.interceptor.Authorization;
import org.ssssssss.magicapi.provider.MagicBackupService; import org.ssssssss.magicapi.core.context.MagicUser;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.core.service.MagicAPIService;
import org.ssssssss.magicapi.backup.service.MagicBackupService;
import org.ssssssss.magicapi.core.service.MagicResourceService;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
@ -27,9 +29,9 @@ public class MagicController implements JsonCodeConstants {
final MagicAPIService magicAPIService; final MagicAPIService magicAPIService;
final MagicBackupService magicBackupService; final MagicBackupService magicBackupService;
MagicConfiguration configuration; protected MagicConfiguration configuration;
MagicController(MagicConfiguration configuration) { public MagicController(MagicConfiguration configuration) {
this.configuration = configuration; this.configuration = configuration;
this.magicAPIService = configuration.getMagicAPIService(); this.magicAPIService = configuration.getMagicAPIService();
this.magicBackupService = configuration.getMagicBackupService(); this.magicBackupService = configuration.getMagicBackupService();

View File

@ -1,11 +1,11 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.web;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.ssssssss.magicapi.exception.InvalidArgumentException; import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
import org.ssssssss.magicapi.model.JsonBean; import org.ssssssss.magicapi.core.model.JsonBean;
/** /**
* magic-api接口异常处理器 * magic-api接口异常处理器

View File

@ -1,18 +1,18 @@
package org.ssssssss.magicapi.controller; package org.ssssssss.magicapi.core.web;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.ssssssss.magicapi.adapter.Resource; import org.ssssssss.magicapi.core.config.Constants;
import org.ssssssss.magicapi.adapter.resource.FileResource; import org.ssssssss.magicapi.core.resource.Resource;
import org.ssssssss.magicapi.config.MagicConfiguration; import org.ssssssss.magicapi.core.resource.FileResource;
import org.ssssssss.magicapi.exception.InvalidArgumentException; import org.ssssssss.magicapi.core.config.MagicConfiguration;
import org.ssssssss.magicapi.interceptor.Authorization; import org.ssssssss.magicapi.core.model.*;
import org.ssssssss.magicapi.model.*; import org.ssssssss.magicapi.core.exception.InvalidArgumentException;
import org.ssssssss.magicapi.service.MagicDynamicRegistry; import org.ssssssss.magicapi.core.interceptor.Authorization;
import org.ssssssss.magicapi.service.MagicResourceService; import org.ssssssss.magicapi.core.service.MagicDynamicRegistry;
import org.ssssssss.magicapi.core.service.MagicResourceService;
import org.ssssssss.magicapi.utils.IoUtils; import org.ssssssss.magicapi.utils.IoUtils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

Some files were not shown because too many files have changed in this diff Show More